ApiConfig

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 Pulumi;
using Gcp = Pulumi.Gcp;

	private static string ReadFileBase64(string path) {
		return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)))
	}

return await Deployment.RunAsync(() => 
{
    var apiCfgApi = new Gcp.ApiGateway.Api("apiCfgApi", new()
    {
        ApiId = "api-cfg",
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

    var apiCfgApiConfig = new Gcp.ApiGateway.ApiConfig("apiCfgApiConfig", new()
    {
        Api = apiCfgApi.ApiId,
        ApiConfigId = "cfg",
        OpenapiDocuments = new[]
        {
            new Gcp.ApiGateway.Inputs.ApiConfigOpenapiDocumentArgs
            {
                Document = new Gcp.ApiGateway.Inputs.ApiConfigOpenapiDocumentDocumentArgs
                {
                    Path = "spec.yaml",
                    Contents = ReadFileBase64("test-fixtures/apigateway/openapi.yaml"),
                },
            },
        },
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

});
package main

import (
	"encoding/base64"
	"io/ioutil"

	"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 := ioutil.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("api-cfg"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = apigateway.NewApiConfig(ctx, "apiCfgApiConfig", &apigateway.ApiConfigArgs{
			Api:         apiCfgApi.ApiId,
			ApiConfigId: pulumi.String("cfg"),
			OpenapiDocuments: apigateway.ApiConfigOpenapiDocumentArray{
				&apigateway.ApiConfigOpenapiDocumentArgs{
					Document: &apigateway.ApiConfigOpenapiDocumentDocumentArgs{
						Path:     pulumi.String("spec.yaml"),
						Contents: filebase64OrPanic("test-fixtures/apigateway/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("api-cfg")
            .build(), CustomResourceOptions.builder()
                .provider(google_beta)
                .build());

        var apiCfgApiConfig = new ApiConfig("apiCfgApiConfig", ApiConfigArgs.builder()        
            .api(apiCfgApi.apiId())
            .apiConfigId("cfg")
            .openapiDocuments(ApiConfigOpenapiDocumentArgs.builder()
                .document(ApiConfigOpenapiDocumentDocumentArgs.builder()
                    .path("spec.yaml")
                    .contents(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get("test-fixtures/apigateway/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="api-cfg",
opts=pulumi.ResourceOptions(provider=google_beta))
api_cfg_api_config = gcp.apigateway.ApiConfig("apiCfgApiConfig",
    api=api_cfg_api.api_id,
    api_config_id="cfg",
    openapi_documents=[gcp.apigateway.ApiConfigOpenapiDocumentArgs(
        document=gcp.apigateway.ApiConfigOpenapiDocumentDocumentArgs(
            path="spec.yaml",
            contents=(lambda path: base64.b64encode(open(path).read().encode()).decode())("test-fixtures/apigateway/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: "api-cfg"}, {
    provider: google_beta,
});
const apiCfgApiConfig = new gcp.apigateway.ApiConfig("apiCfgApiConfig", {
    api: apiCfgApi.apiId,
    apiConfigId: "cfg",
    openapiDocuments: [{
        document: {
            path: "spec.yaml",
            contents: Buffer.from(fs.readFileSync("test-fixtures/apigateway/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 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 List<ApiConfigGrpcServiceArgs>

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<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 List<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 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 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 List<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 List<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 List<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 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 {[key: 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 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 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 List<ApiConfigGrpcServiceArgs>

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<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 List<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 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 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 List<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 List<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 List<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 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 {[key: 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 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

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

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

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

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

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

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

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

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
https://github.com/pulumi/pulumi-gcp
License
Apache-2.0
Notes

This Pulumi package is based on the google-beta Terraform Provider.