1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. apigateway
  5. ApiConfig
Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi

gcp.apigateway.ApiConfig

Explore with Pulumi AI

gcp logo
Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi

    An API Configuration is an association of an API Controller Config and a Gateway Config

    To get more information about ApiConfig, see:

    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.


    ApiConfigId string
    Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
    ApiConfigIdPrefix string
    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 ApiConfigGatewayConfig
    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<ApiConfigGrpcService>
    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.

    ManagedServiceConfigs List<ApiConfigManagedServiceConfig>
    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<ApiConfigOpenapiDocument>
    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.


    ApiConfigId string
    Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
    ApiConfigIdPrefix string
    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 ApiConfigGatewayConfigArgs
    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 []ApiConfigGrpcServiceArgs
    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.

    ManagedServiceConfigs []ApiConfigManagedServiceConfigArgs
    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 []ApiConfigOpenapiDocumentArgs
    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.


    apiConfigId String
    Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
    apiConfigIdPrefix String
    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 ApiConfigGatewayConfig
    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<ApiConfigGrpcService>
    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.

    managedServiceConfigs List<ApiConfigManagedServiceConfig>
    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<ApiConfigOpenapiDocument>
    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.


    apiConfigId string
    Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
    apiConfigIdPrefix string
    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 ApiConfigGatewayConfig
    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 ApiConfigGrpcService[]
    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.

    managedServiceConfigs ApiConfigManagedServiceConfig[]
    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 ApiConfigOpenapiDocument[]
    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_id str
    Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
    api_config_id_prefix str
    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 ApiConfigGatewayConfigArgs
    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[ApiConfigGrpcServiceArgs]
    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_configs Sequence[ApiConfigManagedServiceConfigArgs]
    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[ApiConfigOpenapiDocumentArgs]
    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.


    apiConfigId String
    Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
    apiConfigIdPrefix String
    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_labels for all of the labels present on the resource.

    managedServiceConfigs List<Property Map>
    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.
    ServiceConfigId string
    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.
    ServiceConfigId string
    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.
    serviceConfigId String
    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.
    serviceConfigId string
    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_id str
    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.
    serviceConfigId String
    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.
    The following state arguments are supported:
    Api string
    The API to attach the config to.


    ApiConfigId string
    Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
    ApiConfigIdPrefix string
    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 ApiConfigGatewayConfig
    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<ApiConfigGrpcService>
    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.

    ManagedServiceConfigs List<ApiConfigManagedServiceConfig>
    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<ApiConfigOpenapiDocument>
    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.
    ServiceConfigId string
    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.


    ApiConfigId string
    Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
    ApiConfigIdPrefix string
    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 ApiConfigGatewayConfigArgs
    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 []ApiConfigGrpcServiceArgs
    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.

    ManagedServiceConfigs []ApiConfigManagedServiceConfigArgs
    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 []ApiConfigOpenapiDocumentArgs
    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.
    ServiceConfigId string
    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.


    apiConfigId String
    Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
    apiConfigIdPrefix String
    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 ApiConfigGatewayConfig
    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<ApiConfigGrpcService>
    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.

    managedServiceConfigs List<ApiConfigManagedServiceConfig>
    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<ApiConfigOpenapiDocument>
    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.
    serviceConfigId String
    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.


    apiConfigId string
    Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
    apiConfigIdPrefix string
    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 ApiConfigGatewayConfig
    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 ApiConfigGrpcService[]
    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.

    managedServiceConfigs ApiConfigManagedServiceConfig[]
    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 ApiConfigOpenapiDocument[]
    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.
    serviceConfigId string
    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_id str
    Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
    api_config_id_prefix str
    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 ApiConfigGatewayConfigArgs
    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[ApiConfigGrpcServiceArgs]
    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_configs Sequence[ApiConfigManagedServiceConfigArgs]
    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[ApiConfigOpenapiDocumentArgs]
    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_id str
    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.


    apiConfigId String
    Identifier to assign to the API Config. Must be unique within scope of the parent resource(api).
    apiConfigIdPrefix String
    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_labels for all of the labels present on the resource.

    managedServiceConfigs List<Property Map>
    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.
    serviceConfigId String
    The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).

    Supporting Types

    ApiConfigGatewayConfig, ApiConfigGatewayConfigArgs

    BackendConfig ApiConfigGatewayConfigBackendConfig
    Backend settings that are applied to all backends of the Gateway. Structure is documented below.
    BackendConfig ApiConfigGatewayConfigBackendConfig
    Backend settings that are applied to all backends of the Gateway. Structure is documented below.
    backendConfig ApiConfigGatewayConfigBackendConfig
    Backend settings that are applied to all backends of the Gateway. Structure is documented below.
    backendConfig ApiConfigGatewayConfigBackendConfig
    Backend settings that are applied to all backends of the Gateway. Structure is documented below.
    backend_config ApiConfigGatewayConfigBackendConfig
    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

    GoogleServiceAccount string
    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).
    GoogleServiceAccount string
    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).
    googleServiceAccount String
    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).
    googleServiceAccount string
    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_account str
    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).
    googleServiceAccount String
    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

    FileDescriptorSet ApiConfigGrpcServiceFileDescriptorSet
    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<ApiConfigGrpcServiceSource>
    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.
    FileDescriptorSet ApiConfigGrpcServiceFileDescriptorSet
    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 []ApiConfigGrpcServiceSource
    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.
    fileDescriptorSet ApiConfigGrpcServiceFileDescriptorSet
    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<ApiConfigGrpcServiceSource>
    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.
    fileDescriptorSet ApiConfigGrpcServiceFileDescriptorSet
    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 ApiConfigGrpcServiceSource[]
    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_set ApiConfigGrpcServiceFileDescriptorSet
    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[ApiConfigGrpcServiceSource]
    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.
    fileDescriptorSet Property Map
    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

    Contents string
    Base64 encoded content of the file.
    Path string
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    Contents string
    Base64 encoded content of the file.
    Path string
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents String
    Base64 encoded content of the file.
    path String
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents string
    Base64 encoded content of the file.
    path string
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents str
    Base64 encoded content of the file.
    path str
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents String
    Base64 encoded content of the file.
    path String
    The file path (full or relative path). This is typically the path of the file when it is uploaded.

    ApiConfigGrpcServiceSource, ApiConfigGrpcServiceSourceArgs

    Contents string
    Base64 encoded content of the file.
    Path string
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    Contents string
    Base64 encoded content of the file.
    Path string
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents String
    Base64 encoded content of the file.
    path String
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents string
    Base64 encoded content of the file.
    path string
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents str
    Base64 encoded content of the file.
    path str
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents String
    Base64 encoded content of the file.
    path String
    The file path (full or relative path). This is typically the path of the file when it is uploaded.

    ApiConfigManagedServiceConfig, ApiConfigManagedServiceConfigArgs

    Contents string
    Base64 encoded content of the file.
    Path string
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    Contents string
    Base64 encoded content of the file.
    Path string
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents String
    Base64 encoded content of the file.
    path String
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents string
    Base64 encoded content of the file.
    path string
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents str
    Base64 encoded content of the file.
    path str
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents String
    Base64 encoded content of the file.
    path String
    The file path (full or relative path). This is typically the path of the file when it is uploaded.

    ApiConfigOpenapiDocument, ApiConfigOpenapiDocumentArgs

    Document ApiConfigOpenapiDocumentDocument
    The OpenAPI Specification document file. Structure is documented below.
    Document ApiConfigOpenapiDocumentDocument
    The OpenAPI Specification document file. Structure is documented below.
    document ApiConfigOpenapiDocumentDocument
    The OpenAPI Specification document file. Structure is documented below.
    document ApiConfigOpenapiDocumentDocument
    The OpenAPI Specification document file. Structure is documented below.
    document ApiConfigOpenapiDocumentDocument
    The OpenAPI Specification document file. Structure is documented below.
    document Property Map
    The OpenAPI Specification document file. Structure is documented below.

    ApiConfigOpenapiDocumentDocument, ApiConfigOpenapiDocumentDocumentArgs

    Contents string
    Base64 encoded content of the file.
    Path string
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    Contents string
    Base64 encoded content of the file.
    Path string
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents String
    Base64 encoded content of the file.
    path String
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents string
    Base64 encoded content of the file.
    path string
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents str
    Base64 encoded content of the file.
    path str
    The file path (full or relative path). This is typically the path of the file when it is uploaded.
    contents String
    Base64 encoded content of the file.
    path String
    The file path (full or relative path). This is typically the path of the file when it is uploaded.

    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.
    gcp logo
    Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi