REST Resource: projects.locations.apis.configs

Resource: ApiConfig

An API Configuration is a combination of settings for both the Managed Service and Gateways serving this API Config.

JSON representation
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "displayName": string,
  "gatewayServiceAccount": string,
  "serviceConfigId": string,
  "state": enum (State),
  "openapiDocuments": [
    {
      object (OpenApiDocument)
    }
  ],
  "grpcServices": [
    {
      object (GrpcServiceDefinition)
    }
  ],
  "managedServiceConfigs": [
    {
      object (File)
    }
  ]
}
Fields
name

string

Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{apiConfig}

createTime

string (Timestamp format)

Output only. Created time.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Output only. Updated time.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

displayName

string

Optional. Display name.

gatewayServiceAccount

string

Immutable. The Google Cloud IAM Service Account that Gateways serving this config should use to authenticate to other services. This may either be the Service Account's email ({ACCOUNT_ID}@{PROJECT}.iam.gserviceaccount.com) or its full resource name (projects/{PROJECT}/accounts/{UNIQUE_ID}). This is most often used when the service is a GCP resource such as a Cloud Run Service or an IAP-secured service.

serviceConfigId

string

Output only. The ID of the associated Service Config ( https://cloud.google.com/service-infrastructure/docs/glossary#config).

state

enum (State)

Output only. State of the API Config.

openapiDocuments[]

object (OpenApiDocument)

Optional. OpenAPI specification documents. If specified, grpcServices and managedServiceConfigs must not be included.

grpcServices[]

object (GrpcServiceDefinition)

Optional. gRPC service definition files. If specified, openapiDocuments must not be included.

managedServiceConfigs[]

object (File)

Optional. Service Configuration files. At least one must be included when using gRPC service definitions. See https://cloud.google.com/endpoints/docs/grpc/grpc-service-config#service_configuration_overview for the expected file contents.

If multiple files are specified, the files are merged with the following rules: * All singular scalar fields are merged using "last one wins" semantics in the order of the files uploaded. * Repeated fields are concatenated. * Singular embedded messages are merged using these rules for nested fields.

State

All the possible API Config states.

Enums
STATE_UNSPECIFIED API Config does not have a state yet.
CREATING API Config is being created and deployed to the API Controller.
ACTIVE API Config is ready for use by Gateways.
FAILED API Config creation failed.
DELETING API Config is being deleted.
UPDATING API Config is being updated.
ACTIVATING API Config settings are being activated in downstream systems. API Configs in this state cannot be used by Gateways.

OpenApiDocument

An OpenAPI Specification Document describing an API.

JSON representation
{
  "document": {
    object (File)
  }
}
Fields
document

object (File)

The OpenAPI Specification document file.

File

A lightweight description of a file.

JSON representation
{
  "path": string,
  "contents": string
}
Fields
path

string

The file path (full or relative path). This is typically the path of the file when it is uploaded.

contents

string (bytes format)

The bytes that constitute the file.

A base64-encoded string.

GrpcServiceDefinition

A gRPC service definition.

JSON representation
{
  "fileDescriptorSet": {
    object (File)
  },
  "source": [
    {
      object (File)
    }
  ]
}
Fields
fileDescriptorSet

object (File)

Input only. File descriptor set, generated by protoc.

To generate, use protoc with imports and source info included. For an example test.proto file, the following command would put the value in a new file named out.pb.

$ protoc --include_imports --include_source_info test.proto -o out.pb

source[]

object (File)

Optional. Uncompiled proto files associated with the descriptor set, used for display purposes (server-side compilation is not supported). These should match the inputs to 'protoc' command used to generate fileDescriptorSet.

Methods

create

Creates a new ApiConfig in a given project and location.

delete

Deletes a single ApiConfig.

get

Gets details of a single ApiConfig.

getIamPolicy

Gets the access control policy for a resource.

list

Lists ApiConfigs in a given project and location.

patch

Updates the parameters of a single ApiConfig.

setIamPolicy

Sets the access control policy on the specified resource.

testIamPermissions

Returns permissions that a caller has on the specified resource.