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={
        "backend_config": {
            "google_service_account": "string",
        },
    },
    grpc_services=[{
        "file_descriptor_set": {
            "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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The ApiConfig resource accepts the following input properties:
- Api string
- The API to attach the config to.
- ApiConfig stringId 
- Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- ApiConfig 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.
- DisplayName string
- A user-visible name for the API.
- GatewayConfig 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.
- GrpcServices 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_labelsfor all of the labels present on the resource.
- ManagedService 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.
- OpenapiDocuments 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.
- ApiConfig stringId 
- Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- ApiConfig 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.
- DisplayName string
- A user-visible name for the API.
- GatewayConfig 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.
- GrpcServices []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_labelsfor all of the labels present on the resource.
- ManagedService []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.
- OpenapiDocuments []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.
- apiConfig StringId 
- Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- apiConfig 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.
- displayName String
- A user-visible name for the API.
- gatewayConfig 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.
- grpcServices 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_labelsfor all of the labels present on the resource.
- managedService 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.
- openapiDocuments 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.
- apiConfig stringId 
- Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- apiConfig 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.
- displayName string
- A user-visible name for the API.
- gatewayConfig 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.
- grpcServices 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_labelsfor all of the labels present on the resource.
- managedService 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.
- openapiDocuments 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_labelsfor 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.
- apiConfig StringId 
- Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- apiConfig 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.
- displayName String
- A user-visible name for the API.
- gatewayConfig 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.
- grpcServices 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_labelsfor all of the labels present on the resource.
- managedService 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.
- openapiDocuments 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:
- EffectiveLabels 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.
- PulumiLabels Dictionary<string, string>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- ServiceConfig stringId 
- The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
- EffectiveLabels 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.
- PulumiLabels map[string]string
- The combination of labels configured directly on the resource and default labels configured on the provider.
- ServiceConfig stringId 
- The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
- effectiveLabels 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.
- pulumiLabels Map<String,String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- serviceConfig StringId 
- The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
- effectiveLabels {[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.
- pulumiLabels {[key: string]: string}
- The combination of labels configured directly on the resource and default labels configured on the provider.
- serviceConfig 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).
- effectiveLabels 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.
- pulumiLabels Map<String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- serviceConfig 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) -> ApiConfigfunc 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)resources:  _:    type: gcp:apigateway:ApiConfig    get:      id: ${id}- 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.
- ApiConfig stringId 
- Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- ApiConfig 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.
- DisplayName string
- A user-visible name for the API.
- EffectiveLabels 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.
- GatewayConfig 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.
- GrpcServices 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_labelsfor all of the labels present on the resource.
- ManagedService 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.
- OpenapiDocuments 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.
- PulumiLabels Dictionary<string, string>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- ServiceConfig 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.
- ApiConfig stringId 
- Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- ApiConfig 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.
- DisplayName string
- A user-visible name for the API.
- EffectiveLabels 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.
- GatewayConfig 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.
- GrpcServices []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_labelsfor all of the labels present on the resource.
- ManagedService []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.
- OpenapiDocuments []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.
- PulumiLabels map[string]string
- The combination of labels configured directly on the resource and default labels configured on the provider.
- ServiceConfig 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.
- apiConfig StringId 
- Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- apiConfig 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.
- displayName String
- A user-visible name for the API.
- effectiveLabels 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.
- gatewayConfig 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.
- grpcServices 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_labelsfor all of the labels present on the resource.
- managedService 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.
- openapiDocuments 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.
- pulumiLabels Map<String,String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- serviceConfig 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.
- apiConfig stringId 
- Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- apiConfig 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.
- displayName string
- A user-visible name for the API.
- effectiveLabels {[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.
- gatewayConfig 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.
- grpcServices 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_labelsfor all of the labels present on the resource.
- managedService 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.
- openapiDocuments 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.
- pulumiLabels {[key: string]: string}
- The combination of labels configured directly on the resource and default labels configured on the provider.
- serviceConfig 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_labelsfor 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.
- apiConfig StringId 
- Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
- apiConfig 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.
- displayName String
- A user-visible name for the API.
- effectiveLabels Map<String>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- gatewayConfig 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.
- grpcServices 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_labelsfor all of the labels present on the resource.
- managedService 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.
- openapiDocuments 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.
- pulumiLabels Map<String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- serviceConfig StringId 
- The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).
Supporting Types
ApiConfigGatewayConfig, ApiConfigGatewayConfigArgs        
- BackendConfig ApiConfig Gateway Config Backend Config 
- Backend settings that are applied to all backends of the Gateway. Structure is documented below.
- BackendConfig ApiConfig Gateway Config Backend Config 
- Backend settings that are applied to all backends of the Gateway. Structure is documented below.
- backendConfig ApiConfig Gateway Config Backend Config 
- Backend settings that are applied to all backends of the Gateway. Structure is documented below.
- backendConfig 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.
- backendConfig Property Map
- Backend settings that are applied to all backends of the Gateway. Structure is documented below.
ApiConfigGatewayConfigBackendConfig, ApiConfigGatewayConfigBackendConfigArgs            
- GoogleService 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).
- GoogleService 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).
- googleService 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).
- googleService 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).
- googleService 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        
- FileDescriptor 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<ApiConfig 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.
- FileDescriptor 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
[]ApiConfig 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.
- fileDescriptor 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<ApiConfig 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.
- fileDescriptor 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
ApiConfig 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[ApiConfig 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.
- fileDescriptor 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
ApiConfig Openapi Document Document 
- The OpenAPI Specification document file. Structure is documented below.
- Document
ApiConfig Openapi Document Document 
- The OpenAPI Specification document file. Structure is documented below.
- document
ApiConfig Openapi Document Document 
- The OpenAPI Specification document file. Structure is documented below.
- document
ApiConfig Openapi Document Document 
- The OpenAPI Specification document file. Structure is documented below.
- document
ApiConfig 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-betaTerraform Provider.