1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. apigateway
  5. ApiConfig
Google Cloud Classic v6.66.0 published on Monday, Sep 18, 2023 by Pulumi

gcp.apigateway.ApiConfig

Explore with Pulumi AI

gcp logo
Google Cloud Classic v6.66.0 published on Monday, Sep 18, 2023 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

    Apigateway Api Config Basic

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    	private static string ReadFileBase64(string path) {
    		return Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path)));
    	}
    
    return await Deployment.RunAsync(() => 
    {
        var apiCfgApi = new Gcp.ApiGateway.Api("apiCfgApi", new()
        {
            ApiId = "my-api",
        }, new CustomResourceOptions
        {
            Provider = google_beta,
        });
    
        var apiCfgApiConfig = new Gcp.ApiGateway.ApiConfig("apiCfgApiConfig", new()
        {
            Api = apiCfgApi.ApiId,
            ApiConfigId = "my-config",
            OpenapiDocuments = new[]
            {
                new Gcp.ApiGateway.Inputs.ApiConfigOpenapiDocumentArgs
                {
                    Document = new Gcp.ApiGateway.Inputs.ApiConfigOpenapiDocumentDocumentArgs
                    {
                        Path = "spec.yaml",
                        Contents = ReadFileBase64("test-fixtures/openapi.yaml"),
                    },
                },
            },
        }, new CustomResourceOptions
        {
            Provider = google_beta,
        });
    
    });
    
    package main
    
    import (
    	"encoding/base64"
    	"os"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/apigateway"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func filebase64OrPanic(path string) pulumi.StringPtrInput {
    	if fileData, err := os.ReadFile(path); err == nil {
    		return pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))
    	} else {
    		panic(err.Error())
    	}
    }
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		apiCfgApi, err := apigateway.NewApi(ctx, "apiCfgApi", &apigateway.ApiArgs{
    			ApiId: pulumi.String("my-api"),
    		}, pulumi.Provider(google_beta))
    		if err != nil {
    			return err
    		}
    		_, err = apigateway.NewApiConfig(ctx, "apiCfgApiConfig", &apigateway.ApiConfigArgs{
    			Api:         apiCfgApi.ApiId,
    			ApiConfigId: pulumi.String("my-config"),
    			OpenapiDocuments: apigateway.ApiConfigOpenapiDocumentArray{
    				&apigateway.ApiConfigOpenapiDocumentArgs{
    					Document: &apigateway.ApiConfigOpenapiDocumentDocumentArgs{
    						Path:     pulumi.String("spec.yaml"),
    						Contents: filebase64OrPanic("test-fixtures/openapi.yaml"),
    					},
    				},
    			},
    		}, pulumi.Provider(google_beta))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.apigateway.Api;
    import com.pulumi.gcp.apigateway.ApiArgs;
    import com.pulumi.gcp.apigateway.ApiConfig;
    import com.pulumi.gcp.apigateway.ApiConfigArgs;
    import com.pulumi.gcp.apigateway.inputs.ApiConfigOpenapiDocumentArgs;
    import com.pulumi.gcp.apigateway.inputs.ApiConfigOpenapiDocumentDocumentArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var apiCfgApi = new Api("apiCfgApi", ApiArgs.builder()        
                .apiId("my-api")
                .build(), CustomResourceOptions.builder()
                    .provider(google_beta)
                    .build());
    
            var apiCfgApiConfig = new ApiConfig("apiCfgApiConfig", ApiConfigArgs.builder()        
                .api(apiCfgApi.apiId())
                .apiConfigId("my-config")
                .openapiDocuments(ApiConfigOpenapiDocumentArgs.builder()
                    .document(ApiConfigOpenapiDocumentDocumentArgs.builder()
                        .path("spec.yaml")
                        .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get("test-fixtures/openapi.yaml"))))
                        .build())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .provider(google_beta)
                    .build());
    
        }
    }
    
    import pulumi
    import base64
    import pulumi_gcp as gcp
    
    api_cfg_api = gcp.apigateway.Api("apiCfgApi", api_id="my-api",
    opts=pulumi.ResourceOptions(provider=google_beta))
    api_cfg_api_config = gcp.apigateway.ApiConfig("apiCfgApiConfig",
        api=api_cfg_api.api_id,
        api_config_id="my-config",
        openapi_documents=[gcp.apigateway.ApiConfigOpenapiDocumentArgs(
            document=gcp.apigateway.ApiConfigOpenapiDocumentDocumentArgs(
                path="spec.yaml",
                contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())("test-fixtures/openapi.yaml"),
            ),
        )],
        opts=pulumi.ResourceOptions(provider=google_beta))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as fs from "fs";
    import * as gcp from "@pulumi/gcp";
    
    const apiCfgApi = new gcp.apigateway.Api("apiCfgApi", {apiId: "my-api"}, {
        provider: google_beta,
    });
    const apiCfgApiConfig = new gcp.apigateway.ApiConfig("apiCfgApiConfig", {
        api: apiCfgApi.apiId,
        apiConfigId: "my-config",
        openapiDocuments: [{
            document: {
                path: "spec.yaml",
                contents: Buffer.from(fs.readFileSync("test-fixtures/openapi.yaml"), 'binary').toString('base64'),
            },
        }],
    }, {
        provider: google_beta,
    });
    

    Coming soon!

    Create ApiConfig Resource

    new ApiConfig(name: string, args: ApiConfigArgs, opts?: CustomResourceOptions);
    @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)
    @overload
    def ApiConfig(resource_name: str,
                  args: ApiConfigArgs,
                  opts: Optional[ResourceOptions] = 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.
    
    
    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.

    ApiConfig Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The ApiConfig resource accepts the following input properties:

    Api string

    The API to attach the config to.


    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.

    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.

    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.

    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.

    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.

    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.

    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:

    Id string

    The provider-assigned unique ID for this managed resource.

    Name string

    The resource name of the API Config.

    ServiceConfigId string

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

    Id string

    The provider-assigned unique ID for this managed resource.

    Name string

    The resource name of the API Config.

    ServiceConfigId string

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

    id String

    The provider-assigned unique ID for this managed resource.

    name String

    The resource name of the API Config.

    serviceConfigId String

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

    id string

    The provider-assigned unique ID for this managed resource.

    name string

    The resource name of the API Config.

    serviceConfigId string

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

    id str

    The provider-assigned unique ID for this managed resource.

    name str

    The resource name of the API Config.

    service_config_id str

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

    id String

    The provider-assigned unique ID for this managed resource.

    name String

    The resource name of the API Config.

    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,
            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,
            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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    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

     $ 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}}
    

    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 v6.66.0 published on Monday, Sep 18, 2023 by Pulumi