Serverless VPC Access API
API for managing VPC access connectors
COMMUNITYBEARER0 INSTALLS
OpenAPI Specificationv3.0
{
"openapi": "3.0.0",
"servers": [
{
"url": "https://vpcaccess.googleapis.com/"
}
],
"info": {
"contact": {
"name": "Google",
"url": "https://google.com",
"x-twitter": "youtube"
},
"description": "API for managing VPC access connectors.",
"license": {
"name": "Creative Commons Attribution 3.0",
"url": "http://creativecommons.org/licenses/by/3.0/"
},
"termsOfService": "https://developers.google.com/terms/",
"title": "Serverless VPC Access API",
"version": "v1",
"x-apisguru-categories": [
"analytics",
"media"
],
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_upload.wikimedia.org_wikipedia_commons_e_e1_YouTube_play_buttom_icon_%282013-2017%29.svg"
},
"x-origin": [
{
"format": "google",
"url": "https://vpcaccess.googleapis.com/$discovery/rest?version=v1",
"version": "v1"
}
],
"x-preferred": true,
"x-providerName": "googleapis.com",
"x-serviceName": "vpcaccess"
},
"externalDocs": {
"url": "https://cloud.google.com/vpc/docs/configure-serverless-vpc-access"
},
"tags": [
{
"name": "projects"
}
],
"paths": {
"/v1/{name}": {
"delete": {
"description": "Deletes a Serverless VPC Access connector. Returns NOT_FOUND if the resource does not exist.",
"operationId": "vpcaccess.projects.locations.connectors.delete",
"parameters": [
{
"description": "Required. Name of a Serverless VPC Access connector to delete.",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Operation"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/cloud-platform"
],
"Oauth2c": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"tags": [
"projects"
]
},
"get": {
"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
"operationId": "vpcaccess.projects.locations.operations.get",
"parameters": [
{
"description": "The name of the operation resource.",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Operation"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/cloud-platform"
],
"Oauth2c": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"tags": [
"projects"
]
},
"parameters": [
{
"$ref": "#/components/parameters/_.xgafv"
},
{
"$ref": "#/components/parameters/access_token"
},
{
"$ref": "#/components/parameters/alt"
},
{
"$ref": "#/components/parameters/callback"
},
{
"$ref": "#/components/parameters/fields"
},
{
"$ref": "#/components/parameters/key"
},
{
"$ref": "#/components/parameters/oauth_token"
},
{
"$ref": "#/components/parameters/prettyPrint"
},
{
"$ref": "#/components/parameters/quotaUser"
},
{
"$ref": "#/components/parameters/upload_protocol"
},
{
"$ref": "#/components/parameters/uploadType"
}
],
"patch": {
"description": "Updates a Serverless VPC Access connector, returns an operation.",
"operationId": "vpcaccess.projects.locations.connectors.patch",
"parameters": [
{
"description": "The resource name in the format `projects/*/locations/*/connectors/*`.",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "The fields to update on the entry group. If absent or empty, all modifiable fields are updated.",
"in": "query",
"name": "updateMask",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Connector"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Operation"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/cloud-platform"
],
"Oauth2c": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"tags": [
"projects"
]
}
},
"/v1/{name}/locations": {
"get": {
"description": "Lists information about the supported locations for this service.",
"operationId": "vpcaccess.projects.locations.list",
"parameters": [
{
"description": "The resource that owns the locations collection, if applicable.",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
"in": "query",
"name": "filter",
"schema": {
"type": "string"
}
},
{
"description": "The maximum number of results to return. If not set, the service selects a default.",
"in": "query",
"name": "pageSize",
"schema": {
"type": "integer"
}
},
{
"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
"in": "query",
"name": "pageToken",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListLocationsResponse"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/cloud-platform"
],
"Oauth2c": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"tags": [
"projects"
]
},
"parameters": [
{
"$ref": "#/components/parameters/_.xgafv"
},
{
"$ref": "#/components/parameters/access_token"
},
{
"$ref": "#/components/parameters/alt"
},
{
"$ref": "#/components/parameters/callback"
},
{
"$ref": "#/components/parameters/fields"
},
{
"$ref": "#/components/parameters/key"
},
{
"$ref": "#/components/parameters/oauth_token"
},
{
"$ref": "#/components/parameters/prettyPrint"
},
{
"$ref": "#/components/parameters/quotaUser"
},
{
"$ref": "#/components/parameters/upload_protocol"
},
{
"$ref": "#/components/parameters/uploadType"
}
]
},
"/v1/{name}/operations": {
"get": {
"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
"operationId": "vpcaccess.projects.locations.operations.list",
"parameters": [
{
"description": "The name of the operation's parent resource.",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "The standard list filter.",
"in": "query",
"name": "filter",
"schema": {
"type": "string"
}
},
{
"description": "The standard list page size.",
"in": "query",
"name": "pageSize",
"schema": {
"type": "integer"
}
},
{
"description": "The standard list page token.",
"in": "query",
"name": "pageToken",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListOperationsResponse"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/cloud-platform"
],
"Oauth2c": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"tags": [
"projects"
]
},
"parameters": [
{
"$ref": "#/components/parameters/_.xgafv"
},
{
"$ref": "#/components/parameters/access_token"
},
{
"$ref": "#/components/parameters/alt"
},
{
"$ref": "#/components/parameters/callback"
},
{
"$ref": "#/components/parameters/fields"
},
{
"$ref": "#/components/parameters/key"
},
{
"$ref": "#/components/parameters/oauth_token"
},
{
"$ref": "#/components/parameters/prettyPrint"
},
{
"$ref": "#/components/parameters/quotaUser"
},
{
"$ref": "#/components/parameters/upload_protocol"
},
{
"$ref": "#/components/parameters/uploadType"
}
]
},
"/v1/{parent}/connectors": {
"get": {
"description": "Lists Serverless VPC Access connectors.",
"operationId": "vpcaccess.projects.locations.connectors.list",
"parameters": [
{
"description": "Required. The project and location from which the routes should be listed.",
"in": "path",
"name": "parent",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Maximum number of functions to return per call.",
"in": "query",
"name": "pageSize",
"schema": {
"type": "integer"
}
},
{
"description": "Continuation token.",
"in": "query",
"name": "pageToken",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListConnectorsResponse"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/cloud-platform"
],
"Oauth2c": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"tags": [
"projects"
]
},
"parameters": [
{
"$ref": "#/components/parameters/_.xgafv"
},
{
"$ref": "#/components/parameters/access_token"
},
{
"$ref": "#/components/parameters/alt"
},
{
"$ref": "#/components/parameters/callback"
},
{
"$ref": "#/components/parameters/fields"
},
{
"$ref": "#/components/parameters/key"
},
{
"$ref": "#/components/parameters/oauth_token"
},
{
"$ref": "#/components/parameters/prettyPrint"
},
{
"$ref": "#/components/parameters/quotaUser"
},
{
"$ref": "#/components/parameters/upload_protocol"
},
{
"$ref": "#/components/parameters/uploadType"
}
],
"post": {
"description": "Creates a Serverless VPC Access connector, returns an operation.",
"operationId": "vpcaccess.projects.locations.connectors.create",
"parameters": [
{
"description": "Required. The project and location in which the configuration should be created, specified in the format `projects/*/locations/*`.",
"in": "path",
"name": "parent",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Required. The ID to use for this connector.",
"in": "query",
"name": "connectorId",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Connector"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Operation"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/cloud-platform"
],
"Oauth2c": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"tags": [
"projects"
]
}
}
},
"components": {
"parameters": {
"_.xgafv": {
"description": "V1 error format.",
"in": "query",
"name": "$.xgafv",
"schema": {
"enum": [
"1",
"2"
],
"type": "string"
}
},
"access_token": {
"description": "OAuth access token.",
"in": "query",
"name": "access_token",
"schema": {
"type": "string"
}
},
"alt": {
"description": "Data format for response.",
"in": "query",
"name": "alt",
"schema": {
"enum": [
"json",
"media",
"proto"
],
"type": "string"
}
},
"callback": {
"description": "JSONP",
"in": "query",
"name": "callback",
"schema": {
"type": "string"
}
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"in": "query",
"name": "fields",
"schema": {
"type": "string"
}
},
"key": {
"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.",
"in": "query",
"name": "key",
"schema": {
"type": "string"
}
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"in": "query",
"name": "oauth_token",
"schema": {
"type": "string"
}
},
"prettyPrint": {
"description": "Returns response with indentations and line breaks.",
"in": "query",
"name": "prettyPrint",
"schema": {
"type": "boolean"
}
},
"quotaUser": {
"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.",
"in": "query",
"name": "quotaUser",
"schema": {
"type": "string"
}
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"in": "query",
"name": "uploadType",
"schema": {
"type": "string"
}
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"in": "query",
"name": "upload_protocol",
"schema": {
"type": "string"
}
}
},
"schemas": {
"Connector": {
"description": "Definition of a Serverless VPC Access connector.",
"properties": {
"connectedProjects": {
"description": "Output only. List of projects using the connector.",
"items": {
"type": "string"
},
"readOnly": true,
"type": "array"
},
"ipCidrRange": {
"description": "The range of internal addresses that follows RFC 4632 notation. Example: `10.132.0.0/28`.",
"type": "string"
},
"machineType": {
"description": "Machine type of VM Instance underlying connector. Default is e2-micro",
"type": "string"
},
"maxInstances": {
"description": "Maximum value of instances in autoscaling group underlying the connector.",
"format": "int32",
"type": "integer"
},
"maxThroughput": {
"description": "Maximum throughput of the connector in Mbps. Default is 300, max is 1000.",
"format": "int32",
"type": "integer"
},
"minInstances": {
"description": "Minimum value of instances in autoscaling group underlying the connector.",
"format": "int32",
"type": "integer"
},
"minThroughput": {
"description": "Minimum throughput of the connector in Mbps. Default and min is 200.",
"format": "int32",
"type": "integer"
},
"name": {
"description": "The resource name in the format `projects/*/locations/*/connectors/*`.",
"type": "string"
},
"network": {
"description": "Name of a VPC network.",
"type": "string"
},
"state": {
"description": "Output only. State of the VPC access connector.",
"enum": [
"STATE_UNSPECIFIED",
"READY",
"CREATING",
"DELETING",
"ERROR",
"UPDATING"
],
"readOnly": true,
"type": "string"
},
"subnet": {
"$ref": "#/components/schemas/Subnet",
"description": "The subnet in which to house the VPC Access Connector."
}
},
"type": "object"
},
"ListConnectorsResponse": {
"description": "Response for listing Serverless VPC Access connectors.",
"properties": {
"connectors": {
"description": "List of Serverless VPC Access connectors.",
"items": {
"$ref": "#/components/schemas/Connector"
},
"type": "array"
},
"nextPageToken": {
"description": "Continuation token.",
"type": "string"
}
},
"type": "object"
},
"ListLocationsResponse": {
"description": "The response message for Locations.ListLocations.",
"properties": {
"locations": {
"description": "A list of locations that matches the specified filter in the request.",
"items": {
"$ref": "#/components/schemas/Location"
},
"type": "array"
},
"nextPageToken": {
"description": "The standard List next-page token.",
"type": "string"
}
},
"type": "object"
},
"ListOperationsResponse": {
"description": "The response message for Operations.ListOperations.",
"properties": {
"nextPageToken": {
"description": "The standard List next-page token.",
"type": "string"
},
"operations": {
"description": "A list of operations that matches the specified filter in the request.",
"items": {
"$ref": "#/components/schemas/Operation"
},
"type": "array"
}
},
"type": "object"
},
"Location": {
"description": "A resource that represents Google Cloud Platform location.",
"properties": {
"displayName": {
"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
"type": "string"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
"type": "object"
},
"locationId": {
"description": "The canonical id for this location. For example: `\"us-east1\"`.",
"type": "string"
},
"metadata": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL."
},
"description": "Service-specific metadata. For example the available capacity at the given location.",
"type": "object"
},
"name": {
"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
"type": "string"
}
},
"type": "object"
},
"Operation": {
"description": "This resource represents a long-running operation that is the result of a network API call.",
"properties": {
"done": {
"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
"type": "boolean"
},
"error": {
"$ref": "#/components/schemas/Status",
"description": "The error result of the operation in case of failure or cancellation."
},
"metadata": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL."
},
"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
"type": "object"
},
"name": {
"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
"type": "string"
},
"response": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL."
},
"description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
"type": "object"
}
},
"type": "object"
},
"OperationMetadata": {
"description": "Metadata for google.longrunning.Operation.",
"properties": {
"createTime": {
"description": "Output only. Time when the operation was created.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
},
"endTime": {
"description": "Output only. Time when the operation completed.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
},
"method": {
"description": "Output only. Method that initiated the operation e.g. google.cloud.vpcaccess.v1.Connectors.CreateConnector.",
"readOnly": true,
"type": "string"
},
"target": {
"description": "Output only. Name of the resource that this operation is acting on e.g. projects/my-project/locations/us-central1/connectors/v1.",
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"OperationMetadataV1Alpha1": {
"description": "Metadata for google.longrunning.Operation.",
"properties": {
"endTime": {
"description": "Output only. Time when the operation completed.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
},
"insertTime": {
"description": "Output only. Time when the operation was created.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
},
"method": {
"description": "Output only. Method that initiated the operation e.g. google.cloud.vpcaccess.v1alpha1.Connectors.CreateConnector.",
"readOnly": true,
"type": "string"
},
"target": {
"description": "Output only. Name of the resource that this operation is acting on e.g. projects/my-project/locations/us-central1/connectors/v1.",
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"OperationMetadataV1Beta1": {
"description": "Metadata for google.longrunning.Operation.",
"properties": {
"createTime": {
"description": "Output only. Time when the operation was created.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
},
"endTime": {
"description": "Output only. Time when the operation completed.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
},
"method": {
"description": "Output only. Method that initiated the operation e.g. google.cloud.vpcaccess.v1beta1.Connectors.CreateConnector.",
"readOnly": true,
"type": "string"
},
"target": {
"description": "Output only. Name of the resource that this operation is acting on e.g. projects/my-project/locations/us-central1/connectors/v1.",
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"Status": {
"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
"properties": {
"code": {
"description": "The status code, which should be an enum value of google.rpc.Code.",
"format": "int32",
"type": "integer"
},
"details": {
"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
"items": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL."
},
"type": "object"
},
"type": "array"
},
"message": {
"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
"type": "string"
}
},
"type": "object"
},
"Subnet": {
"description": "The subnet in which to house the connector",
"properties": {
"name": {
"description": "Subnet name (relative, not fully qualified). E.g. if the full subnet selfLink is https://compute.googleapis.com/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetName} the correct input for this field would be {subnetName}",
"type": "string"
},
"projectId": {
"description": "Project in which the subnet exists. If not set, this project is assumed to be the project for which the connector create request was issued.",
"type": "string"
}
},
"type": "object"
}
},
"securitySchemes": {
"Oauth2": {
"description": "Oauth 2.0 implicit authentication",
"flows": {
"implicit": {
"authorizationUrl": "https://accounts.google.com/o/oauth2/auth",
"scopes": {
"https://www.googleapis.com/auth/cloud-platform": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
}
}
},
"type": "oauth2"
},
"Oauth2c": {
"description": "Oauth 2.0 authorizationCode authentication",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://accounts.google.com/o/oauth2/auth",
"scopes": {
"https://www.googleapis.com/auth/cloud-platform": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
},
"tokenUrl": "https://accounts.google.com/o/oauth2/token"
}
},
"type": "oauth2"
}
}
}
}