Google Cloud Spanner Instances API

Operations on Spanner instances

OpenAPI Specification

google-cloud-spanner-instances-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Cloud Spanner Databases Instances API
  description: The Cloud Spanner API provides programmatic access to Google Cloud Spanner, a globally distributed, strongly consistent relational database service. It enables management of instances, databases, sessions, and execution of SQL queries and DML statements with full ACID transaction support.
  version: v1
  contact:
    name: Google Cloud
    url: https://cloud.google.com/spanner/docs/reference/rest
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://spanner.googleapis.com/v1
  description: Cloud Spanner API v1
tags:
- name: Instances
  description: Operations on Spanner instances
paths:
  /projects/{project}/instances:
    get:
      tags:
      - Instances
      summary: Google Cloud Spanner List instances
      description: Lists all instances in the given project.
      operationId: listInstances
      parameters:
      - name: project
        in: path
        required: true
        schema:
          type: string
      - name: pageSize
        in: query
        schema:
          type: integer
      - name: pageToken
        in: query
        schema:
          type: string
      - name: filter
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListInstancesResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/cloud-platform
        - https://www.googleapis.com/auth/spanner.admin
    post:
      tags:
      - Instances
      summary: Google Cloud Spanner Create an instance
      description: Creates an instance and begins preparing it to be used.
      operationId: createInstance
      parameters:
      - name: project
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInstanceRequest'
      responses:
        '200':
          description: Instance creation initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/cloud-platform
        - https://www.googleapis.com/auth/spanner.admin
  /projects/{project}/instances/{instance}:
    get:
      tags:
      - Instances
      summary: Google Cloud Spanner Get an instance
      description: Gets information about a particular instance.
      operationId: getInstance
      parameters:
      - name: project
        in: path
        required: true
        schema:
          type: string
      - name: instance
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Instance'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/cloud-platform
        - https://www.googleapis.com/auth/spanner.admin
    patch:
      tags:
      - Instances
      summary: Google Cloud Spanner Update an instance
      description: Updates an instance, and begins allocating or releasing resources as requested.
      operationId: updateInstance
      parameters:
      - name: project
        in: path
        required: true
        schema:
          type: string
      - name: instance
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateInstanceRequest'
      responses:
        '200':
          description: Instance update initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/cloud-platform
        - https://www.googleapis.com/auth/spanner.admin
    delete:
      tags:
      - Instances
      summary: Google Cloud Spanner Delete an instance
      description: Deletes an instance. Immediately upon completion of the request, the instance and all its databases are deleted.
      operationId: deleteInstance
      parameters:
      - name: project
        in: path
        required: true
        schema:
          type: string
      - name: instance
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Instance deleted successfully
      security:
      - oauth2:
        - https://www.googleapis.com/auth/cloud-platform
        - https://www.googleapis.com/auth/spanner.admin
components:
  schemas:
    UpdateInstanceRequest:
      type: object
      properties:
        instance:
          $ref: '#/components/schemas/Instance'
        fieldMask:
          type: string
      required:
      - instance
      - fieldMask
    CreateInstanceRequest:
      type: object
      properties:
        instanceId:
          type: string
        instance:
          $ref: '#/components/schemas/Instance'
      required:
      - instanceId
      - instance
    Instance:
      type: object
      properties:
        name:
          type: string
          description: The unique name of the instance.
        config:
          type: string
          description: The instance configuration to use.
        displayName:
          type: string
          description: The descriptive name for the instance.
        nodeCount:
          type: integer
          description: The number of nodes allocated to this instance.
        processingUnits:
          type: integer
          description: The number of processing units allocated to this instance.
        state:
          type: string
          enum:
          - STATE_UNSPECIFIED
          - CREATING
          - READY
        labels:
          type: object
          additionalProperties:
            type: string
        createTime:
          type: string
          format: date-time
        updateTime:
          type: string
          format: date-time
    Operation:
      type: object
      properties:
        name:
          type: string
        done:
          type: boolean
        metadata:
          type: object
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
    ListInstancesResponse:
      type: object
      properties:
        instances:
          type: array
          items:
            $ref: '#/components/schemas/Instance'
        nextPageToken:
          type: string
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/cloud-platform: Full access to Cloud Platform
            https://www.googleapis.com/auth/spanner.admin: Administer Spanner databases
            https://www.googleapis.com/auth/spanner.data: View and manage Spanner data