{
 "kind": "discovery#restDescription",
 "etag": "\"l66ggWbucbkBw9Lpos72oziyefE/1ieQeQF1YXKs9Dj9dy0V3Fc-il4\"",
 "discoveryVersion": "v1",
 "id": "sqladmin:v1beta1",
 "name": "sqladmin",
 "canonicalName": "SQL Admin",
 "version": "v1beta1",
 "revision": "20141020",
 "title": "Cloud SQL Administration API",
 "description": "API for Cloud SQL database instance management.",
 "ownerDomain": "google.com",
 "ownerName": "Google",
 "icons": {
  "x16": "http://www.google.com/images/icons/product/search-16.gif",
  "x32": "http://www.google.com/images/icons/product/search-32.gif"
 },
 "documentationLink": "https://developers.google.com/cloud-sql/docs/admin-api/",
 "protocol": "rest",
 "baseUrl": "https://www.googleapis.com/sql/v1beta1/",
 "basePath": "/sql/v1beta1/",
 "rootUrl": "https://www.googleapis.com/",
 "servicePath": "sql/v1beta1/",
 "batchPath": "batch",
 "parameters": {
  "alt": {
   "type": "string",
   "description": "Data format for the response.",
   "default": "json",
   "enum": [
    "json"
   ],
   "enumDescriptions": [
    "Responses with Content-Type of application/json"
   ],
   "location": "query"
  },
  "fields": {
   "type": "string",
   "description": "Selector specifying which fields to include in a partial response.",
   "location": "query"
  },
  "key": {
   "type": "string",
   "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
   "location": "query"
  },
  "oauth_token": {
   "type": "string",
   "description": "OAuth 2.0 token for the current user.",
   "location": "query"
  },
  "prettyPrint": {
   "type": "boolean",
   "description": "Returns response with indentations and line breaks.",
   "default": "true",
   "location": "query"
  },
  "quotaUser": {
   "type": "string",
   "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. Overrides userIp if both are provided.",
   "location": "query"
  },
  "userIp": {
   "type": "string",
   "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
   "location": "query"
  }
 },
 "auth": {
  "oauth2": {
   "scopes": {
    "https://www.googleapis.com/auth/cloud-platform": {
     "description": "View and manage your data across Google Cloud Platform services"
    },
    "https://www.googleapis.com/auth/sqlservice.admin": {
     "description": "Manage your Google SQL Service instances"
    }
   }
  }
 },
 "schemas": {
  "BackupConfiguration": {
   "id": "BackupConfiguration",
   "type": "object",
   "description": "Database instance backup configuration.",
   "properties": {
    "enabled": {
     "type": "boolean",
     "description": "Whether this configuration is enabled."
    },
    "id": {
     "type": "string",
     "description": "Identifier for this configuration. This gets generated automatically when a backup configuration is created."
    },
    "kind": {
     "type": "string",
     "description": "This is always sql#backupConfiguration.",
     "default": "sql#backupConfiguration"
    },
    "startTime": {
     "type": "string",
     "description": "Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM."
    }
   }
  },
  "BackupRun": {
   "id": "BackupRun",
   "type": "object",
   "description": "A database instance backup run resource.",
   "properties": {
    "backupConfiguration": {
     "type": "string",
     "description": "Backup Configuration identifier."
    },
    "dueTime": {
     "type": "string",
     "description": "The due time of this run in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.",
     "format": "date-time"
    },
    "endTime": {
     "type": "string",
     "description": "The time the backup operation completed in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.",
     "format": "date-time"
    },
    "enqueuedTime": {
     "type": "string",
     "description": "The time the run was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.",
     "format": "date-time"
    },
    "error": {
     "$ref": "OperationError",
     "description": "Information about why the backup operation failed. This is only present if the run has the FAILED status."
    },
    "instance": {
     "type": "string",
     "description": "Name of the database instance."
    },
    "kind": {
     "type": "string",
     "description": "This is always sql#backupRun.",
     "default": "sql#backupRun"
    },
    "startTime": {
     "type": "string",
     "description": "The time the backup operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.",
     "format": "date-time"
    },
    "status": {
     "type": "string",
     "description": "The status of this run."
    }
   }
  },
  "BackupRunsListResponse": {
   "id": "BackupRunsListResponse",
   "type": "object",
   "description": "Backup run list results.",
   "properties": {
    "items": {
     "type": "array",
     "description": "A list of backup runs in reverse chronological order of the enqueued time.",
     "items": {
      "$ref": "BackupRun"
     }
    },
    "kind": {
     "type": "string",
     "description": "This is always sql#backupRunsList.",
     "default": "sql#backupRunsList"
    },
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results."
    }
   }
  },
  "DatabaseInstance": {
   "id": "DatabaseInstance",
   "type": "object",
   "description": "A Cloud SQL instance resource.",
   "properties": {
    "currentDiskSize": {
     "type": "string",
     "description": "The current disk usage of the instance in bytes.",
     "format": "int64"
    },
    "databaseVersion": {
     "type": "string",
     "description": "The database engine type and version, for example MYSQL_5_5 for MySQL 5.5."
    },
    "etag": {
     "type": "string",
     "description": "Etag for this resource - a version number for the settings object in this resource. This field has no effect when passed as a request parameter. Instead, the contents of this field should be passed in an 'If-Match' http header for use in optimistic locking.",
     "annotations": {
      "required": [
       "sql.instances.update"
      ]
     }
    },
    "instance": {
     "type": "string",
     "description": "Name of the Cloud SQL instance. This does not include the project ID.",
     "annotations": {
      "required": [
       "sql.instances.insert",
       "sql.instances.update"
      ]
     }
    },
    "kind": {
     "type": "string",
     "description": "This is always sql#instance.",
     "default": "sql#instance"
    },
    "maxDiskSize": {
     "type": "string",
     "description": "The maximum disk size of the instance in bytes.",
     "format": "int64"
    },
    "project": {
     "type": "string",
     "description": "The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.",
     "annotations": {
      "required": [
       "sql.instances.insert",
       "sql.instances.update"
      ]
     }
    },
    "region": {
     "type": "string",
     "description": "The geographical region. Can be us-east1, us-central or europe-west1. Defaults to us-central. The region can not be changed after instance creation."
    },
    "settings": {
     "$ref": "Settings",
     "description": "The user settings."
    },
    "state": {
     "type": "string",
     "description": "The current serving state of the Cloud SQL instance. This can be one of the following.\nRUNNABLE: The instance is running, or is ready to run when accessed.\nSUSPENDED: The instance is not available, for example due to problems with billing.\nPENDING_CREATE: The instance is being created.\nMAINTENANCE: The instance is down for maintenance.\nUNKNOWN_STATE: The state of the instance is unknown."
    }
   }
  },
  "ExportContext": {
   "id": "ExportContext",
   "type": "object",
   "description": "Database instance export context.",
   "properties": {
    "database": {
     "type": "array",
     "description": "Databases (for example, guestbook) from which the export is made. If unspecified, all databases are exported.",
     "items": {
      "type": "string"
     }
    },
    "kind": {
     "type": "string",
     "description": "This is always sql#exportContext.",
     "default": "sql#exportContext"
    },
    "table": {
     "type": "array",
     "description": "Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.",
     "items": {
      "type": "string"
     }
    },
    "uri": {
     "type": "string",
     "description": "The path to the file in Google Cloud Storage where the export will be stored, or where it was already stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If the filename ends with .gz, the contents are compressed."
    }
   }
  },
  "ImportContext": {
   "id": "ImportContext",
   "type": "object",
   "description": "Database instance import context.",
   "properties": {
    "database": {
     "type": "string",
     "description": "The database (for example, guestbook) to which the import is made. If not set, it is assumed that the database is specified in the file to be imported."
    },
    "kind": {
     "type": "string",
     "description": "This is always sql#importContext.",
     "default": "sql#importContext"
    },
    "uri": {
     "type": "array",
     "description": "A path to the MySQL dump file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "InstanceOperation": {
   "id": "InstanceOperation",
   "type": "object",
   "description": "An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly.",
   "properties": {
    "endTime": {
     "type": "string",
     "description": "The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.",
     "format": "date-time"
    },
    "enqueuedTime": {
     "type": "string",
     "description": "The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.",
     "format": "date-time"
    },
    "error": {
     "type": "array",
     "description": "The error(s) encountered by this operation. Only set if the operation results in an error.",
     "items": {
      "$ref": "OperationError"
     }
    },
    "exportContext": {
     "$ref": "ExportContext",
     "description": "The context for export operation, if applicable."
    },
    "importContext": {
     "$ref": "ImportContext",
     "description": "The context for import operation, if applicable."
    },
    "instance": {
     "type": "string",
     "description": "Name of the database instance."
    },
    "kind": {
     "type": "string",
     "description": "This is always sql#instanceOperation.",
     "default": "sql#instanceOperation"
    },
    "operation": {
     "type": "string",
     "description": "An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation."
    },
    "operationType": {
     "type": "string",
     "description": "The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME."
    },
    "startTime": {
     "type": "string",
     "description": "The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.",
     "format": "date-time"
    },
    "state": {
     "type": "string",
     "description": "The state of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN."
    },
    "userEmailAddress": {
     "type": "string",
     "description": "The email address of the user who initiated this operation."
    }
   }
  },
  "InstancesDeleteResponse": {
   "id": "InstancesDeleteResponse",
   "type": "object",
   "description": "Database instance delete response.",
   "properties": {
    "kind": {
     "type": "string",
     "description": "This is always sql#instancesDelete.",
     "default": "sql#instancesDelete"
    },
    "operation": {
     "type": "string",
     "description": "An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation."
    }
   }
  },
  "InstancesExportRequest": {
   "id": "InstancesExportRequest",
   "type": "object",
   "description": "Database instance export request.",
   "properties": {
    "exportContext": {
     "$ref": "ExportContext",
     "description": "Contains details about the export operation."
    }
   }
  },
  "InstancesExportResponse": {
   "id": "InstancesExportResponse",
   "type": "object",
   "description": "Database instance export response.",
   "properties": {
    "kind": {
     "type": "string",
     "description": "This is always sql#instancesExport.",
     "default": "sql#instancesExport"
    },
    "operation": {
     "type": "string",
     "description": "An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation."
    }
   }
  },
  "InstancesImportRequest": {
   "id": "InstancesImportRequest",
   "type": "object",
   "description": "Database instance import request.",
   "properties": {
    "importContext": {
     "$ref": "ImportContext",
     "description": "Contains details about the import operation."
    }
   }
  },
  "InstancesImportResponse": {
   "id": "InstancesImportResponse",
   "type": "object",
   "description": "Database instance import response.",
   "properties": {
    "kind": {
     "type": "string",
     "description": "This is always sql#instancesImport.",
     "default": "sql#instancesImport"
    },
    "operation": {
     "type": "string",
     "description": "An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation."
    }
   }
  },
  "InstancesInsertResponse": {
   "id": "InstancesInsertResponse",
   "type": "object",
   "description": "Database instance insert response.",
   "properties": {
    "kind": {
     "type": "string",
     "description": "This is always sql#instancesInsert.",
     "default": "sql#instancesInsert"
    },
    "operation": {
     "type": "string",
     "description": "An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation."
    }
   }
  },
  "InstancesListResponse": {
   "id": "InstancesListResponse",
   "type": "object",
   "description": "Database instances list response.",
   "properties": {
    "items": {
     "type": "array",
     "description": "List of database instance resources.",
     "items": {
      "$ref": "DatabaseInstance"
     }
    },
    "kind": {
     "type": "string",
     "description": "This is always sql#instancesList.",
     "default": "sql#instancesList"
    },
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results."
    }
   }
  },
  "InstancesRestartResponse": {
   "id": "InstancesRestartResponse",
   "type": "object",
   "description": "Database instance restart response.",
   "properties": {
    "kind": {
     "type": "string",
     "description": "This is always sql#instancesRestart.",
     "default": "sql#instancesRestart"
    },
    "operation": {
     "type": "string",
     "description": "An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation."
    }
   }
  },
  "InstancesRestoreBackupResponse": {
   "id": "InstancesRestoreBackupResponse",
   "type": "object",
   "description": "Database instance restore backup response.",
   "properties": {
    "kind": {
     "type": "string",
     "description": "This is always sql#instancesRestoreBackup.",
     "default": "sql#instancesRestoreBackup"
    },
    "operation": {
     "type": "string",
     "description": "An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation."
    }
   }
  },
  "InstancesUpdateResponse": {
   "id": "InstancesUpdateResponse",
   "type": "object",
   "description": "Database instance update response.",
   "properties": {
    "kind": {
     "type": "string",
     "description": "This is always sql#instancesUpdate.",
     "default": "sql#instancesUpdate"
    },
    "operation": {
     "type": "string",
     "description": "An identifier that uniquely identifies the operation. You can use this identifier to retrieve information about the operation."
    }
   }
  },
  "OperationError": {
   "id": "OperationError",
   "type": "object",
   "description": "Database instance operation error.",
   "properties": {
    "code": {
     "type": "string",
     "description": "Identifies the specific error that occurred."
    },
    "kind": {
     "type": "string",
     "description": "This is always sql#operationError.",
     "default": "sql#operationError"
    }
   }
  },
  "OperationsListResponse": {
   "id": "OperationsListResponse",
   "type": "object",
   "description": "Database instance list operations response.",
   "properties": {
    "items": {
     "type": "array",
     "description": "List of operation resources.",
     "items": {
      "$ref": "InstanceOperation"
     }
    },
    "kind": {
     "type": "string",
     "description": "This is always sql#operationsList.",
     "default": "sql#operationsList"
    },
    "nextPageToken": {
     "type": "string",
     "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results."
    }
   }
  },
  "Settings": {
   "id": "Settings",
   "type": "object",
   "description": "Database instance settings.",
   "properties": {
    "activationPolicy": {
     "type": "string",
     "description": "The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following.\nALWAYS: The instance should always be active.\nNEVER: The instance should never be activated.\nON_DEMAND: The instance is activated upon receiving requests."
    },
    "authorizedGaeApplications": {
     "type": "array",
     "description": "The AppEngine app ids that can access this instance.",
     "items": {
      "type": "string"
     }
    },
    "backupConfiguration": {
     "type": "array",
     "description": "The daily backup configuration for the instance.",
     "items": {
      "$ref": "BackupConfiguration"
     }
    },
    "kind": {
     "type": "string",
     "description": "This is always sql#settings.",
     "default": "sql#settings"
    },
    "pricingPlan": {
     "type": "string",
     "description": "The pricing plan for this instance. This can be either PER_USE or PACKAGE."
    },
    "replicationType": {
     "type": "string",
     "description": "The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS."
    },
    "tier": {
     "type": "string",
     "description": "The tier of service for this instance, for example D1, D2. For more information, see pricing.",
     "annotations": {
      "required": [
       "sql.instances.insert",
       "sql.instances.update"
      ]
     }
    }
   }
  },
  "Tier": {
   "id": "Tier",
   "type": "object",
   "description": "A Google Cloud SQL service tier resource.",
   "properties": {
    "DiskQuota": {
     "type": "string",
     "description": "The maximum disk size of this tier in bytes.",
     "format": "int64"
    },
    "RAM": {
     "type": "string",
     "description": "The maximum RAM usage of this tier in bytes.",
     "format": "int64"
    },
    "kind": {
     "type": "string",
     "description": "This is always sql#tier.",
     "default": "sql#tier"
    },
    "region": {
     "type": "array",
     "description": "The applicable regions for this tier. Can be us-east1 and europe-west1.",
     "items": {
      "type": "string"
     }
    },
    "tier": {
     "type": "string",
     "description": "An identifier for the service tier, for example D1, D2 etc. For related information, see Pricing."
    }
   }
  },
  "TiersListResponse": {
   "id": "TiersListResponse",
   "type": "object",
   "description": "Tiers list response.",
   "properties": {
    "items": {
     "type": "array",
     "description": "List of tiers.",
     "items": {
      "$ref": "Tier"
     }
    },
    "kind": {
     "type": "string",
     "description": "This is always sql#tiersList.",
     "default": "sql#tiersList"
    }
   }
  }
 },
 "resources": {
  "backupRuns": {
   "methods": {
    "get": {
     "id": "sql.backupRuns.get",
     "path": "projects/{project}/instances/{instance}/backupRuns/{backupConfiguration}",
     "httpMethod": "GET",
     "description": "Retrieves a resource containing information about a backup run.",
     "parameters": {
      "backupConfiguration": {
       "type": "string",
       "description": "Identifier for the backup configuration. This gets generated automatically when a backup configuration is created.",
       "required": true,
       "location": "path"
      },
      "dueTime": {
       "type": "string",
       "description": "The start time of the four-hour backup window. The backup can occur any time in the window. The time is in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.",
       "required": true,
       "location": "query"
      },
      "instance": {
       "type": "string",
       "description": "Cloud SQL instance ID. This does not include the project ID.",
       "required": true,
       "location": "path"
      },
      "project": {
       "type": "string",
       "description": "Project ID of the project that contains the instance.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "project",
      "instance",
      "backupConfiguration",
      "dueTime"
     ],
     "response": {
      "$ref": "BackupRun"
     },
     "scopes": [
      "https://www.googleapis.com/auth/sqlservice.admin"
     ]
    },
    "list": {
     "id": "sql.backupRuns.list",
     "path": "projects/{project}/instances/{instance}/backupRuns",
     "httpMethod": "GET",
     "description": "Lists all backup runs associated with a given instance and configuration in the reverse chronological order of the enqueued time.",
     "parameters": {
      "backupConfiguration": {
       "type": "string",
       "description": "Identifier for the backup configuration. This gets generated automatically when a backup configuration is created.",
       "required": true,
       "location": "query"
      },
      "instance": {
       "type": "string",
       "description": "Cloud SQL instance ID. This does not include the project ID.",
       "required": true,
       "location": "path"
      },
      "maxResults": {
       "type": "integer",
       "description": "Maximum number of backup runs per response.",
       "format": "int32",
       "location": "query"
      },
      "pageToken": {
       "type": "string",
       "description": "A previously-returned page token representing part of the larger set of results to view.",
       "location": "query"
      },
      "project": {
       "type": "string",
       "description": "Project ID of the project that contains the instance.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "project",
      "instance",
      "backupConfiguration"
     ],
     "response": {
      "$ref": "BackupRunsListResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/sqlservice.admin"
     ]
    }
   }
  },
  "instances": {
   "methods": {
    "delete": {
     "id": "sql.instances.delete",
     "path": "projects/{project}/instances/{instance}",
     "httpMethod": "DELETE",
     "description": "Deletes a Cloud SQL instance.",
     "parameters": {
      "instance": {
       "type": "string",
       "description": "Cloud SQL instance ID. This does not include the project ID.",
       "required": true,
       "location": "path"
      },
      "project": {
       "type": "string",
       "description": "Project ID of the project that contains the instance to be deleted.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "project",
      "instance"
     ],
     "response": {
      "$ref": "InstancesDeleteResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/sqlservice.admin"
     ]
    },
    "export": {
     "id": "sql.instances.export",
     "path": "projects/{project}/instances/{instance}/export",
     "httpMethod": "POST",
     "description": "Exports data from a Cloud SQL instance to a Google Cloud Storage bucket as a MySQL dump file.",
     "parameters": {
      "instance": {
       "type": "string",
       "description": "Cloud SQL instance ID. This does not include the project ID.",
       "required": true,
       "location": "path"
      },
      "project": {
       "type": "string",
       "description": "Project ID of the project that contains the instance to be exported.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "project",
      "instance"
     ],
     "request": {
      "$ref": "InstancesExportRequest"
     },
     "response": {
      "$ref": "InstancesExportResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform"
     ]
    },
    "get": {
     "id": "sql.instances.get",
     "path": "projects/{project}/instances/{instance}",
     "httpMethod": "GET",
     "description": "Retrieves a resource containing information about a Cloud SQL instance.",
     "parameters": {
      "instance": {
       "type": "string",
       "description": "Cloud SQL instance ID. This does not include the project ID.",
       "required": true,
       "location": "path"
      },
      "project": {
       "type": "string",
       "description": "Project ID of the project that contains the instance.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "project",
      "instance"
     ],
     "response": {
      "$ref": "DatabaseInstance"
     },
     "scopes": [
      "https://www.googleapis.com/auth/sqlservice.admin"
     ]
    },
    "import": {
     "id": "sql.instances.import",
     "path": "projects/{project}/instances/{instance}/import",
     "httpMethod": "POST",
     "description": "Imports data into a Cloud SQL instance from a MySQL dump file in Google Cloud Storage.",
     "parameters": {
      "instance": {
       "type": "string",
       "description": "Cloud SQL instance ID. This does not include the project ID.",
       "required": true,
       "location": "path"
      },
      "project": {
       "type": "string",
       "description": "Project ID of the project that contains the instance.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "project",
      "instance"
     ],
     "request": {
      "$ref": "InstancesImportRequest"
     },
     "response": {
      "$ref": "InstancesImportResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/cloud-platform"
     ]
    },
    "insert": {
     "id": "sql.instances.insert",
     "path": "projects/{project}/instances",
     "httpMethod": "POST",
     "description": "Creates a new Cloud SQL instance.",
     "parameters": {
      "project": {
       "type": "string",
       "description": "Project ID of the project to which the newly created Cloud SQL instances should belong.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "project"
     ],
     "request": {
      "$ref": "DatabaseInstance"
     },
     "response": {
      "$ref": "InstancesInsertResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/sqlservice.admin"
     ]
    },
    "list": {
     "id": "sql.instances.list",
     "path": "projects/{project}/instances",
     "httpMethod": "GET",
     "description": "Lists instances under a given project in the alphabetical order of the instance name.",
     "parameters": {
      "maxResults": {
       "type": "integer",
       "description": "The maximum number of results to return per response.",
       "format": "uint32",
       "location": "query"
      },
      "pageToken": {
       "type": "string",
       "description": "A previously-returned page token representing part of the larger set of results to view.",
       "location": "query"
      },
      "project": {
       "type": "string",
       "description": "Project ID of the project for which to list Cloud SQL instances.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "project"
     ],
     "response": {
      "$ref": "InstancesListResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/sqlservice.admin"
     ]
    },
    "patch": {
     "id": "sql.instances.patch",
     "path": "projects/{project}/instances/{instance}",
     "httpMethod": "PATCH",
     "description": "Updates settings of a Cloud SQL instance. Caution: This is not a partial update, so you must include values for all the settings that you want to retain. For partial updates, use patch.. This method supports patch semantics.",
     "parameters": {
      "instance": {
       "type": "string",
       "description": "Cloud SQL instance ID. This does not include the project ID.",
       "required": true,
       "location": "path"
      },
      "project": {
       "type": "string",
       "description": "Project ID of the project that contains the instance.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "project",
      "instance"
     ],
     "request": {
      "$ref": "DatabaseInstance"
     },
     "response": {
      "$ref": "InstancesUpdateResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/sqlservice.admin"
     ]
    },
    "restart": {
     "id": "sql.instances.restart",
     "path": "projects/{project}/instances/{instance}/restart",
     "httpMethod": "POST",
     "description": "Restarts a Cloud SQL instance.",
     "parameters": {
      "instance": {
       "type": "string",
       "description": "Cloud SQL instance ID. This does not include the project ID.",
       "required": true,
       "location": "path"
      },
      "project": {
       "type": "string",
       "description": "Project ID of the project that contains the instance to be restarted.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "project",
      "instance"
     ],
     "response": {
      "$ref": "InstancesRestartResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/sqlservice.admin"
     ]
    },
    "restoreBackup": {
     "id": "sql.instances.restoreBackup",
     "path": "projects/{project}/instances/{instance}/restoreBackup",
     "httpMethod": "POST",
     "description": "Restores a backup of a Cloud SQL instance.",
     "parameters": {
      "backupConfiguration": {
       "type": "string",
       "description": "The identifier of the backup configuration. This gets generated automatically when a backup configuration is created.",
       "required": true,
       "location": "query"
      },
      "dueTime": {
       "type": "string",
       "description": "The start time of the four-hour backup window. The backup can occur any time in the window. The time is in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.",
       "required": true,
       "location": "query"
      },
      "instance": {
       "type": "string",
       "description": "Cloud SQL instance ID. This does not include the project ID.",
       "required": true,
       "location": "path"
      },
      "project": {
       "type": "string",
       "description": "Project ID of the project that contains the instance.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "project",
      "instance",
      "backupConfiguration",
      "dueTime"
     ],
     "response": {
      "$ref": "InstancesRestoreBackupResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/sqlservice.admin"
     ]
    },
    "update": {
     "id": "sql.instances.update",
     "path": "projects/{project}/instances/{instance}",
     "httpMethod": "PUT",
     "description": "Updates settings of a Cloud SQL instance. Caution: This is not a partial update, so you must include values for all the settings that you want to retain. For partial updates, use patch.",
     "parameters": {
      "instance": {
       "type": "string",
       "description": "Cloud SQL instance ID. This does not include the project ID.",
       "required": true,
       "location": "path"
      },
      "project": {
       "type": "string",
       "description": "Project ID of the project that contains the instance.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "project",
      "instance"
     ],
     "etagRequired": true,
     "request": {
      "$ref": "DatabaseInstance"
     },
     "response": {
      "$ref": "InstancesUpdateResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/sqlservice.admin"
     ]
    }
   }
  },
  "operations": {
   "methods": {
    "get": {
     "id": "sql.operations.get",
     "path": "projects/{project}/instances/{instance}/operations/{operation}",
     "httpMethod": "GET",
     "description": "Retrieves an instance operation that has been performed on an instance.",
     "parameters": {
      "instance": {
       "type": "string",
       "description": "Cloud SQL instance ID. This does not include the project ID.",
       "required": true,
       "location": "path"
      },
      "operation": {
       "type": "string",
       "description": "Instance operation ID.",
       "required": true,
       "location": "path"
      },
      "project": {
       "type": "string",
       "description": "Project ID of the project that contains the instance.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "project",
      "instance",
      "operation"
     ],
     "response": {
      "$ref": "InstanceOperation"
     },
     "scopes": [
      "https://www.googleapis.com/auth/sqlservice.admin"
     ]
    },
    "list": {
     "id": "sql.operations.list",
     "path": "projects/{project}/instances/{instance}/operations",
     "httpMethod": "GET",
     "description": "Lists all instance operations that have been performed on the given Cloud SQL instance in the reverse chronological order of the start time.",
     "parameters": {
      "instance": {
       "type": "string",
       "description": "Cloud SQL instance ID. This does not include the project ID.",
       "required": true,
       "location": "path"
      },
      "maxResults": {
       "type": "integer",
       "description": "Maximum number of operations per response.",
       "format": "uint32",
       "location": "query"
      },
      "pageToken": {
       "type": "string",
       "description": "A previously-returned page token representing part of the larger set of results to view.",
       "location": "query"
      },
      "project": {
       "type": "string",
       "description": "Project ID of the project that contains the instance.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "project",
      "instance"
     ],
     "response": {
      "$ref": "OperationsListResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/sqlservice.admin"
     ]
    }
   }
  },
  "tiers": {
   "methods": {
    "list": {
     "id": "sql.tiers.list",
     "path": "tiers",
     "httpMethod": "GET",
     "description": "Lists all available service tiers for Google Cloud SQL, for example D1, D2. For related information, see Pricing.",
     "response": {
      "$ref": "TiersListResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/sqlservice.admin"
     ]
    }
   }
  }
 }
}
