Skip to main content

configs

Creates, updates, deletes, gets or lists a configs resource.

Overview

Nameconfigs
TypeResource
Idgoogle.apigateway.configs

Fields

NameDatatypeDescription
namestringOutput only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config}
createTimestringOutput only. Created time.
displayNamestringOptional. Display name.
gatewayServiceAccountstringImmutable. 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.
grpcServicesarrayOptional. gRPC service definition files. If specified, openapi_documents must not be included.
labelsobjectOptional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources
managedServiceConfigsarrayOptional. 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.
openapiDocumentsarrayOptional. OpenAPI specification documents. If specified, grpc_services and managed_service_configs must not be included.
serviceConfigIdstringOutput only. The ID of the associated Service Config ( https://cloud.google.com/service-infrastructure/docs/glossary#config).
statestringOutput only. State of the API Config.
updateTimestringOutput only. Updated time.

Methods

NameAccessible byRequired ParamsDescription
getSELECTapisId, configsId, locationsId, projectsIdGets details of a single ApiConfig.
listSELECTapisId, locationsId, projectsIdLists ApiConfigs in a given project and location.
createINSERTapisId, locationsId, projectsIdCreates a new ApiConfig in a given project and location.
deleteDELETEapisId, configsId, locationsId, projectsIdDeletes a single ApiConfig.
patchUPDATEapisId, configsId, locationsId, projectsIdUpdates the parameters of a single ApiConfig.

SELECT examples

Lists ApiConfigs in a given project and location.

SELECT
name,
createTime,
displayName,
gatewayServiceAccount,
grpcServices,
labels,
managedServiceConfigs,
openapiDocuments,
serviceConfigId,
state,
updateTime
FROM google.apigateway.configs
WHERE apisId = '{{ apisId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';

INSERT example

Use the following StackQL query and manifest file to create a new configs resource.

/*+ create */
INSERT INTO google.apigateway.configs (
apisId,
locationsId,
projectsId,
labels,
displayName,
gatewayServiceAccount,
openapiDocuments,
grpcServices,
managedServiceConfigs
)
SELECT
'{{ apisId }}',
'{{ locationsId }}',
'{{ projectsId }}',
'{{ labels }}',
'{{ displayName }}',
'{{ gatewayServiceAccount }}',
'{{ openapiDocuments }}',
'{{ grpcServices }}',
'{{ managedServiceConfigs }}'
;

UPDATE example

Updates a configs resource.

/*+ update */
UPDATE google.apigateway.configs
SET
labels = '{{ labels }}',
displayName = '{{ displayName }}',
gatewayServiceAccount = '{{ gatewayServiceAccount }}',
openapiDocuments = '{{ openapiDocuments }}',
grpcServices = '{{ grpcServices }}',
managedServiceConfigs = '{{ managedServiceConfigs }}'
WHERE
apisId = '{{ apisId }}'
AND configsId = '{{ configsId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';

DELETE example

Deletes the specified configs resource.

/*+ delete */
DELETE FROM google.apigateway.configs
WHERE apisId = '{{ apisId }}'
AND configsId = '{{ configsId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';