<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="sqladmin_v1beta4.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta4.sslCerts.html">sslCerts</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#createEphemeral">createEphemeral(project, instance, body)</a></code></p>
<p class="firstline">Generates a short-lived X509 certificate containing the provided public key and signed by a private key specific to the target instance. Users may use the certificate to authenticate as themselves when connecting to the database.</p>
<p class="toc_element">
  <code><a href="#delete">delete(project, instance, sha1Fingerprint)</a></code></p>
<p class="firstline">Deletes the SSL certificate. The change will not take effect until the instance is restarted.</p>
<p class="toc_element">
  <code><a href="#get">get(project, instance, sha1Fingerprint)</a></code></p>
<p class="firstline">Retrieves a particular SSL certificate. Does not include the private key (required for usage). The private key must be saved from the response to initial creation.</p>
<p class="toc_element">
  <code><a href="#insert">insert(project, instance, body)</a></code></p>
<p class="firstline">Creates an SSL certificate and returns it along with the private key and server certificate authority. The new certificate will not be usable until the instance is restarted.</p>
<p class="toc_element">
  <code><a href="#list">list(project, instance)</a></code></p>
<p class="firstline">Lists all of the current SSL certificates for the instance.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="createEphemeral">createEphemeral(project, instance, body)</code>
  <pre>Generates a short-lived X509 certificate containing the provided public key and signed by a private key specific to the target instance. Users may use the certificate to authenticate as themselves when connecting to the database.

Args:
  project: string, Project ID of the Cloud SQL project. (required)
  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # SslCerts create ephemeral certificate request.
    "public_key": "A String", # PEM encoded public key to include in the signed certificate.
  }


Returns:
  An object of the form:

    { # SslCerts Resource
    "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
    "kind": "sql#sslCert", # This is always sql#sslCert.
    "sha1Fingerprint": "A String", # Sha1 Fingerprint.
    "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
    "instance": "A String", # Name of the database instance.
    "cert": "A String", # PEM representation.
    "expirationTime": "A String", # The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
    "createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
    "selfLink": "A String", # The URI of this resource.
  }</pre>
</div>

<div class="method">
    <code class="details" id="delete">delete(project, instance, sha1Fingerprint)</code>
  <pre>Deletes the SSL certificate. The change will not take effect until the instance is restarted.

Args:
  project: string, Project ID of the project that contains the instance to be deleted. (required)
  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
  sha1Fingerprint: string, Sha1 FingerPrint. (required)

Returns:
  An object of the form:

    { # 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.
    "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
    "importContext": { # Database instance import context. # The context for import operation, if applicable.
      "kind": "sql#importContext", # This is always sql#importContext.
      "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
      "fileType": "A String", # The file type for the specified uri.
          # SQL: The file contains SQL statements.
          # CSV: The file contains CSV data.
      "uri": "A String", # A path to the 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 supported when fileType is SQL.
      "importUser": "A String", # The PostgreSQL user to use for this import operation. Defaults to cloudsqlsuperuser. Does not apply to MySQL instances.
      "csvImportOptions": { # Options for importing data as CSV.
        "table": "A String", # The table to which CSV data is imported.
        "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
          "A String",
        ],
      },
    },
    "kind": "sql#operation", # This is always sql#operation.
    "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
    "exportContext": { # Database instance export context. # The context for export operation, if applicable.
      "kind": "sql#exportContext", # This is always sql#exportContext.
      "fileType": "A String", # The file type for the specified uri.
          # SQL: The file contains SQL statements.
          # CSV: The file contains CSV data.
      "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
      "csvExportOptions": { # Options for exporting data as CSV.
        "selectQuery": "A String", # The select query used to extract the data.
      },
      "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
        "A String",
      ],
      "sqlExportOptions": { # Options for exporting data as SQL statements.
        "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
          "A String",
        ],
        "schemaOnly": True or False, # Export only schemas.
      },
    },
    "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
    "targetProject": "A String", # The project ID of the target instance related to this operation.
    "targetId": "A String", # Name of the database instance related to this operation.
    "operationType": "A String", # The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME, CREATE_USER, DELETE_USER, CREATE_DATABASE, DELETE_DATABASE .
    "targetLink": "A String",
    "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
    "error": { # Database instance operation errors list wrapper. # If errors occurred during processing of this operation, this field will be populated.
      "kind": "sql#operationErrors", # This is always sql#operationErrors.
      "errors": [ # The list of errors encountered while processing this operation.
        { # Database instance operation error.
          "kind": "sql#operationError", # This is always sql#operationError.
          "code": "A String", # Identifies the specific error that occurred.
          "message": "A String", # Additional information about the error encountered.
        },
      ],
    },
    "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
    "selfLink": "A String", # The URI of this resource.
    "user": "A String", # The email address of the user who initiated this operation.
  }</pre>
</div>

<div class="method">
    <code class="details" id="get">get(project, instance, sha1Fingerprint)</code>
  <pre>Retrieves a particular SSL certificate. Does not include the private key (required for usage). The private key must be saved from the response to initial creation.

Args:
  project: string, Project ID of the project that contains the instance. (required)
  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
  sha1Fingerprint: string, Sha1 FingerPrint. (required)

Returns:
  An object of the form:

    { # SslCerts Resource
    "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
    "kind": "sql#sslCert", # This is always sql#sslCert.
    "sha1Fingerprint": "A String", # Sha1 Fingerprint.
    "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
    "instance": "A String", # Name of the database instance.
    "cert": "A String", # PEM representation.
    "expirationTime": "A String", # The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
    "createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
    "selfLink": "A String", # The URI of this resource.
  }</pre>
</div>

<div class="method">
    <code class="details" id="insert">insert(project, instance, body)</code>
  <pre>Creates an SSL certificate and returns it along with the private key and server certificate authority. The new certificate will not be usable until the instance is restarted.

Args:
  project: string, Project ID of the project to which the newly created Cloud SQL instances should belong. (required)
  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # SslCerts insert request.
    "commonName": "A String", # User supplied name. Must be a distinct name from the other certificates for this instance. New certificates will not be usable until the instance is restarted.
  }


Returns:
  An object of the form:

    { # SslCert insert response.
    "kind": "sql#sslCertsInsert", # This is always sql#sslCertsInsert.
    "clientCert": { # SslCertDetail. # The new client certificate and private key. The new certificate will not work until the instance is restarted for First Generation instances.
      "certPrivateKey": "A String", # The private key for the client cert, in pem format. Keep private in order to protect your security.
      "certInfo": { # SslCerts Resource # The public information about the cert.
        "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
        "kind": "sql#sslCert", # This is always sql#sslCert.
        "sha1Fingerprint": "A String", # Sha1 Fingerprint.
        "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
        "instance": "A String", # Name of the database instance.
        "cert": "A String", # PEM representation.
        "expirationTime": "A String", # The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
        "createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
        "selfLink": "A String", # The URI of this resource.
      },
    },
    "operation": { # 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. # The operation to track the ssl certs insert request.
      "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
      "importContext": { # Database instance import context. # The context for import operation, if applicable.
        "kind": "sql#importContext", # This is always sql#importContext.
        "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified.
        "fileType": "A String", # The file type for the specified uri.
            # SQL: The file contains SQL statements.
            # CSV: The file contains CSV data.
        "uri": "A String", # A path to the 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 supported when fileType is SQL.
        "importUser": "A String", # The PostgreSQL user to use for this import operation. Defaults to cloudsqlsuperuser. Does not apply to MySQL instances.
        "csvImportOptions": { # Options for importing data as CSV.
          "table": "A String", # The table to which CSV data is imported.
          "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
            "A String",
          ],
        },
      },
      "kind": "sql#operation", # This is always sql#operation.
      "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
      "exportContext": { # Database instance export context. # The context for export operation, if applicable.
        "kind": "sql#exportContext", # This is always sql#exportContext.
        "fileType": "A String", # The file type for the specified uri.
            # SQL: The file contains SQL statements.
            # CSV: The file contains CSV data.
        "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed.
        "csvExportOptions": { # Options for exporting data as CSV.
          "selectQuery": "A String", # The select query used to extract the data.
        },
        "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored.
          "A String",
        ],
        "sqlExportOptions": { # Options for exporting data as SQL statements.
          "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.
            "A String",
          ],
          "schemaOnly": True or False, # Export only schemas.
        },
      },
      "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
      "targetProject": "A String", # The project ID of the target instance related to this operation.
      "targetId": "A String", # Name of the database instance related to this operation.
      "operationType": "A String", # The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME, CREATE_USER, DELETE_USER, CREATE_DATABASE, DELETE_DATABASE .
      "targetLink": "A String",
      "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
      "error": { # Database instance operation errors list wrapper. # If errors occurred during processing of this operation, this field will be populated.
        "kind": "sql#operationErrors", # This is always sql#operationErrors.
        "errors": [ # The list of errors encountered while processing this operation.
          { # Database instance operation error.
            "kind": "sql#operationError", # This is always sql#operationError.
            "code": "A String", # Identifies the specific error that occurred.
            "message": "A String", # Additional information about the error encountered.
          },
        ],
      },
      "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
      "selfLink": "A String", # The URI of this resource.
      "user": "A String", # The email address of the user who initiated this operation.
    },
    "serverCaCert": { # SslCerts Resource # The server Certificate Authority's certificate. If this is missing you can force a new one to be generated by calling resetSslConfig method on instances resource.
      "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
      "kind": "sql#sslCert", # This is always sql#sslCert.
      "sha1Fingerprint": "A String", # Sha1 Fingerprint.
      "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
      "instance": "A String", # Name of the database instance.
      "cert": "A String", # PEM representation.
      "expirationTime": "A String", # The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
      "createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
      "selfLink": "A String", # The URI of this resource.
    },
  }</pre>
</div>

<div class="method">
    <code class="details" id="list">list(project, instance)</code>
  <pre>Lists all of the current SSL certificates for the instance.

Args:
  project: string, Project ID of the project for which to list Cloud SQL instances. (required)
  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)

Returns:
  An object of the form:

    { # SslCerts list response.
    "items": [ # List of client certificates for the instance.
      { # SslCerts Resource
        "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
        "kind": "sql#sslCert", # This is always sql#sslCert.
        "sha1Fingerprint": "A String", # Sha1 Fingerprint.
        "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
        "instance": "A String", # Name of the database instance.
        "cert": "A String", # PEM representation.
        "expirationTime": "A String", # The time when the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
        "createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z
        "selfLink": "A String", # The URI of this resource.
      },
    ],
    "kind": "sql#sslCertsList", # This is always sql#sslCertsList.
  }</pre>
</div>

</body></html>