- HTTP request
- Path parameters
- Request body
- Response body
- Authorization Scopes
- InstancesRotateServerCaRequest
- RotateServerCaContext
- Examples
- Try it!
Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method.
HTTP request
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/rotateServerCa
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters | |
---|---|
project |
Project ID of the project that contains the instance. |
instance |
Cloud SQL instance ID. This does not include the project ID. |
Request body
The request body contains an instance of InstancesRotateServerCaRequest
.
Response body
If successful, the response body contains an instance of Operation
.
Authorization Scopes
Requires one of the following OAuth scopes:
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/sqlservice.admin
For more information, see the Authentication Overview.
InstancesRotateServerCaRequest
Rotate Server CA request.
JSON representation |
---|
{
"rotateServerCaContext": {
object ( |
Fields | |
---|---|
rotateServerCaContext |
Contains details about the rotate server CA operation. |
RotateServerCaContext
Instance rotate server CA context.
JSON representation |
---|
{ "kind": string, "nextVersion": string } |
Fields | |
---|---|
kind |
This is always |
nextVersion |
The fingerprint of the next version to be rotated to. If left unspecified, will be rotated to the most recently added server CA version. |
Uses the .NET client library. Uses the Go client library. Uses the Node.js client library. Uses the Python client library.Examples
// BEFORE RUNNING:
// ---------------
// 1. If not already done, enable the Cloud SQL Administration API
// and check the quota for your project at
// https://console.developers.google.com/apis/api/sqladmin
// 2. This sample uses Application Default Credentials for authentication.
// If not already done, install the gcloud CLI from
// https://cloud.google.com/sdk and run
// `gcloud beta auth application-default login`.
// For more information, see
// https://developers.google.com/identity/protocols/application-default-credentials
// 3. Install the C# client library by adding a dependency on the relevant NuGet
// package. Libraries published by Google are owned by google-apis-packages:
// https://www.nuget.org/profiles/google-apis-packages
using Google.Apis.Auth.OAuth2;
using Google.Apis.SQLAdmin.v1beta4;
using Google.Apis.Services;
using Newtonsoft.Json;
using System;
using System.Threading.Tasks;
using Data = Google.Apis.SQLAdmin.v1beta4.Data;
namespace SQLAdminSample
{
public class SQLAdminExample
{
public static void Main(string[] args)
{
SQLAdminService sqlAdminService = new SQLAdminService(new BaseClientService.Initializer
{
HttpClientInitializer = GetCredential(),
ApplicationName = "Google-SQLAdminSample/0.1",
});
// Project ID of the project that contains the instance.
string project = "my-project"; // TODO: Update placeholder value.
// Cloud SQL instance ID. This does not include the project ID.
string instance = "my-instance"; // TODO: Update placeholder value.
// TODO: Assign values to desired properties of `requestBody`:
Data.InstancesRotateServerCaRequest requestBody = new Data.InstancesRotateServerCaRequest();
InstancesResource.RotateServerCaRequest request = sqlAdminService.Instances.RotateServerCa(requestBody, project, instance);
// To execute asynchronously in an async method, replace `request.Execute()` as shown:
Data.Operation response = request.Execute();
// Data.Operation response = await request.ExecuteAsync();
// TODO: Change code below to process the `response` object:
Console.WriteLine(JsonConvert.SerializeObject(response));
}
public static GoogleCredential GetCredential()
{
GoogleCredential credential = Task.Run(() => GoogleCredential.GetApplicationDefaultAsync()).Result;
if (credential.IsCreateScopedRequired)
{
credential = credential.CreateScoped("https://www.googleapis.com/auth/cloud-platform");
}
return credential;
}
}
}package main
// BEFORE RUNNING:
// ---------------
// 1. If not already done, enable the Cloud SQL Administration API
// and check the quota for your project at
// https://console.developers.google.com/apis/api/sqladmin
// 2. This sample uses Application Default Credentials for authentication.
// If not already done, install the gcloud CLI from
// https://cloud.google.com/sdk/ and run
// `gcloud beta auth application-default login`.
// For more information, see
// https://developers.google.com/identity/protocols/application-default-credentials
// 3. Install and update the Go dependencies by running `go get -u` in the
// project directory.
import (
"fmt"
"log"
"golang.org/x/net/context"
"golang.org/x/oauth2/google"
"google.golang.org/api/sqladmin/v1beta4"
)
func main() {
ctx := context.Background()
c, err := google.DefaultClient(ctx, sqladmin.CloudPlatformScope)
if err != nil {
log.Fatal(err)
}
sqladminService, err := sqladmin.New(c)
if err != nil {
log.Fatal(err)
}
// Project ID of the project that contains the instance.
project := "my-project" // TODO: Update placeholder value.
// Cloud SQL instance ID. This does not include the project ID.
instance := "my-instance" // TODO: Update placeholder value.
rb := &sqladmin.InstancesRotateServerCaRequest{
// TODO: Add desired fields of the request body.
}
resp, err := sqladminService.Instances.RotateServerCa(project, instance, rb).Context(ctx).Do()
if err != nil {
log.Fatal(err)
}
// TODO: Change code below to process the `resp` object:
fmt.Printf("%#v\n", resp)
}// BEFORE RUNNING:
// ---------------
// 1. If not already done, enable the Cloud SQL Admin API
// and check the quota for your project at
// https://console.developers.google.com/apis/api/sqladmin
// 2. This sample uses Application Default Credentials for authentication.
// If not already done, install the gcloud CLI from
// https://cloud.google.com/sdk and run
// `gcloud beta auth application-default login`.
// For more information, see
// https://developers.google.com/identity/protocols/application-default-credentials
// 3. Install the Node.js client library by running
// `npm install googleapis --save`
const {google} = require('googleapis');
var sqlAdmin = google.sqladmin('v1beta4');
authorize(function(authClient) {
var request = {
// Project ID of the project that contains the instance.
project: 'my-project', // TODO: Update placeholder value.
// Cloud SQL instance ID. This does not include the project ID.
instance: 'my-instance', // TODO: Update placeholder value.
resource: {
// TODO: Add desired properties to the request body.
},
auth: authClient,
};
sqlAdmin.instances.rotateServerCa(request, function(err, response) {
if (err) {
console.error(err);
return;
}
// TODO: Change code below to process the `response` object:
console.log(JSON.stringify(response, null, 2));
});
});
function authorize(callback) {
google.auth.getClient({
scopes: ['https://www.googleapis.com/auth/cloud-platform']
}).then(client => {
callback(client);
}).catch(err => {
console.error('authentication failed: ', err);
});
}"""
BEFORE RUNNING:
---------------
1. If not already done, enable the Cloud SQL Administration API
and check the quota for your project at
https://console.developers.google.com/apis/api/sqladmin
2. This sample uses Application Default Credentials for authentication.
If not already done, install the gcloud CLI from
https://cloud.google.com/sdk and run
`gcloud beta auth application-default login`.
For more information, see
https://developers.google.com/identity/protocols/application-default-credentials
3. Install the Python client library for Google APIs by running
`pip install --upgrade google-api-python-client`
"""
from pprint import pprint
from googleapiclient import discovery
from oauth2client.client import GoogleCredentials
credentials = GoogleCredentials.get_application_default()
service = discovery.build('sqladmin', 'v1beta4', credentials=credentials)
# Project ID of the project that contains the instance.
project = 'my-project' # TODO: Update placeholder value.
# Cloud SQL instance ID. This does not include the project ID.
instance = 'my-instance' # TODO: Update placeholder value.
instances_rotate_server_ca_request_body = {
# TODO: Add desired entries to the request body.
}
request = service.instances().rotateServerCa(project=project, instance=instance, body=instances_rotate_server_ca_request_body)
response = request.execute()
# TODO: Change code below to process the `response` dict:
pprint(response)