gcp.apigateway.ApiConfig
Explore with Pulumi AI
An API Configuration is an association of an API Controller Config and a Gateway Config
To get more information about ApiConfig, see:
- API documentation
- How-to Guides
Example Usage
Create ApiConfig Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ApiConfig(name: string, args: ApiConfigArgs, opts?: CustomResourceOptions);
@overload
def ApiConfig(resource_name: str,
args: ApiConfigArgs,
opts: Optional[ResourceOptions] = None)
@overload
def ApiConfig(resource_name: str,
opts: Optional[ResourceOptions] = None,
api: Optional[str] = None,
api_config_id: Optional[str] = None,
api_config_id_prefix: Optional[str] = None,
display_name: Optional[str] = None,
gateway_config: Optional[ApiConfigGatewayConfigArgs] = None,
grpc_services: Optional[Sequence[ApiConfigGrpcServiceArgs]] = None,
labels: Optional[Mapping[str, str]] = None,
managed_service_configs: Optional[Sequence[ApiConfigManagedServiceConfigArgs]] = None,
openapi_documents: Optional[Sequence[ApiConfigOpenapiDocumentArgs]] = None,
project: Optional[str] = None)
func NewApiConfig(ctx *Context, name string, args ApiConfigArgs, opts ...ResourceOption) (*ApiConfig, error)
public ApiConfig(string name, ApiConfigArgs args, CustomResourceOptions? opts = null)
public ApiConfig(String name, ApiConfigArgs args)
public ApiConfig(String name, ApiConfigArgs args, CustomResourceOptions options)
type: gcp:apigateway:ApiConfig
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ApiConfigArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ApiConfigArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ApiConfigArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ApiConfigArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ApiConfigArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var apiConfigResource = new Gcp.ApiGateway.ApiConfig("apiConfigResource", new()
{
Api = "string",
ApiConfigId = "string",
ApiConfigIdPrefix = "string",
DisplayName = "string",
GatewayConfig = new Gcp.ApiGateway.Inputs.ApiConfigGatewayConfigArgs
{
BackendConfig = new Gcp.ApiGateway.Inputs.ApiConfigGatewayConfigBackendConfigArgs
{
GoogleServiceAccount = "string",
},
},
GrpcServices = new[]
{
new Gcp.ApiGateway.Inputs.ApiConfigGrpcServiceArgs
{
FileDescriptorSet = new Gcp.ApiGateway.Inputs.ApiConfigGrpcServiceFileDescriptorSetArgs
{
Contents = "string",
Path = "string",
},
Sources = new[]
{
new Gcp.ApiGateway.Inputs.ApiConfigGrpcServiceSourceArgs
{
Contents = "string",
Path = "string",
},
},
},
},
Labels =
{
{ "string", "string" },
},
ManagedServiceConfigs = new[]
{
new Gcp.ApiGateway.Inputs.ApiConfigManagedServiceConfigArgs
{
Contents = "string",
Path = "string",
},
},
OpenapiDocuments = new[]
{
new Gcp.ApiGateway.Inputs.ApiConfigOpenapiDocumentArgs
{
Document = new Gcp.ApiGateway.Inputs.ApiConfigOpenapiDocumentDocumentArgs
{
Contents = "string",
Path = "string",
},
},
},
Project = "string",
});
example, err := apigateway.NewApiConfig(ctx, "apiConfigResource", &apigateway.ApiConfigArgs{
Api: pulumi.String("string"),
ApiConfigId: pulumi.String("string"),
ApiConfigIdPrefix: pulumi.String("string"),
DisplayName: pulumi.String("string"),
GatewayConfig: &apigateway.ApiConfigGatewayConfigArgs{
BackendConfig: &apigateway.ApiConfigGatewayConfigBackendConfigArgs{
GoogleServiceAccount: pulumi.String("string"),
},
},
GrpcServices: apigateway.ApiConfigGrpcServiceArray{
&apigateway.ApiConfigGrpcServiceArgs{
FileDescriptorSet: &apigateway.ApiConfigGrpcServiceFileDescriptorSetArgs{
Contents: pulumi.String("string"),
Path: pulumi.String("string"),
},
Sources: apigateway.ApiConfigGrpcServiceSourceArray{
&apigateway.ApiConfigGrpcServiceSourceArgs{
Contents: pulumi.String("string"),
Path: pulumi.String("string"),
},
},
},
},
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
ManagedServiceConfigs: apigateway.ApiConfigManagedServiceConfigArray{
&apigateway.ApiConfigManagedServiceConfigArgs{
Contents: pulumi.String("string"),
Path: pulumi.String("string"),
},
},
OpenapiDocuments: apigateway.ApiConfigOpenapiDocumentArray{
&apigateway.ApiConfigOpenapiDocumentArgs{
Document: &apigateway.ApiConfigOpenapiDocumentDocumentArgs{
Contents: pulumi.String("string"),
Path: pulumi.String("string"),
},
},
},
Project: pulumi.String("string"),
})
var apiConfigResource = new ApiConfig("apiConfigResource", ApiConfigArgs.builder()
.api("string")
.apiConfigId("string")
.apiConfigIdPrefix("string")
.displayName("string")
.gatewayConfig(ApiConfigGatewayConfigArgs.builder()
.backendConfig(ApiConfigGatewayConfigBackendConfigArgs.builder()
.googleServiceAccount("string")
.build())
.build())
.grpcServices(ApiConfigGrpcServiceArgs.builder()
.fileDescriptorSet(ApiConfigGrpcServiceFileDescriptorSetArgs.builder()
.contents("string")
.path("string")
.build())
.sources(ApiConfigGrpcServiceSourceArgs.builder()
.contents("string")
.path("string")
.build())
.build())
.labels(Map.of("string", "string"))
.managedServiceConfigs(ApiConfigManagedServiceConfigArgs.builder()
.contents("string")
.path("string")
.build())
.openapiDocuments(ApiConfigOpenapiDocumentArgs.builder()
.document(ApiConfigOpenapiDocumentDocumentArgs.builder()
.contents("string")
.path("string")
.build())
.build())
.project("string")
.build());
api_config_resource = gcp.apigateway.ApiConfig("apiConfigResource",
api="string",
api_config_id="string",
api_config_id_prefix="string",
display_name="string",
gateway_config={
"backendConfig": {
"googleServiceAccount": "string",
},
},
grpc_services=[{
"fileDescriptorSet": {
"contents": "string",
"path": "string",
},
"sources": [{
"contents": "string",
"path": "string",
}],
}],
labels={
"string": "string",
},
managed_service_configs=[{
"contents": "string",
"path": "string",
}],
openapi_documents=[{
"document": {
"contents": "string",
"path": "string",
},
}],
project="string")
const apiConfigResource = new gcp.apigateway.ApiConfig("apiConfigResource", {
api: "string",
apiConfigId: "string",
apiConfigIdPrefix: "string",
displayName: "string",
gatewayConfig: {
backendConfig: {
googleServiceAccount: "string",
},
},
grpcServices: [{
fileDescriptorSet: {
contents: "string",
path: "string",
},
sources: [{
contents: "string",
path: "string",
}],
}],
labels: {
string: "string",
},
managedServiceConfigs: [{
contents: "string",
path: "string",
}],
openapiDocuments: [{
document: {
contents: "string",
path: "string",
},
}],
project: "string",
});
type: gcp:apigateway:ApiConfig
properties:
api: string
apiConfigId: string
apiConfigIdPrefix: string
displayName: string
gatewayConfig:
backendConfig:
googleServiceAccount: string
grpcServices:
- fileDescriptorSet:
contents: string
path: string
sources:
- contents: string
path: string
labels:
string: string
managedServiceConfigs:
- contents: string
path: string
openapiDocuments:
- document:
contents: string
path: string
project: string
ApiConfig Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The ApiConfig resource accepts the following input properties:
- Api string
- The API to attach the config to.
- Api
Config stringId - Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- Api
Config stringId Prefix - Creates a unique name beginning with the specified prefix. If this and api_config_id are unspecified, a random value is chosen for the name.
- Display
Name string - A user-visible name for the API.
- Gateway
Config ApiConfig Gateway Config - Immutable. Gateway specific configuration. If not specified, backend authentication will be set to use OIDC authentication using the default compute service account Structure is documented below.
- Grpc
Services List<ApiConfig Grpc Service> - gRPC service definition files. If specified, openapiDocuments must not be included. Structure is documented below.
- Labels Dictionary<string, string>
Resource labels to represent user-provided metadata.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effective_labels
for all of the labels present on the resource.- Managed
Service List<ApiConfigs Config Managed Service Config> - 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. Structure is documented below.
- Openapi
Documents List<ApiConfig Openapi Document> - OpenAPI specification documents. If specified, grpcServices and managedServiceConfigs must not be included. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Api string
- The API to attach the config to.
- Api
Config stringId - Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- Api
Config stringId Prefix - Creates a unique name beginning with the specified prefix. If this and api_config_id are unspecified, a random value is chosen for the name.
- Display
Name string - A user-visible name for the API.
- Gateway
Config ApiConfig Gateway Config Args - Immutable. Gateway specific configuration. If not specified, backend authentication will be set to use OIDC authentication using the default compute service account Structure is documented below.
- Grpc
Services []ApiConfig Grpc Service Args - gRPC service definition files. If specified, openapiDocuments must not be included. Structure is documented below.
- Labels map[string]string
Resource labels to represent user-provided metadata.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effective_labels
for all of the labels present on the resource.- Managed
Service []ApiConfigs Config Managed Service Config Args - 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. Structure is documented below.
- Openapi
Documents []ApiConfig Openapi Document Args - OpenAPI specification documents. If specified, grpcServices and managedServiceConfigs must not be included. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- api String
- The API to attach the config to.
- api
Config StringId - Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- api
Config StringId Prefix - Creates a unique name beginning with the specified prefix. If this and api_config_id are unspecified, a random value is chosen for the name.
- display
Name String - A user-visible name for the API.
- gateway
Config ApiConfig Gateway Config - Immutable. Gateway specific configuration. If not specified, backend authentication will be set to use OIDC authentication using the default compute service account Structure is documented below.
- grpc
Services List<ApiConfig Grpc Service> - gRPC service definition files. If specified, openapiDocuments must not be included. Structure is documented below.
- labels Map<String,String>
Resource labels to represent user-provided metadata.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effective_labels
for all of the labels present on the resource.- managed
Service List<ApiConfigs Config Managed Service Config> - 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. Structure is documented below.
- openapi
Documents List<ApiConfig Openapi Document> - OpenAPI specification documents. If specified, grpcServices and managedServiceConfigs must not be included. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- api string
- The API to attach the config to.
- api
Config stringId - Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- api
Config stringId Prefix - Creates a unique name beginning with the specified prefix. If this and api_config_id are unspecified, a random value is chosen for the name.
- display
Name string - A user-visible name for the API.
- gateway
Config ApiConfig Gateway Config - Immutable. Gateway specific configuration. If not specified, backend authentication will be set to use OIDC authentication using the default compute service account Structure is documented below.
- grpc
Services ApiConfig Grpc Service[] - gRPC service definition files. If specified, openapiDocuments must not be included. Structure is documented below.
- labels {[key: string]: string}
Resource labels to represent user-provided metadata.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effective_labels
for all of the labels present on the resource.- managed
Service ApiConfigs Config Managed Service Config[] - 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. Structure is documented below.
- openapi
Documents ApiConfig Openapi Document[] - OpenAPI specification documents. If specified, grpcServices and managedServiceConfigs must not be included. Structure is documented below.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- api str
- The API to attach the config to.
- api_
config_ strid - Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- api_
config_ strid_ prefix - Creates a unique name beginning with the specified prefix. If this and api_config_id are unspecified, a random value is chosen for the name.
- display_
name str - A user-visible name for the API.
- gateway_
config ApiConfig Gateway Config Args - Immutable. Gateway specific configuration. If not specified, backend authentication will be set to use OIDC authentication using the default compute service account Structure is documented below.
- grpc_
services Sequence[ApiConfig Grpc Service Args] - gRPC service definition files. If specified, openapiDocuments must not be included. Structure is documented below.
- labels Mapping[str, str]
Resource labels to represent user-provided metadata.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effective_labels
for all of the labels present on the resource.- managed_
service_ Sequence[Apiconfigs Config Managed Service Config Args] - 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. Structure is documented below.
- openapi_
documents Sequence[ApiConfig Openapi Document Args] - OpenAPI specification documents. If specified, grpcServices and managedServiceConfigs must not be included. Structure is documented below.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- api String
- The API to attach the config to.
- api
Config StringId - Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- api
Config StringId Prefix - Creates a unique name beginning with the specified prefix. If this and api_config_id are unspecified, a random value is chosen for the name.
- display
Name String - A user-visible name for the API.
- gateway
Config Property Map - Immutable. Gateway specific configuration. If not specified, backend authentication will be set to use OIDC authentication using the default compute service account Structure is documented below.
- grpc
Services List<Property Map> - gRPC service definition files. If specified, openapiDocuments must not be included. Structure is documented below.
- labels Map<String>
Resource labels to represent user-provided metadata.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effective_labels
for all of the labels present on the resource.- managed
Service List<Property Map>Configs - 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. Structure is documented below.
- openapi
Documents List<Property Map> - OpenAPI specification documents. If specified, grpcServices and managedServiceConfigs must not be included. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
Outputs
All input properties are implicitly available as output properties. Additionally, the ApiConfig resource produces the following output properties:
- Effective
Labels Dictionary<string, string> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- The resource name of the API Config.
- Pulumi
Labels Dictionary<string, string> - The combination of labels configured directly on the resource and default labels configured on the provider.
- Service
Config stringId - The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
- Effective
Labels map[string]string - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- The resource name of the API Config.
- Pulumi
Labels map[string]string - The combination of labels configured directly on the resource and default labels configured on the provider.
- Service
Config stringId - The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
- effective
Labels Map<String,String> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- The resource name of the API Config.
- pulumi
Labels Map<String,String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- service
Config StringId - The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
- effective
Labels {[key: string]: string} - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- The resource name of the API Config.
- pulumi
Labels {[key: string]: string} - The combination of labels configured directly on the resource and default labels configured on the provider.
- service
Config stringId - The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
- effective_
labels Mapping[str, str] - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- id str
- The provider-assigned unique ID for this managed resource.
- name str
- The resource name of the API Config.
- pulumi_
labels Mapping[str, str] - The combination of labels configured directly on the resource and default labels configured on the provider.
- service_
config_ strid - The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
- effective
Labels Map<String> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- The resource name of the API Config.
- pulumi
Labels Map<String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- service
Config StringId - The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
Look up Existing ApiConfig Resource
Get an existing ApiConfig resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ApiConfigState, opts?: CustomResourceOptions): ApiConfig
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
api: Optional[str] = None,
api_config_id: Optional[str] = None,
api_config_id_prefix: Optional[str] = None,
display_name: Optional[str] = None,
effective_labels: Optional[Mapping[str, str]] = None,
gateway_config: Optional[ApiConfigGatewayConfigArgs] = None,
grpc_services: Optional[Sequence[ApiConfigGrpcServiceArgs]] = None,
labels: Optional[Mapping[str, str]] = None,
managed_service_configs: Optional[Sequence[ApiConfigManagedServiceConfigArgs]] = None,
name: Optional[str] = None,
openapi_documents: Optional[Sequence[ApiConfigOpenapiDocumentArgs]] = None,
project: Optional[str] = None,
pulumi_labels: Optional[Mapping[str, str]] = None,
service_config_id: Optional[str] = None) -> ApiConfig
func GetApiConfig(ctx *Context, name string, id IDInput, state *ApiConfigState, opts ...ResourceOption) (*ApiConfig, error)
public static ApiConfig Get(string name, Input<string> id, ApiConfigState? state, CustomResourceOptions? opts = null)
public static ApiConfig get(String name, Output<String> id, ApiConfigState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Api string
- The API to attach the config to.
- Api
Config stringId - Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- Api
Config stringId Prefix - Creates a unique name beginning with the specified prefix. If this and api_config_id are unspecified, a random value is chosen for the name.
- Display
Name string - A user-visible name for the API.
- Effective
Labels Dictionary<string, string> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Gateway
Config ApiConfig Gateway Config - Immutable. Gateway specific configuration. If not specified, backend authentication will be set to use OIDC authentication using the default compute service account Structure is documented below.
- Grpc
Services List<ApiConfig Grpc Service> - gRPC service definition files. If specified, openapiDocuments must not be included. Structure is documented below.
- Labels Dictionary<string, string>
Resource labels to represent user-provided metadata.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effective_labels
for all of the labels present on the resource.- Managed
Service List<ApiConfigs Config Managed Service Config> - 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. Structure is documented below.
- Name string
- The resource name of the API Config.
- Openapi
Documents List<ApiConfig Openapi Document> - OpenAPI specification documents. If specified, grpcServices and managedServiceConfigs must not be included. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Pulumi
Labels Dictionary<string, string> - The combination of labels configured directly on the resource and default labels configured on the provider.
- Service
Config stringId - The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
- Api string
- The API to attach the config to.
- Api
Config stringId - Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- Api
Config stringId Prefix - Creates a unique name beginning with the specified prefix. If this and api_config_id are unspecified, a random value is chosen for the name.
- Display
Name string - A user-visible name for the API.
- Effective
Labels map[string]string - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Gateway
Config ApiConfig Gateway Config Args - Immutable. Gateway specific configuration. If not specified, backend authentication will be set to use OIDC authentication using the default compute service account Structure is documented below.
- Grpc
Services []ApiConfig Grpc Service Args - gRPC service definition files. If specified, openapiDocuments must not be included. Structure is documented below.
- Labels map[string]string
Resource labels to represent user-provided metadata.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effective_labels
for all of the labels present on the resource.- Managed
Service []ApiConfigs Config Managed Service Config Args - 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. Structure is documented below.
- Name string
- The resource name of the API Config.
- Openapi
Documents []ApiConfig Openapi Document Args - OpenAPI specification documents. If specified, grpcServices and managedServiceConfigs must not be included. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Pulumi
Labels map[string]string - The combination of labels configured directly on the resource and default labels configured on the provider.
- Service
Config stringId - The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
- api String
- The API to attach the config to.
- api
Config StringId - Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- api
Config StringId Prefix - Creates a unique name beginning with the specified prefix. If this and api_config_id are unspecified, a random value is chosen for the name.
- display
Name String - A user-visible name for the API.
- effective
Labels Map<String,String> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- gateway
Config ApiConfig Gateway Config - Immutable. Gateway specific configuration. If not specified, backend authentication will be set to use OIDC authentication using the default compute service account Structure is documented below.
- grpc
Services List<ApiConfig Grpc Service> - gRPC service definition files. If specified, openapiDocuments must not be included. Structure is documented below.
- labels Map<String,String>
Resource labels to represent user-provided metadata.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effective_labels
for all of the labels present on the resource.- managed
Service List<ApiConfigs Config Managed Service Config> - 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. Structure is documented below.
- name String
- The resource name of the API Config.
- openapi
Documents List<ApiConfig Openapi Document> - OpenAPI specification documents. If specified, grpcServices and managedServiceConfigs must not be included. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumi
Labels Map<String,String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- service
Config StringId - The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
- api string
- The API to attach the config to.
- api
Config stringId - Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- api
Config stringId Prefix - Creates a unique name beginning with the specified prefix. If this and api_config_id are unspecified, a random value is chosen for the name.
- display
Name string - A user-visible name for the API.
- effective
Labels {[key: string]: string} - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- gateway
Config ApiConfig Gateway Config - Immutable. Gateway specific configuration. If not specified, backend authentication will be set to use OIDC authentication using the default compute service account Structure is documented below.
- grpc
Services ApiConfig Grpc Service[] - gRPC service definition files. If specified, openapiDocuments must not be included. Structure is documented below.
- labels {[key: string]: string}
Resource labels to represent user-provided metadata.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effective_labels
for all of the labels present on the resource.- managed
Service ApiConfigs Config Managed Service Config[] - 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. Structure is documented below.
- name string
- The resource name of the API Config.
- openapi
Documents ApiConfig Openapi Document[] - OpenAPI specification documents. If specified, grpcServices and managedServiceConfigs must not be included. Structure is documented below.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumi
Labels {[key: string]: string} - The combination of labels configured directly on the resource and default labels configured on the provider.
- service
Config stringId - The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
- api str
- The API to attach the config to.
- api_
config_ strid - Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- api_
config_ strid_ prefix - Creates a unique name beginning with the specified prefix. If this and api_config_id are unspecified, a random value is chosen for the name.
- display_
name str - A user-visible name for the API.
- effective_
labels Mapping[str, str] - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- gateway_
config ApiConfig Gateway Config Args - Immutable. Gateway specific configuration. If not specified, backend authentication will be set to use OIDC authentication using the default compute service account Structure is documented below.
- grpc_
services Sequence[ApiConfig Grpc Service Args] - gRPC service definition files. If specified, openapiDocuments must not be included. Structure is documented below.
- labels Mapping[str, str]
Resource labels to represent user-provided metadata.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effective_labels
for all of the labels present on the resource.- managed_
service_ Sequence[Apiconfigs Config Managed Service Config Args] - 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. Structure is documented below.
- name str
- The resource name of the API Config.
- openapi_
documents Sequence[ApiConfig Openapi Document Args] - OpenAPI specification documents. If specified, grpcServices and managedServiceConfigs must not be included. Structure is documented below.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumi_
labels Mapping[str, str] - The combination of labels configured directly on the resource and default labels configured on the provider.
- service_
config_ strid - The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
- api String
- The API to attach the config to.
- api
Config StringId - Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- api
Config StringId Prefix - Creates a unique name beginning with the specified prefix. If this and api_config_id are unspecified, a random value is chosen for the name.
- display
Name String - A user-visible name for the API.
- effective
Labels Map<String> - All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- gateway
Config Property Map - Immutable. Gateway specific configuration. If not specified, backend authentication will be set to use OIDC authentication using the default compute service account Structure is documented below.
- grpc
Services List<Property Map> - gRPC service definition files. If specified, openapiDocuments must not be included. Structure is documented below.
- labels Map<String>
Resource labels to represent user-provided metadata.
Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
effective_labels
for all of the labels present on the resource.- managed
Service List<Property Map>Configs - 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. Structure is documented below.
- name String
- The resource name of the API Config.
- openapi
Documents List<Property Map> - OpenAPI specification documents. If specified, grpcServices and managedServiceConfigs must not be included. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumi
Labels Map<String> - The combination of labels configured directly on the resource and default labels configured on the provider.
- service
Config StringId - The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
Supporting Types
ApiConfigGatewayConfig, ApiConfigGatewayConfigArgs
- Backend
Config ApiConfig Gateway Config Backend Config - Backend settings that are applied to all backends of the Gateway. Structure is documented below.
- Backend
Config ApiConfig Gateway Config Backend Config - Backend settings that are applied to all backends of the Gateway. Structure is documented below.
- backend
Config ApiConfig Gateway Config Backend Config - Backend settings that are applied to all backends of the Gateway. Structure is documented below.
- backend
Config ApiConfig Gateway Config Backend Config - Backend settings that are applied to all backends of the Gateway. Structure is documented below.
- backend_
config ApiConfig Gateway Config Backend Config - Backend settings that are applied to all backends of the Gateway. Structure is documented below.
- backend
Config Property Map - Backend settings that are applied to all backends of the Gateway. Structure is documented below.
ApiConfigGatewayConfigBackendConfig, ApiConfigGatewayConfigBackendConfigArgs
- Google
Service stringAccount - Google Cloud IAM service account used to sign OIDC tokens for backends that have authentication configured (https://cloud.google.com/service-infrastructure/docs/service-management/reference/rest/v1/services.configs#backend).
- Google
Service stringAccount - Google Cloud IAM service account used to sign OIDC tokens for backends that have authentication configured (https://cloud.google.com/service-infrastructure/docs/service-management/reference/rest/v1/services.configs#backend).
- google
Service StringAccount - Google Cloud IAM service account used to sign OIDC tokens for backends that have authentication configured (https://cloud.google.com/service-infrastructure/docs/service-management/reference/rest/v1/services.configs#backend).
- google
Service stringAccount - Google Cloud IAM service account used to sign OIDC tokens for backends that have authentication configured (https://cloud.google.com/service-infrastructure/docs/service-management/reference/rest/v1/services.configs#backend).
- google_
service_ straccount - Google Cloud IAM service account used to sign OIDC tokens for backends that have authentication configured (https://cloud.google.com/service-infrastructure/docs/service-management/reference/rest/v1/services.configs#backend).
- google
Service StringAccount - Google Cloud IAM service account used to sign OIDC tokens for backends that have authentication configured (https://cloud.google.com/service-infrastructure/docs/service-management/reference/rest/v1/services.configs#backend).
ApiConfigGrpcService, ApiConfigGrpcServiceArgs
- File
Descriptor ApiSet Config Grpc Service File Descriptor Set - 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 Structure is documented below.
- Sources
List<Api
Config Grpc Service Source> - 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. Structure is documented below.
- File
Descriptor ApiSet Config Grpc Service File Descriptor Set - 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 Structure is documented below.
- Sources
[]Api
Config Grpc Service Source - 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. Structure is documented below.
- file
Descriptor ApiSet Config Grpc Service File Descriptor Set - 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 Structure is documented below.
- sources
List<Api
Config Grpc Service Source> - 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. Structure is documented below.
- file
Descriptor ApiSet Config Grpc Service File Descriptor Set - 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 Structure is documented below.
- sources
Api
Config Grpc Service Source[] - 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. Structure is documented below.
- file_
descriptor_ Apiset Config Grpc Service File Descriptor Set - 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 Structure is documented below.
- sources
Sequence[Api
Config Grpc Service Source] - 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. Structure is documented below.
- file
Descriptor Property MapSet - 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 Structure is documented below.
- sources List<Property Map>
- 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. Structure is documented below.
ApiConfigGrpcServiceFileDescriptorSet, ApiConfigGrpcServiceFileDescriptorSetArgs
ApiConfigGrpcServiceSource, ApiConfigGrpcServiceSourceArgs
ApiConfigManagedServiceConfig, ApiConfigManagedServiceConfigArgs
ApiConfigOpenapiDocument, ApiConfigOpenapiDocumentArgs
- Document
Api
Config Openapi Document Document - The OpenAPI Specification document file. Structure is documented below.
- Document
Api
Config Openapi Document Document - The OpenAPI Specification document file. Structure is documented below.
- document
Api
Config Openapi Document Document - The OpenAPI Specification document file. Structure is documented below.
- document
Api
Config Openapi Document Document - The OpenAPI Specification document file. Structure is documented below.
- document
Api
Config Openapi Document Document - The OpenAPI Specification document file. Structure is documented below.
- document Property Map
- The OpenAPI Specification document file. Structure is documented below.
ApiConfigOpenapiDocumentDocument, ApiConfigOpenapiDocumentDocumentArgs
Import
ApiConfig can be imported using any of these accepted formats:
projects/{{project}}/locations/global/apis/{{api}}/configs/{{api_config_id}}
{{project}}/{{api}}/{{api_config_id}}
{{api}}/{{api_config_id}}
When using the pulumi import
command, ApiConfig can be imported using one of the formats above. For example:
$ pulumi import gcp:apigateway/apiConfig:ApiConfig default projects/{{project}}/locations/global/apis/{{api}}/configs/{{api_config_id}}
$ pulumi import gcp:apigateway/apiConfig:ApiConfig default {{project}}/{{api}}/{{api_config_id}}
$ pulumi import gcp:apigateway/apiConfig:ApiConfig default {{api}}/{{api_config_id}}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
google-beta
Terraform Provider.