endpoints

package
v5.26.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 1, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Service

type Service struct {
	pulumi.CustomResourceState

	// A list of API objects.
	Apis ServiceApiArrayOutput `pulumi:"apis"`
	// The autogenerated ID for the configuration that is rolled out as part of the creation of this resource. Must be provided
	// to compute engine instances as a tag.
	ConfigId pulumi.StringOutput `pulumi:"configId"`
	// The address at which the service can be found - usually the same as the service name.
	DnsAddress pulumi.StringOutput `pulumi:"dnsAddress"`
	// A list of Endpoint objects.
	Endpoints ServiceEndpointArrayOutput `pulumi:"endpoints"`
	// The full text of the Service Config YAML file (Example located here). If provided, must also provide
	// protoc_output_base64. open_api config must not be provided.
	GrpcConfig pulumi.StringPtrOutput `pulumi:"grpcConfig"`
	// The full text of the OpenAPI YAML configuration as described here. Either this, or both of grpc_config and
	// protoc_output_base64 must be specified.
	OpenapiConfig pulumi.StringPtrOutput `pulumi:"openapiConfig"`
	// The project ID that the service belongs to. If not provided, provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The full contents of the Service Descriptor File generated by protoc. This should be a compiled .pb file,
	// base64-encoded.
	ProtocOutputBase64 pulumi.StringPtrOutput `pulumi:"protocOutputBase64"`
	// The name of the service. Usually of the form $apiname.endpoints.$projectid.cloud.goog.
	ServiceName pulumi.StringOutput `pulumi:"serviceName"`
}

This resource creates and rolls out a Cloud Endpoints service using OpenAPI or gRPC. View the relevant docs for [OpenAPI](https://cloud.google.com/endpoints/docs/openapi/) and [gRPC](https://cloud.google.com/endpoints/docs/grpc/).

## Example Usage

```go package main

import (

"encoding/base64"
"io/ioutil"

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/endpoints"
"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 readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := ioutil.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := endpoints.NewService(ctx, "openapiService", &endpoints.ServiceArgs{
			ServiceName:   pulumi.String("api-name.endpoints.project-id.cloud.goog"),
			Project:       pulumi.String("project-id"),
			OpenapiConfig: readFileOrPanic("openapi_spec.yml"),
		})
		if err != nil {
			return err
		}
		_, err = endpoints.NewService(ctx, "grpcService", &endpoints.ServiceArgs{
			ServiceName:        pulumi.String("api-name.endpoints.project-id.cloud.goog"),
			Project:            pulumi.String("project-id"),
			GrpcConfig:         readFileOrPanic("service_spec.yml"),
			ProtocOutputBase64: filebase64OrPanic("compiled_descriptor_file.pb"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

The example in `examples/endpoints_on_compute_engine` shows the API from the quickstart running on a Compute Engine VM and reachable through Cloud Endpoints, which may also be useful.

## Import

This resource does not support import.

func GetService

func GetService(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServiceState, opts ...pulumi.ResourceOption) (*Service, error)

GetService gets an existing Service resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewService

func NewService(ctx *pulumi.Context,
	name string, args *ServiceArgs, opts ...pulumi.ResourceOption) (*Service, error)

NewService registers a new resource with the given unique name, arguments, and options.

func (*Service) ElementType

func (*Service) ElementType() reflect.Type

func (*Service) ToServiceOutput

func (i *Service) ToServiceOutput() ServiceOutput

func (*Service) ToServiceOutputWithContext

func (i *Service) ToServiceOutputWithContext(ctx context.Context) ServiceOutput

func (*Service) ToServicePtrOutput

func (i *Service) ToServicePtrOutput() ServicePtrOutput

func (*Service) ToServicePtrOutputWithContext

func (i *Service) ToServicePtrOutputWithContext(ctx context.Context) ServicePtrOutput

type ServiceApi

type ServiceApi struct {
	Methods []ServiceApiMethod `pulumi:"methods"`
	Name    *string            `pulumi:"name"`
	Syntax  *string            `pulumi:"syntax"`
	Version *string            `pulumi:"version"`
}

type ServiceApiArgs

type ServiceApiArgs struct {
	Methods ServiceApiMethodArrayInput `pulumi:"methods"`
	Name    pulumi.StringPtrInput      `pulumi:"name"`
	Syntax  pulumi.StringPtrInput      `pulumi:"syntax"`
	Version pulumi.StringPtrInput      `pulumi:"version"`
}

func (ServiceApiArgs) ElementType

func (ServiceApiArgs) ElementType() reflect.Type

func (ServiceApiArgs) ToServiceApiOutput

func (i ServiceApiArgs) ToServiceApiOutput() ServiceApiOutput

func (ServiceApiArgs) ToServiceApiOutputWithContext

func (i ServiceApiArgs) ToServiceApiOutputWithContext(ctx context.Context) ServiceApiOutput

type ServiceApiArray

type ServiceApiArray []ServiceApiInput

func (ServiceApiArray) ElementType

func (ServiceApiArray) ElementType() reflect.Type

func (ServiceApiArray) ToServiceApiArrayOutput

func (i ServiceApiArray) ToServiceApiArrayOutput() ServiceApiArrayOutput

func (ServiceApiArray) ToServiceApiArrayOutputWithContext

func (i ServiceApiArray) ToServiceApiArrayOutputWithContext(ctx context.Context) ServiceApiArrayOutput

type ServiceApiArrayInput

type ServiceApiArrayInput interface {
	pulumi.Input

	ToServiceApiArrayOutput() ServiceApiArrayOutput
	ToServiceApiArrayOutputWithContext(context.Context) ServiceApiArrayOutput
}

ServiceApiArrayInput is an input type that accepts ServiceApiArray and ServiceApiArrayOutput values. You can construct a concrete instance of `ServiceApiArrayInput` via:

ServiceApiArray{ ServiceApiArgs{...} }

type ServiceApiArrayOutput

type ServiceApiArrayOutput struct{ *pulumi.OutputState }

func (ServiceApiArrayOutput) ElementType

func (ServiceApiArrayOutput) ElementType() reflect.Type

func (ServiceApiArrayOutput) Index

func (ServiceApiArrayOutput) ToServiceApiArrayOutput

func (o ServiceApiArrayOutput) ToServiceApiArrayOutput() ServiceApiArrayOutput

func (ServiceApiArrayOutput) ToServiceApiArrayOutputWithContext

func (o ServiceApiArrayOutput) ToServiceApiArrayOutputWithContext(ctx context.Context) ServiceApiArrayOutput

type ServiceApiInput

type ServiceApiInput interface {
	pulumi.Input

	ToServiceApiOutput() ServiceApiOutput
	ToServiceApiOutputWithContext(context.Context) ServiceApiOutput
}

ServiceApiInput is an input type that accepts ServiceApiArgs and ServiceApiOutput values. You can construct a concrete instance of `ServiceApiInput` via:

ServiceApiArgs{...}

type ServiceApiMethod

type ServiceApiMethod struct {
	Name         *string `pulumi:"name"`
	RequestType  *string `pulumi:"requestType"`
	ResponseType *string `pulumi:"responseType"`
	Syntax       *string `pulumi:"syntax"`
}

type ServiceApiMethodArgs

type ServiceApiMethodArgs struct {
	Name         pulumi.StringPtrInput `pulumi:"name"`
	RequestType  pulumi.StringPtrInput `pulumi:"requestType"`
	ResponseType pulumi.StringPtrInput `pulumi:"responseType"`
	Syntax       pulumi.StringPtrInput `pulumi:"syntax"`
}

func (ServiceApiMethodArgs) ElementType

func (ServiceApiMethodArgs) ElementType() reflect.Type

func (ServiceApiMethodArgs) ToServiceApiMethodOutput

func (i ServiceApiMethodArgs) ToServiceApiMethodOutput() ServiceApiMethodOutput

func (ServiceApiMethodArgs) ToServiceApiMethodOutputWithContext

func (i ServiceApiMethodArgs) ToServiceApiMethodOutputWithContext(ctx context.Context) ServiceApiMethodOutput

type ServiceApiMethodArray

type ServiceApiMethodArray []ServiceApiMethodInput

func (ServiceApiMethodArray) ElementType

func (ServiceApiMethodArray) ElementType() reflect.Type

func (ServiceApiMethodArray) ToServiceApiMethodArrayOutput

func (i ServiceApiMethodArray) ToServiceApiMethodArrayOutput() ServiceApiMethodArrayOutput

func (ServiceApiMethodArray) ToServiceApiMethodArrayOutputWithContext

func (i ServiceApiMethodArray) ToServiceApiMethodArrayOutputWithContext(ctx context.Context) ServiceApiMethodArrayOutput

type ServiceApiMethodArrayInput

type ServiceApiMethodArrayInput interface {
	pulumi.Input

	ToServiceApiMethodArrayOutput() ServiceApiMethodArrayOutput
	ToServiceApiMethodArrayOutputWithContext(context.Context) ServiceApiMethodArrayOutput
}

ServiceApiMethodArrayInput is an input type that accepts ServiceApiMethodArray and ServiceApiMethodArrayOutput values. You can construct a concrete instance of `ServiceApiMethodArrayInput` via:

ServiceApiMethodArray{ ServiceApiMethodArgs{...} }

type ServiceApiMethodArrayOutput

type ServiceApiMethodArrayOutput struct{ *pulumi.OutputState }

func (ServiceApiMethodArrayOutput) ElementType

func (ServiceApiMethodArrayOutput) Index

func (ServiceApiMethodArrayOutput) ToServiceApiMethodArrayOutput

func (o ServiceApiMethodArrayOutput) ToServiceApiMethodArrayOutput() ServiceApiMethodArrayOutput

func (ServiceApiMethodArrayOutput) ToServiceApiMethodArrayOutputWithContext

func (o ServiceApiMethodArrayOutput) ToServiceApiMethodArrayOutputWithContext(ctx context.Context) ServiceApiMethodArrayOutput

type ServiceApiMethodInput

type ServiceApiMethodInput interface {
	pulumi.Input

	ToServiceApiMethodOutput() ServiceApiMethodOutput
	ToServiceApiMethodOutputWithContext(context.Context) ServiceApiMethodOutput
}

ServiceApiMethodInput is an input type that accepts ServiceApiMethodArgs and ServiceApiMethodOutput values. You can construct a concrete instance of `ServiceApiMethodInput` via:

ServiceApiMethodArgs{...}

type ServiceApiMethodOutput

type ServiceApiMethodOutput struct{ *pulumi.OutputState }

func (ServiceApiMethodOutput) ElementType

func (ServiceApiMethodOutput) ElementType() reflect.Type

func (ServiceApiMethodOutput) Name

func (ServiceApiMethodOutput) RequestType

func (ServiceApiMethodOutput) ResponseType

func (ServiceApiMethodOutput) Syntax

func (ServiceApiMethodOutput) ToServiceApiMethodOutput

func (o ServiceApiMethodOutput) ToServiceApiMethodOutput() ServiceApiMethodOutput

func (ServiceApiMethodOutput) ToServiceApiMethodOutputWithContext

func (o ServiceApiMethodOutput) ToServiceApiMethodOutputWithContext(ctx context.Context) ServiceApiMethodOutput

type ServiceApiOutput

type ServiceApiOutput struct{ *pulumi.OutputState }

func (ServiceApiOutput) ElementType

func (ServiceApiOutput) ElementType() reflect.Type

func (ServiceApiOutput) Methods

func (ServiceApiOutput) Name

func (ServiceApiOutput) Syntax

func (ServiceApiOutput) ToServiceApiOutput

func (o ServiceApiOutput) ToServiceApiOutput() ServiceApiOutput

func (ServiceApiOutput) ToServiceApiOutputWithContext

func (o ServiceApiOutput) ToServiceApiOutputWithContext(ctx context.Context) ServiceApiOutput

func (ServiceApiOutput) Version

type ServiceArgs

type ServiceArgs struct {
	// The full text of the Service Config YAML file (Example located here). If provided, must also provide
	// protoc_output_base64. open_api config must not be provided.
	GrpcConfig pulumi.StringPtrInput
	// The full text of the OpenAPI YAML configuration as described here. Either this, or both of grpc_config and
	// protoc_output_base64 must be specified.
	OpenapiConfig pulumi.StringPtrInput
	// The project ID that the service belongs to. If not provided, provider project is used.
	Project pulumi.StringPtrInput
	// The full contents of the Service Descriptor File generated by protoc. This should be a compiled .pb file,
	// base64-encoded.
	ProtocOutputBase64 pulumi.StringPtrInput
	// The name of the service. Usually of the form $apiname.endpoints.$projectid.cloud.goog.
	ServiceName pulumi.StringInput
}

The set of arguments for constructing a Service resource.

func (ServiceArgs) ElementType

func (ServiceArgs) ElementType() reflect.Type

type ServiceArray

type ServiceArray []ServiceInput

func (ServiceArray) ElementType

func (ServiceArray) ElementType() reflect.Type

func (ServiceArray) ToServiceArrayOutput

func (i ServiceArray) ToServiceArrayOutput() ServiceArrayOutput

func (ServiceArray) ToServiceArrayOutputWithContext

func (i ServiceArray) ToServiceArrayOutputWithContext(ctx context.Context) ServiceArrayOutput

type ServiceArrayInput

type ServiceArrayInput interface {
	pulumi.Input

	ToServiceArrayOutput() ServiceArrayOutput
	ToServiceArrayOutputWithContext(context.Context) ServiceArrayOutput
}

ServiceArrayInput is an input type that accepts ServiceArray and ServiceArrayOutput values. You can construct a concrete instance of `ServiceArrayInput` via:

ServiceArray{ ServiceArgs{...} }

type ServiceArrayOutput

type ServiceArrayOutput struct{ *pulumi.OutputState }

func (ServiceArrayOutput) ElementType

func (ServiceArrayOutput) ElementType() reflect.Type

func (ServiceArrayOutput) Index

func (ServiceArrayOutput) ToServiceArrayOutput

func (o ServiceArrayOutput) ToServiceArrayOutput() ServiceArrayOutput

func (ServiceArrayOutput) ToServiceArrayOutputWithContext

func (o ServiceArrayOutput) ToServiceArrayOutputWithContext(ctx context.Context) ServiceArrayOutput

type ServiceEndpoint

type ServiceEndpoint struct {
	Address *string `pulumi:"address"`
	Name    *string `pulumi:"name"`
}

type ServiceEndpointArgs

type ServiceEndpointArgs struct {
	Address pulumi.StringPtrInput `pulumi:"address"`
	Name    pulumi.StringPtrInput `pulumi:"name"`
}

func (ServiceEndpointArgs) ElementType

func (ServiceEndpointArgs) ElementType() reflect.Type

func (ServiceEndpointArgs) ToServiceEndpointOutput

func (i ServiceEndpointArgs) ToServiceEndpointOutput() ServiceEndpointOutput

func (ServiceEndpointArgs) ToServiceEndpointOutputWithContext

func (i ServiceEndpointArgs) ToServiceEndpointOutputWithContext(ctx context.Context) ServiceEndpointOutput

type ServiceEndpointArray

type ServiceEndpointArray []ServiceEndpointInput

func (ServiceEndpointArray) ElementType

func (ServiceEndpointArray) ElementType() reflect.Type

func (ServiceEndpointArray) ToServiceEndpointArrayOutput

func (i ServiceEndpointArray) ToServiceEndpointArrayOutput() ServiceEndpointArrayOutput

func (ServiceEndpointArray) ToServiceEndpointArrayOutputWithContext

func (i ServiceEndpointArray) ToServiceEndpointArrayOutputWithContext(ctx context.Context) ServiceEndpointArrayOutput

type ServiceEndpointArrayInput

type ServiceEndpointArrayInput interface {
	pulumi.Input

	ToServiceEndpointArrayOutput() ServiceEndpointArrayOutput
	ToServiceEndpointArrayOutputWithContext(context.Context) ServiceEndpointArrayOutput
}

ServiceEndpointArrayInput is an input type that accepts ServiceEndpointArray and ServiceEndpointArrayOutput values. You can construct a concrete instance of `ServiceEndpointArrayInput` via:

ServiceEndpointArray{ ServiceEndpointArgs{...} }

type ServiceEndpointArrayOutput

type ServiceEndpointArrayOutput struct{ *pulumi.OutputState }

func (ServiceEndpointArrayOutput) ElementType

func (ServiceEndpointArrayOutput) ElementType() reflect.Type

func (ServiceEndpointArrayOutput) Index

func (ServiceEndpointArrayOutput) ToServiceEndpointArrayOutput

func (o ServiceEndpointArrayOutput) ToServiceEndpointArrayOutput() ServiceEndpointArrayOutput

func (ServiceEndpointArrayOutput) ToServiceEndpointArrayOutputWithContext

func (o ServiceEndpointArrayOutput) ToServiceEndpointArrayOutputWithContext(ctx context.Context) ServiceEndpointArrayOutput

type ServiceEndpointInput

type ServiceEndpointInput interface {
	pulumi.Input

	ToServiceEndpointOutput() ServiceEndpointOutput
	ToServiceEndpointOutputWithContext(context.Context) ServiceEndpointOutput
}

ServiceEndpointInput is an input type that accepts ServiceEndpointArgs and ServiceEndpointOutput values. You can construct a concrete instance of `ServiceEndpointInput` via:

ServiceEndpointArgs{...}

type ServiceEndpointOutput

type ServiceEndpointOutput struct{ *pulumi.OutputState }

func (ServiceEndpointOutput) Address

func (ServiceEndpointOutput) ElementType

func (ServiceEndpointOutput) ElementType() reflect.Type

func (ServiceEndpointOutput) Name

func (ServiceEndpointOutput) ToServiceEndpointOutput

func (o ServiceEndpointOutput) ToServiceEndpointOutput() ServiceEndpointOutput

func (ServiceEndpointOutput) ToServiceEndpointOutputWithContext

func (o ServiceEndpointOutput) ToServiceEndpointOutputWithContext(ctx context.Context) ServiceEndpointOutput

type ServiceIamBinding

type ServiceIamBinding struct {
	pulumi.CustomResourceState

	Condition ServiceIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The role that should be applied. Only one
	// `endpoints.ServiceIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
	// The name of the service. Used to find the parent resource to bind the IAM policy to
	ServiceName pulumi.StringOutput `pulumi:"serviceName"`
}

Three different resources help you manage your IAM policy for Cloud Endpoints Service. Each of these resources serves a different use case:

* `endpoints.ServiceIamPolicy`: Authoritative. Sets the IAM policy for the service and replaces any existing policy already attached. * `endpoints.ServiceIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the service are preserved. * `endpoints.ServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the service are preserved.

> **Note:** `endpoints.ServiceIamPolicy` **cannot** be used in conjunction with `endpoints.ServiceIamBinding` and `endpoints.ServiceIamMember` or they will fight over what your policy should be.

> **Note:** `endpoints.ServiceIamBinding` resources **can be** used in conjunction with `endpoints.ServiceIamMember` resources **only if** they do not grant privilege to the same role.

## google\_endpoints\_service\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/endpoints"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = endpoints.NewServiceIamPolicy(ctx, "policy", &endpoints.ServiceIamPolicyArgs{
			ServiceName: pulumi.Any(google_endpoints_service.Endpoints_service.Service_name),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_endpoints\_service\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/endpoints"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := endpoints.NewServiceIamBinding(ctx, "binding", &endpoints.ServiceIamBindingArgs{
			ServiceName: pulumi.Any(google_endpoints_service.Endpoints_service.Service_name),
			Role:        pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_endpoints\_service\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/endpoints"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := endpoints.NewServiceIamMember(ctx, "member", &endpoints.ServiceIamMemberArgs{
			ServiceName: pulumi.Any(google_endpoints_service.Endpoints_service.Service_name),
			Role:        pulumi.String("roles/viewer"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* services/{{serviceName}} * {{serviceName}} Any variables not passed in the import command will be taken from the provider configuration. Cloud Endpoints service IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:endpoints/serviceIamBinding:ServiceIamBinding editor "services/{{serviceName}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:endpoints/serviceIamBinding:ServiceIamBinding editor "services/{{serviceName}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:endpoints/serviceIamBinding:ServiceIamBinding editor services/{{serviceName}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetServiceIamBinding

func GetServiceIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServiceIamBindingState, opts ...pulumi.ResourceOption) (*ServiceIamBinding, error)

GetServiceIamBinding gets an existing ServiceIamBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewServiceIamBinding

func NewServiceIamBinding(ctx *pulumi.Context,
	name string, args *ServiceIamBindingArgs, opts ...pulumi.ResourceOption) (*ServiceIamBinding, error)

NewServiceIamBinding registers a new resource with the given unique name, arguments, and options.

func (*ServiceIamBinding) ElementType

func (*ServiceIamBinding) ElementType() reflect.Type

func (*ServiceIamBinding) ToServiceIamBindingOutput

func (i *ServiceIamBinding) ToServiceIamBindingOutput() ServiceIamBindingOutput

func (*ServiceIamBinding) ToServiceIamBindingOutputWithContext

func (i *ServiceIamBinding) ToServiceIamBindingOutputWithContext(ctx context.Context) ServiceIamBindingOutput

func (*ServiceIamBinding) ToServiceIamBindingPtrOutput

func (i *ServiceIamBinding) ToServiceIamBindingPtrOutput() ServiceIamBindingPtrOutput

func (*ServiceIamBinding) ToServiceIamBindingPtrOutputWithContext

func (i *ServiceIamBinding) ToServiceIamBindingPtrOutputWithContext(ctx context.Context) ServiceIamBindingPtrOutput

type ServiceIamBindingArgs

type ServiceIamBindingArgs struct {
	Condition ServiceIamBindingConditionPtrInput
	Members   pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `endpoints.ServiceIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
	// The name of the service. Used to find the parent resource to bind the IAM policy to
	ServiceName pulumi.StringInput
}

The set of arguments for constructing a ServiceIamBinding resource.

func (ServiceIamBindingArgs) ElementType

func (ServiceIamBindingArgs) ElementType() reflect.Type

type ServiceIamBindingArray

type ServiceIamBindingArray []ServiceIamBindingInput

func (ServiceIamBindingArray) ElementType

func (ServiceIamBindingArray) ElementType() reflect.Type

func (ServiceIamBindingArray) ToServiceIamBindingArrayOutput

func (i ServiceIamBindingArray) ToServiceIamBindingArrayOutput() ServiceIamBindingArrayOutput

func (ServiceIamBindingArray) ToServiceIamBindingArrayOutputWithContext

func (i ServiceIamBindingArray) ToServiceIamBindingArrayOutputWithContext(ctx context.Context) ServiceIamBindingArrayOutput

type ServiceIamBindingArrayInput

type ServiceIamBindingArrayInput interface {
	pulumi.Input

	ToServiceIamBindingArrayOutput() ServiceIamBindingArrayOutput
	ToServiceIamBindingArrayOutputWithContext(context.Context) ServiceIamBindingArrayOutput
}

ServiceIamBindingArrayInput is an input type that accepts ServiceIamBindingArray and ServiceIamBindingArrayOutput values. You can construct a concrete instance of `ServiceIamBindingArrayInput` via:

ServiceIamBindingArray{ ServiceIamBindingArgs{...} }

type ServiceIamBindingArrayOutput

type ServiceIamBindingArrayOutput struct{ *pulumi.OutputState }

func (ServiceIamBindingArrayOutput) ElementType

func (ServiceIamBindingArrayOutput) Index

func (ServiceIamBindingArrayOutput) ToServiceIamBindingArrayOutput

func (o ServiceIamBindingArrayOutput) ToServiceIamBindingArrayOutput() ServiceIamBindingArrayOutput

func (ServiceIamBindingArrayOutput) ToServiceIamBindingArrayOutputWithContext

func (o ServiceIamBindingArrayOutput) ToServiceIamBindingArrayOutputWithContext(ctx context.Context) ServiceIamBindingArrayOutput

type ServiceIamBindingCondition

type ServiceIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type ServiceIamBindingConditionArgs

type ServiceIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (ServiceIamBindingConditionArgs) ElementType

func (ServiceIamBindingConditionArgs) ToServiceIamBindingConditionOutput

func (i ServiceIamBindingConditionArgs) ToServiceIamBindingConditionOutput() ServiceIamBindingConditionOutput

func (ServiceIamBindingConditionArgs) ToServiceIamBindingConditionOutputWithContext

func (i ServiceIamBindingConditionArgs) ToServiceIamBindingConditionOutputWithContext(ctx context.Context) ServiceIamBindingConditionOutput

func (ServiceIamBindingConditionArgs) ToServiceIamBindingConditionPtrOutput

func (i ServiceIamBindingConditionArgs) ToServiceIamBindingConditionPtrOutput() ServiceIamBindingConditionPtrOutput

func (ServiceIamBindingConditionArgs) ToServiceIamBindingConditionPtrOutputWithContext

func (i ServiceIamBindingConditionArgs) ToServiceIamBindingConditionPtrOutputWithContext(ctx context.Context) ServiceIamBindingConditionPtrOutput

type ServiceIamBindingConditionInput

type ServiceIamBindingConditionInput interface {
	pulumi.Input

	ToServiceIamBindingConditionOutput() ServiceIamBindingConditionOutput
	ToServiceIamBindingConditionOutputWithContext(context.Context) ServiceIamBindingConditionOutput
}

ServiceIamBindingConditionInput is an input type that accepts ServiceIamBindingConditionArgs and ServiceIamBindingConditionOutput values. You can construct a concrete instance of `ServiceIamBindingConditionInput` via:

ServiceIamBindingConditionArgs{...}

type ServiceIamBindingConditionOutput

type ServiceIamBindingConditionOutput struct{ *pulumi.OutputState }

func (ServiceIamBindingConditionOutput) Description

func (ServiceIamBindingConditionOutput) ElementType

func (ServiceIamBindingConditionOutput) Expression

func (ServiceIamBindingConditionOutput) Title

func (ServiceIamBindingConditionOutput) ToServiceIamBindingConditionOutput

func (o ServiceIamBindingConditionOutput) ToServiceIamBindingConditionOutput() ServiceIamBindingConditionOutput

func (ServiceIamBindingConditionOutput) ToServiceIamBindingConditionOutputWithContext

func (o ServiceIamBindingConditionOutput) ToServiceIamBindingConditionOutputWithContext(ctx context.Context) ServiceIamBindingConditionOutput

func (ServiceIamBindingConditionOutput) ToServiceIamBindingConditionPtrOutput

func (o ServiceIamBindingConditionOutput) ToServiceIamBindingConditionPtrOutput() ServiceIamBindingConditionPtrOutput

func (ServiceIamBindingConditionOutput) ToServiceIamBindingConditionPtrOutputWithContext

func (o ServiceIamBindingConditionOutput) ToServiceIamBindingConditionPtrOutputWithContext(ctx context.Context) ServiceIamBindingConditionPtrOutput

type ServiceIamBindingConditionPtrInput

type ServiceIamBindingConditionPtrInput interface {
	pulumi.Input

	ToServiceIamBindingConditionPtrOutput() ServiceIamBindingConditionPtrOutput
	ToServiceIamBindingConditionPtrOutputWithContext(context.Context) ServiceIamBindingConditionPtrOutput
}

ServiceIamBindingConditionPtrInput is an input type that accepts ServiceIamBindingConditionArgs, ServiceIamBindingConditionPtr and ServiceIamBindingConditionPtrOutput values. You can construct a concrete instance of `ServiceIamBindingConditionPtrInput` via:

        ServiceIamBindingConditionArgs{...}

or:

        nil

type ServiceIamBindingConditionPtrOutput

type ServiceIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (ServiceIamBindingConditionPtrOutput) Description

func (ServiceIamBindingConditionPtrOutput) Elem

func (ServiceIamBindingConditionPtrOutput) ElementType

func (ServiceIamBindingConditionPtrOutput) Expression

func (ServiceIamBindingConditionPtrOutput) Title

func (ServiceIamBindingConditionPtrOutput) ToServiceIamBindingConditionPtrOutput

func (o ServiceIamBindingConditionPtrOutput) ToServiceIamBindingConditionPtrOutput() ServiceIamBindingConditionPtrOutput

func (ServiceIamBindingConditionPtrOutput) ToServiceIamBindingConditionPtrOutputWithContext

func (o ServiceIamBindingConditionPtrOutput) ToServiceIamBindingConditionPtrOutputWithContext(ctx context.Context) ServiceIamBindingConditionPtrOutput

type ServiceIamBindingInput

type ServiceIamBindingInput interface {
	pulumi.Input

	ToServiceIamBindingOutput() ServiceIamBindingOutput
	ToServiceIamBindingOutputWithContext(ctx context.Context) ServiceIamBindingOutput
}

type ServiceIamBindingMap

type ServiceIamBindingMap map[string]ServiceIamBindingInput

func (ServiceIamBindingMap) ElementType

func (ServiceIamBindingMap) ElementType() reflect.Type

func (ServiceIamBindingMap) ToServiceIamBindingMapOutput

func (i ServiceIamBindingMap) ToServiceIamBindingMapOutput() ServiceIamBindingMapOutput

func (ServiceIamBindingMap) ToServiceIamBindingMapOutputWithContext

func (i ServiceIamBindingMap) ToServiceIamBindingMapOutputWithContext(ctx context.Context) ServiceIamBindingMapOutput

type ServiceIamBindingMapInput

type ServiceIamBindingMapInput interface {
	pulumi.Input

	ToServiceIamBindingMapOutput() ServiceIamBindingMapOutput
	ToServiceIamBindingMapOutputWithContext(context.Context) ServiceIamBindingMapOutput
}

ServiceIamBindingMapInput is an input type that accepts ServiceIamBindingMap and ServiceIamBindingMapOutput values. You can construct a concrete instance of `ServiceIamBindingMapInput` via:

ServiceIamBindingMap{ "key": ServiceIamBindingArgs{...} }

type ServiceIamBindingMapOutput

type ServiceIamBindingMapOutput struct{ *pulumi.OutputState }

func (ServiceIamBindingMapOutput) ElementType

func (ServiceIamBindingMapOutput) ElementType() reflect.Type

func (ServiceIamBindingMapOutput) MapIndex

func (ServiceIamBindingMapOutput) ToServiceIamBindingMapOutput

func (o ServiceIamBindingMapOutput) ToServiceIamBindingMapOutput() ServiceIamBindingMapOutput

func (ServiceIamBindingMapOutput) ToServiceIamBindingMapOutputWithContext

func (o ServiceIamBindingMapOutput) ToServiceIamBindingMapOutputWithContext(ctx context.Context) ServiceIamBindingMapOutput

type ServiceIamBindingOutput

type ServiceIamBindingOutput struct{ *pulumi.OutputState }

func (ServiceIamBindingOutput) ElementType

func (ServiceIamBindingOutput) ElementType() reflect.Type

func (ServiceIamBindingOutput) ToServiceIamBindingOutput

func (o ServiceIamBindingOutput) ToServiceIamBindingOutput() ServiceIamBindingOutput

func (ServiceIamBindingOutput) ToServiceIamBindingOutputWithContext

func (o ServiceIamBindingOutput) ToServiceIamBindingOutputWithContext(ctx context.Context) ServiceIamBindingOutput

func (ServiceIamBindingOutput) ToServiceIamBindingPtrOutput

func (o ServiceIamBindingOutput) ToServiceIamBindingPtrOutput() ServiceIamBindingPtrOutput

func (ServiceIamBindingOutput) ToServiceIamBindingPtrOutputWithContext

func (o ServiceIamBindingOutput) ToServiceIamBindingPtrOutputWithContext(ctx context.Context) ServiceIamBindingPtrOutput

type ServiceIamBindingPtrInput

type ServiceIamBindingPtrInput interface {
	pulumi.Input

	ToServiceIamBindingPtrOutput() ServiceIamBindingPtrOutput
	ToServiceIamBindingPtrOutputWithContext(ctx context.Context) ServiceIamBindingPtrOutput
}

type ServiceIamBindingPtrOutput

type ServiceIamBindingPtrOutput struct{ *pulumi.OutputState }

func (ServiceIamBindingPtrOutput) Elem added in v5.21.0

func (ServiceIamBindingPtrOutput) ElementType

func (ServiceIamBindingPtrOutput) ElementType() reflect.Type

func (ServiceIamBindingPtrOutput) ToServiceIamBindingPtrOutput

func (o ServiceIamBindingPtrOutput) ToServiceIamBindingPtrOutput() ServiceIamBindingPtrOutput

func (ServiceIamBindingPtrOutput) ToServiceIamBindingPtrOutputWithContext

func (o ServiceIamBindingPtrOutput) ToServiceIamBindingPtrOutputWithContext(ctx context.Context) ServiceIamBindingPtrOutput

type ServiceIamBindingState

type ServiceIamBindingState struct {
	Condition ServiceIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringPtrInput
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `endpoints.ServiceIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
	// The name of the service. Used to find the parent resource to bind the IAM policy to
	ServiceName pulumi.StringPtrInput
}

func (ServiceIamBindingState) ElementType

func (ServiceIamBindingState) ElementType() reflect.Type

type ServiceIamMember

type ServiceIamMember struct {
	pulumi.CustomResourceState

	Condition ServiceIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	Member pulumi.StringOutput `pulumi:"member"`
	// The role that should be applied. Only one
	// `endpoints.ServiceIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
	// The name of the service. Used to find the parent resource to bind the IAM policy to
	ServiceName pulumi.StringOutput `pulumi:"serviceName"`
}

Three different resources help you manage your IAM policy for Cloud Endpoints Service. Each of these resources serves a different use case:

* `endpoints.ServiceIamPolicy`: Authoritative. Sets the IAM policy for the service and replaces any existing policy already attached. * `endpoints.ServiceIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the service are preserved. * `endpoints.ServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the service are preserved.

> **Note:** `endpoints.ServiceIamPolicy` **cannot** be used in conjunction with `endpoints.ServiceIamBinding` and `endpoints.ServiceIamMember` or they will fight over what your policy should be.

> **Note:** `endpoints.ServiceIamBinding` resources **can be** used in conjunction with `endpoints.ServiceIamMember` resources **only if** they do not grant privilege to the same role.

## google\_endpoints\_service\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/endpoints"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = endpoints.NewServiceIamPolicy(ctx, "policy", &endpoints.ServiceIamPolicyArgs{
			ServiceName: pulumi.Any(google_endpoints_service.Endpoints_service.Service_name),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_endpoints\_service\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/endpoints"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := endpoints.NewServiceIamBinding(ctx, "binding", &endpoints.ServiceIamBindingArgs{
			ServiceName: pulumi.Any(google_endpoints_service.Endpoints_service.Service_name),
			Role:        pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_endpoints\_service\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/endpoints"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := endpoints.NewServiceIamMember(ctx, "member", &endpoints.ServiceIamMemberArgs{
			ServiceName: pulumi.Any(google_endpoints_service.Endpoints_service.Service_name),
			Role:        pulumi.String("roles/viewer"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* services/{{serviceName}} * {{serviceName}} Any variables not passed in the import command will be taken from the provider configuration. Cloud Endpoints service IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:endpoints/serviceIamMember:ServiceIamMember editor "services/{{serviceName}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:endpoints/serviceIamMember:ServiceIamMember editor "services/{{serviceName}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:endpoints/serviceIamMember:ServiceIamMember editor services/{{serviceName}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetServiceIamMember

func GetServiceIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServiceIamMemberState, opts ...pulumi.ResourceOption) (*ServiceIamMember, error)

GetServiceIamMember gets an existing ServiceIamMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewServiceIamMember

func NewServiceIamMember(ctx *pulumi.Context,
	name string, args *ServiceIamMemberArgs, opts ...pulumi.ResourceOption) (*ServiceIamMember, error)

NewServiceIamMember registers a new resource with the given unique name, arguments, and options.

func (*ServiceIamMember) ElementType

func (*ServiceIamMember) ElementType() reflect.Type

func (*ServiceIamMember) ToServiceIamMemberOutput

func (i *ServiceIamMember) ToServiceIamMemberOutput() ServiceIamMemberOutput

func (*ServiceIamMember) ToServiceIamMemberOutputWithContext

func (i *ServiceIamMember) ToServiceIamMemberOutputWithContext(ctx context.Context) ServiceIamMemberOutput

func (*ServiceIamMember) ToServiceIamMemberPtrOutput

func (i *ServiceIamMember) ToServiceIamMemberPtrOutput() ServiceIamMemberPtrOutput

func (*ServiceIamMember) ToServiceIamMemberPtrOutputWithContext

func (i *ServiceIamMember) ToServiceIamMemberPtrOutputWithContext(ctx context.Context) ServiceIamMemberPtrOutput

type ServiceIamMemberArgs

type ServiceIamMemberArgs struct {
	Condition ServiceIamMemberConditionPtrInput
	Member    pulumi.StringInput
	// The role that should be applied. Only one
	// `endpoints.ServiceIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
	// The name of the service. Used to find the parent resource to bind the IAM policy to
	ServiceName pulumi.StringInput
}

The set of arguments for constructing a ServiceIamMember resource.

func (ServiceIamMemberArgs) ElementType

func (ServiceIamMemberArgs) ElementType() reflect.Type

type ServiceIamMemberArray

type ServiceIamMemberArray []ServiceIamMemberInput

func (ServiceIamMemberArray) ElementType

func (ServiceIamMemberArray) ElementType() reflect.Type

func (ServiceIamMemberArray) ToServiceIamMemberArrayOutput

func (i ServiceIamMemberArray) ToServiceIamMemberArrayOutput() ServiceIamMemberArrayOutput

func (ServiceIamMemberArray) ToServiceIamMemberArrayOutputWithContext

func (i ServiceIamMemberArray) ToServiceIamMemberArrayOutputWithContext(ctx context.Context) ServiceIamMemberArrayOutput

type ServiceIamMemberArrayInput

type ServiceIamMemberArrayInput interface {
	pulumi.Input

	ToServiceIamMemberArrayOutput() ServiceIamMemberArrayOutput
	ToServiceIamMemberArrayOutputWithContext(context.Context) ServiceIamMemberArrayOutput
}

ServiceIamMemberArrayInput is an input type that accepts ServiceIamMemberArray and ServiceIamMemberArrayOutput values. You can construct a concrete instance of `ServiceIamMemberArrayInput` via:

ServiceIamMemberArray{ ServiceIamMemberArgs{...} }

type ServiceIamMemberArrayOutput

type ServiceIamMemberArrayOutput struct{ *pulumi.OutputState }

func (ServiceIamMemberArrayOutput) ElementType

func (ServiceIamMemberArrayOutput) Index

func (ServiceIamMemberArrayOutput) ToServiceIamMemberArrayOutput

func (o ServiceIamMemberArrayOutput) ToServiceIamMemberArrayOutput() ServiceIamMemberArrayOutput

func (ServiceIamMemberArrayOutput) ToServiceIamMemberArrayOutputWithContext

func (o ServiceIamMemberArrayOutput) ToServiceIamMemberArrayOutputWithContext(ctx context.Context) ServiceIamMemberArrayOutput

type ServiceIamMemberCondition

type ServiceIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type ServiceIamMemberConditionArgs

type ServiceIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (ServiceIamMemberConditionArgs) ElementType

func (ServiceIamMemberConditionArgs) ToServiceIamMemberConditionOutput

func (i ServiceIamMemberConditionArgs) ToServiceIamMemberConditionOutput() ServiceIamMemberConditionOutput

func (ServiceIamMemberConditionArgs) ToServiceIamMemberConditionOutputWithContext

func (i ServiceIamMemberConditionArgs) ToServiceIamMemberConditionOutputWithContext(ctx context.Context) ServiceIamMemberConditionOutput

func (ServiceIamMemberConditionArgs) ToServiceIamMemberConditionPtrOutput

func (i ServiceIamMemberConditionArgs) ToServiceIamMemberConditionPtrOutput() ServiceIamMemberConditionPtrOutput

func (ServiceIamMemberConditionArgs) ToServiceIamMemberConditionPtrOutputWithContext

func (i ServiceIamMemberConditionArgs) ToServiceIamMemberConditionPtrOutputWithContext(ctx context.Context) ServiceIamMemberConditionPtrOutput

type ServiceIamMemberConditionInput

type ServiceIamMemberConditionInput interface {
	pulumi.Input

	ToServiceIamMemberConditionOutput() ServiceIamMemberConditionOutput
	ToServiceIamMemberConditionOutputWithContext(context.Context) ServiceIamMemberConditionOutput
}

ServiceIamMemberConditionInput is an input type that accepts ServiceIamMemberConditionArgs and ServiceIamMemberConditionOutput values. You can construct a concrete instance of `ServiceIamMemberConditionInput` via:

ServiceIamMemberConditionArgs{...}

type ServiceIamMemberConditionOutput

type ServiceIamMemberConditionOutput struct{ *pulumi.OutputState }

func (ServiceIamMemberConditionOutput) Description

func (ServiceIamMemberConditionOutput) ElementType

func (ServiceIamMemberConditionOutput) Expression

func (ServiceIamMemberConditionOutput) Title

func (ServiceIamMemberConditionOutput) ToServiceIamMemberConditionOutput

func (o ServiceIamMemberConditionOutput) ToServiceIamMemberConditionOutput() ServiceIamMemberConditionOutput

func (ServiceIamMemberConditionOutput) ToServiceIamMemberConditionOutputWithContext

func (o ServiceIamMemberConditionOutput) ToServiceIamMemberConditionOutputWithContext(ctx context.Context) ServiceIamMemberConditionOutput

func (ServiceIamMemberConditionOutput) ToServiceIamMemberConditionPtrOutput

func (o ServiceIamMemberConditionOutput) ToServiceIamMemberConditionPtrOutput() ServiceIamMemberConditionPtrOutput

func (ServiceIamMemberConditionOutput) ToServiceIamMemberConditionPtrOutputWithContext

func (o ServiceIamMemberConditionOutput) ToServiceIamMemberConditionPtrOutputWithContext(ctx context.Context) ServiceIamMemberConditionPtrOutput

type ServiceIamMemberConditionPtrInput

type ServiceIamMemberConditionPtrInput interface {
	pulumi.Input

	ToServiceIamMemberConditionPtrOutput() ServiceIamMemberConditionPtrOutput
	ToServiceIamMemberConditionPtrOutputWithContext(context.Context) ServiceIamMemberConditionPtrOutput
}

ServiceIamMemberConditionPtrInput is an input type that accepts ServiceIamMemberConditionArgs, ServiceIamMemberConditionPtr and ServiceIamMemberConditionPtrOutput values. You can construct a concrete instance of `ServiceIamMemberConditionPtrInput` via:

        ServiceIamMemberConditionArgs{...}

or:

        nil

type ServiceIamMemberConditionPtrOutput

type ServiceIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (ServiceIamMemberConditionPtrOutput) Description

func (ServiceIamMemberConditionPtrOutput) Elem

func (ServiceIamMemberConditionPtrOutput) ElementType

func (ServiceIamMemberConditionPtrOutput) Expression

func (ServiceIamMemberConditionPtrOutput) Title

func (ServiceIamMemberConditionPtrOutput) ToServiceIamMemberConditionPtrOutput

func (o ServiceIamMemberConditionPtrOutput) ToServiceIamMemberConditionPtrOutput() ServiceIamMemberConditionPtrOutput

func (ServiceIamMemberConditionPtrOutput) ToServiceIamMemberConditionPtrOutputWithContext

func (o ServiceIamMemberConditionPtrOutput) ToServiceIamMemberConditionPtrOutputWithContext(ctx context.Context) ServiceIamMemberConditionPtrOutput

type ServiceIamMemberInput

type ServiceIamMemberInput interface {
	pulumi.Input

	ToServiceIamMemberOutput() ServiceIamMemberOutput
	ToServiceIamMemberOutputWithContext(ctx context.Context) ServiceIamMemberOutput
}

type ServiceIamMemberMap

type ServiceIamMemberMap map[string]ServiceIamMemberInput

func (ServiceIamMemberMap) ElementType

func (ServiceIamMemberMap) ElementType() reflect.Type

func (ServiceIamMemberMap) ToServiceIamMemberMapOutput

func (i ServiceIamMemberMap) ToServiceIamMemberMapOutput() ServiceIamMemberMapOutput

func (ServiceIamMemberMap) ToServiceIamMemberMapOutputWithContext

func (i ServiceIamMemberMap) ToServiceIamMemberMapOutputWithContext(ctx context.Context) ServiceIamMemberMapOutput

type ServiceIamMemberMapInput

type ServiceIamMemberMapInput interface {
	pulumi.Input

	ToServiceIamMemberMapOutput() ServiceIamMemberMapOutput
	ToServiceIamMemberMapOutputWithContext(context.Context) ServiceIamMemberMapOutput
}

ServiceIamMemberMapInput is an input type that accepts ServiceIamMemberMap and ServiceIamMemberMapOutput values. You can construct a concrete instance of `ServiceIamMemberMapInput` via:

ServiceIamMemberMap{ "key": ServiceIamMemberArgs{...} }

type ServiceIamMemberMapOutput

type ServiceIamMemberMapOutput struct{ *pulumi.OutputState }

func (ServiceIamMemberMapOutput) ElementType

func (ServiceIamMemberMapOutput) ElementType() reflect.Type

func (ServiceIamMemberMapOutput) MapIndex

func (ServiceIamMemberMapOutput) ToServiceIamMemberMapOutput

func (o ServiceIamMemberMapOutput) ToServiceIamMemberMapOutput() ServiceIamMemberMapOutput

func (ServiceIamMemberMapOutput) ToServiceIamMemberMapOutputWithContext

func (o ServiceIamMemberMapOutput) ToServiceIamMemberMapOutputWithContext(ctx context.Context) ServiceIamMemberMapOutput

type ServiceIamMemberOutput

type ServiceIamMemberOutput struct{ *pulumi.OutputState }

func (ServiceIamMemberOutput) ElementType

func (ServiceIamMemberOutput) ElementType() reflect.Type

func (ServiceIamMemberOutput) ToServiceIamMemberOutput

func (o ServiceIamMemberOutput) ToServiceIamMemberOutput() ServiceIamMemberOutput

func (ServiceIamMemberOutput) ToServiceIamMemberOutputWithContext

func (o ServiceIamMemberOutput) ToServiceIamMemberOutputWithContext(ctx context.Context) ServiceIamMemberOutput

func (ServiceIamMemberOutput) ToServiceIamMemberPtrOutput

func (o ServiceIamMemberOutput) ToServiceIamMemberPtrOutput() ServiceIamMemberPtrOutput

func (ServiceIamMemberOutput) ToServiceIamMemberPtrOutputWithContext

func (o ServiceIamMemberOutput) ToServiceIamMemberPtrOutputWithContext(ctx context.Context) ServiceIamMemberPtrOutput

type ServiceIamMemberPtrInput

type ServiceIamMemberPtrInput interface {
	pulumi.Input

	ToServiceIamMemberPtrOutput() ServiceIamMemberPtrOutput
	ToServiceIamMemberPtrOutputWithContext(ctx context.Context) ServiceIamMemberPtrOutput
}

type ServiceIamMemberPtrOutput

type ServiceIamMemberPtrOutput struct{ *pulumi.OutputState }

func (ServiceIamMemberPtrOutput) Elem added in v5.21.0

func (ServiceIamMemberPtrOutput) ElementType

func (ServiceIamMemberPtrOutput) ElementType() reflect.Type

func (ServiceIamMemberPtrOutput) ToServiceIamMemberPtrOutput

func (o ServiceIamMemberPtrOutput) ToServiceIamMemberPtrOutput() ServiceIamMemberPtrOutput

func (ServiceIamMemberPtrOutput) ToServiceIamMemberPtrOutputWithContext

func (o ServiceIamMemberPtrOutput) ToServiceIamMemberPtrOutputWithContext(ctx context.Context) ServiceIamMemberPtrOutput

type ServiceIamMemberState

type ServiceIamMemberState struct {
	Condition ServiceIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringPtrInput
	Member pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `endpoints.ServiceIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
	// The name of the service. Used to find the parent resource to bind the IAM policy to
	ServiceName pulumi.StringPtrInput
}

func (ServiceIamMemberState) ElementType

func (ServiceIamMemberState) ElementType() reflect.Type

type ServiceIamPolicy

type ServiceIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The name of the service. Used to find the parent resource to bind the IAM policy to
	ServiceName pulumi.StringOutput `pulumi:"serviceName"`
}

Three different resources help you manage your IAM policy for Cloud Endpoints Service. Each of these resources serves a different use case:

* `endpoints.ServiceIamPolicy`: Authoritative. Sets the IAM policy for the service and replaces any existing policy already attached. * `endpoints.ServiceIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the service are preserved. * `endpoints.ServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the service are preserved.

> **Note:** `endpoints.ServiceIamPolicy` **cannot** be used in conjunction with `endpoints.ServiceIamBinding` and `endpoints.ServiceIamMember` or they will fight over what your policy should be.

> **Note:** `endpoints.ServiceIamBinding` resources **can be** used in conjunction with `endpoints.ServiceIamMember` resources **only if** they do not grant privilege to the same role.

## google\_endpoints\_service\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/endpoints"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = endpoints.NewServiceIamPolicy(ctx, "policy", &endpoints.ServiceIamPolicyArgs{
			ServiceName: pulumi.Any(google_endpoints_service.Endpoints_service.Service_name),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_endpoints\_service\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/endpoints"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := endpoints.NewServiceIamBinding(ctx, "binding", &endpoints.ServiceIamBindingArgs{
			ServiceName: pulumi.Any(google_endpoints_service.Endpoints_service.Service_name),
			Role:        pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_endpoints\_service\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/endpoints"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := endpoints.NewServiceIamMember(ctx, "member", &endpoints.ServiceIamMemberArgs{
			ServiceName: pulumi.Any(google_endpoints_service.Endpoints_service.Service_name),
			Role:        pulumi.String("roles/viewer"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* services/{{serviceName}} * {{serviceName}} Any variables not passed in the import command will be taken from the provider configuration. Cloud Endpoints service IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:endpoints/serviceIamPolicy:ServiceIamPolicy editor "services/{{serviceName}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:endpoints/serviceIamPolicy:ServiceIamPolicy editor "services/{{serviceName}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:endpoints/serviceIamPolicy:ServiceIamPolicy editor services/{{serviceName}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetServiceIamPolicy

func GetServiceIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServiceIamPolicyState, opts ...pulumi.ResourceOption) (*ServiceIamPolicy, error)

GetServiceIamPolicy gets an existing ServiceIamPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewServiceIamPolicy

func NewServiceIamPolicy(ctx *pulumi.Context,
	name string, args *ServiceIamPolicyArgs, opts ...pulumi.ResourceOption) (*ServiceIamPolicy, error)

NewServiceIamPolicy registers a new resource with the given unique name, arguments, and options.

func (*ServiceIamPolicy) ElementType

func (*ServiceIamPolicy) ElementType() reflect.Type

func (*ServiceIamPolicy) ToServiceIamPolicyOutput

func (i *ServiceIamPolicy) ToServiceIamPolicyOutput() ServiceIamPolicyOutput

func (*ServiceIamPolicy) ToServiceIamPolicyOutputWithContext

func (i *ServiceIamPolicy) ToServiceIamPolicyOutputWithContext(ctx context.Context) ServiceIamPolicyOutput

func (*ServiceIamPolicy) ToServiceIamPolicyPtrOutput

func (i *ServiceIamPolicy) ToServiceIamPolicyPtrOutput() ServiceIamPolicyPtrOutput

func (*ServiceIamPolicy) ToServiceIamPolicyPtrOutputWithContext

func (i *ServiceIamPolicy) ToServiceIamPolicyPtrOutputWithContext(ctx context.Context) ServiceIamPolicyPtrOutput

type ServiceIamPolicyArgs

type ServiceIamPolicyArgs struct {
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The name of the service. Used to find the parent resource to bind the IAM policy to
	ServiceName pulumi.StringInput
}

The set of arguments for constructing a ServiceIamPolicy resource.

func (ServiceIamPolicyArgs) ElementType

func (ServiceIamPolicyArgs) ElementType() reflect.Type

type ServiceIamPolicyArray

type ServiceIamPolicyArray []ServiceIamPolicyInput

func (ServiceIamPolicyArray) ElementType

func (ServiceIamPolicyArray) ElementType() reflect.Type

func (ServiceIamPolicyArray) ToServiceIamPolicyArrayOutput

func (i ServiceIamPolicyArray) ToServiceIamPolicyArrayOutput() ServiceIamPolicyArrayOutput

func (ServiceIamPolicyArray) ToServiceIamPolicyArrayOutputWithContext

func (i ServiceIamPolicyArray) ToServiceIamPolicyArrayOutputWithContext(ctx context.Context) ServiceIamPolicyArrayOutput

type ServiceIamPolicyArrayInput

type ServiceIamPolicyArrayInput interface {
	pulumi.Input

	ToServiceIamPolicyArrayOutput() ServiceIamPolicyArrayOutput
	ToServiceIamPolicyArrayOutputWithContext(context.Context) ServiceIamPolicyArrayOutput
}

ServiceIamPolicyArrayInput is an input type that accepts ServiceIamPolicyArray and ServiceIamPolicyArrayOutput values. You can construct a concrete instance of `ServiceIamPolicyArrayInput` via:

ServiceIamPolicyArray{ ServiceIamPolicyArgs{...} }

type ServiceIamPolicyArrayOutput

type ServiceIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServiceIamPolicyArrayOutput) ElementType

func (ServiceIamPolicyArrayOutput) Index

func (ServiceIamPolicyArrayOutput) ToServiceIamPolicyArrayOutput

func (o ServiceIamPolicyArrayOutput) ToServiceIamPolicyArrayOutput() ServiceIamPolicyArrayOutput

func (ServiceIamPolicyArrayOutput) ToServiceIamPolicyArrayOutputWithContext

func (o ServiceIamPolicyArrayOutput) ToServiceIamPolicyArrayOutputWithContext(ctx context.Context) ServiceIamPolicyArrayOutput

type ServiceIamPolicyInput

type ServiceIamPolicyInput interface {
	pulumi.Input

	ToServiceIamPolicyOutput() ServiceIamPolicyOutput
	ToServiceIamPolicyOutputWithContext(ctx context.Context) ServiceIamPolicyOutput
}

type ServiceIamPolicyMap

type ServiceIamPolicyMap map[string]ServiceIamPolicyInput

func (ServiceIamPolicyMap) ElementType

func (ServiceIamPolicyMap) ElementType() reflect.Type

func (ServiceIamPolicyMap) ToServiceIamPolicyMapOutput

func (i ServiceIamPolicyMap) ToServiceIamPolicyMapOutput() ServiceIamPolicyMapOutput

func (ServiceIamPolicyMap) ToServiceIamPolicyMapOutputWithContext

func (i ServiceIamPolicyMap) ToServiceIamPolicyMapOutputWithContext(ctx context.Context) ServiceIamPolicyMapOutput

type ServiceIamPolicyMapInput

type ServiceIamPolicyMapInput interface {
	pulumi.Input

	ToServiceIamPolicyMapOutput() ServiceIamPolicyMapOutput
	ToServiceIamPolicyMapOutputWithContext(context.Context) ServiceIamPolicyMapOutput
}

ServiceIamPolicyMapInput is an input type that accepts ServiceIamPolicyMap and ServiceIamPolicyMapOutput values. You can construct a concrete instance of `ServiceIamPolicyMapInput` via:

ServiceIamPolicyMap{ "key": ServiceIamPolicyArgs{...} }

type ServiceIamPolicyMapOutput

type ServiceIamPolicyMapOutput struct{ *pulumi.OutputState }

func (ServiceIamPolicyMapOutput) ElementType

func (ServiceIamPolicyMapOutput) ElementType() reflect.Type

func (ServiceIamPolicyMapOutput) MapIndex

func (ServiceIamPolicyMapOutput) ToServiceIamPolicyMapOutput

func (o ServiceIamPolicyMapOutput) ToServiceIamPolicyMapOutput() ServiceIamPolicyMapOutput

func (ServiceIamPolicyMapOutput) ToServiceIamPolicyMapOutputWithContext

func (o ServiceIamPolicyMapOutput) ToServiceIamPolicyMapOutputWithContext(ctx context.Context) ServiceIamPolicyMapOutput

type ServiceIamPolicyOutput

type ServiceIamPolicyOutput struct{ *pulumi.OutputState }

func (ServiceIamPolicyOutput) ElementType

func (ServiceIamPolicyOutput) ElementType() reflect.Type

func (ServiceIamPolicyOutput) ToServiceIamPolicyOutput

func (o ServiceIamPolicyOutput) ToServiceIamPolicyOutput() ServiceIamPolicyOutput

func (ServiceIamPolicyOutput) ToServiceIamPolicyOutputWithContext

func (o ServiceIamPolicyOutput) ToServiceIamPolicyOutputWithContext(ctx context.Context) ServiceIamPolicyOutput

func (ServiceIamPolicyOutput) ToServiceIamPolicyPtrOutput

func (o ServiceIamPolicyOutput) ToServiceIamPolicyPtrOutput() ServiceIamPolicyPtrOutput

func (ServiceIamPolicyOutput) ToServiceIamPolicyPtrOutputWithContext

func (o ServiceIamPolicyOutput) ToServiceIamPolicyPtrOutputWithContext(ctx context.Context) ServiceIamPolicyPtrOutput

type ServiceIamPolicyPtrInput

type ServiceIamPolicyPtrInput interface {
	pulumi.Input

	ToServiceIamPolicyPtrOutput() ServiceIamPolicyPtrOutput
	ToServiceIamPolicyPtrOutputWithContext(ctx context.Context) ServiceIamPolicyPtrOutput
}

type ServiceIamPolicyPtrOutput

type ServiceIamPolicyPtrOutput struct{ *pulumi.OutputState }

func (ServiceIamPolicyPtrOutput) Elem added in v5.21.0

func (ServiceIamPolicyPtrOutput) ElementType

func (ServiceIamPolicyPtrOutput) ElementType() reflect.Type

func (ServiceIamPolicyPtrOutput) ToServiceIamPolicyPtrOutput

func (o ServiceIamPolicyPtrOutput) ToServiceIamPolicyPtrOutput() ServiceIamPolicyPtrOutput

func (ServiceIamPolicyPtrOutput) ToServiceIamPolicyPtrOutputWithContext

func (o ServiceIamPolicyPtrOutput) ToServiceIamPolicyPtrOutputWithContext(ctx context.Context) ServiceIamPolicyPtrOutput

type ServiceIamPolicyState

type ServiceIamPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// The name of the service. Used to find the parent resource to bind the IAM policy to
	ServiceName pulumi.StringPtrInput
}

func (ServiceIamPolicyState) ElementType

func (ServiceIamPolicyState) ElementType() reflect.Type

type ServiceInput

type ServiceInput interface {
	pulumi.Input

	ToServiceOutput() ServiceOutput
	ToServiceOutputWithContext(ctx context.Context) ServiceOutput
}

type ServiceMap

type ServiceMap map[string]ServiceInput

func (ServiceMap) ElementType

func (ServiceMap) ElementType() reflect.Type

func (ServiceMap) ToServiceMapOutput

func (i ServiceMap) ToServiceMapOutput() ServiceMapOutput

func (ServiceMap) ToServiceMapOutputWithContext

func (i ServiceMap) ToServiceMapOutputWithContext(ctx context.Context) ServiceMapOutput

type ServiceMapInput

type ServiceMapInput interface {
	pulumi.Input

	ToServiceMapOutput() ServiceMapOutput
	ToServiceMapOutputWithContext(context.Context) ServiceMapOutput
}

ServiceMapInput is an input type that accepts ServiceMap and ServiceMapOutput values. You can construct a concrete instance of `ServiceMapInput` via:

ServiceMap{ "key": ServiceArgs{...} }

type ServiceMapOutput

type ServiceMapOutput struct{ *pulumi.OutputState }

func (ServiceMapOutput) ElementType

func (ServiceMapOutput) ElementType() reflect.Type

func (ServiceMapOutput) MapIndex

func (ServiceMapOutput) ToServiceMapOutput

func (o ServiceMapOutput) ToServiceMapOutput() ServiceMapOutput

func (ServiceMapOutput) ToServiceMapOutputWithContext

func (o ServiceMapOutput) ToServiceMapOutputWithContext(ctx context.Context) ServiceMapOutput

type ServiceOutput

type ServiceOutput struct{ *pulumi.OutputState }

func (ServiceOutput) ElementType

func (ServiceOutput) ElementType() reflect.Type

func (ServiceOutput) ToServiceOutput

func (o ServiceOutput) ToServiceOutput() ServiceOutput

func (ServiceOutput) ToServiceOutputWithContext

func (o ServiceOutput) ToServiceOutputWithContext(ctx context.Context) ServiceOutput

func (ServiceOutput) ToServicePtrOutput

func (o ServiceOutput) ToServicePtrOutput() ServicePtrOutput

func (ServiceOutput) ToServicePtrOutputWithContext

func (o ServiceOutput) ToServicePtrOutputWithContext(ctx context.Context) ServicePtrOutput

type ServicePtrInput

type ServicePtrInput interface {
	pulumi.Input

	ToServicePtrOutput() ServicePtrOutput
	ToServicePtrOutputWithContext(ctx context.Context) ServicePtrOutput
}

type ServicePtrOutput

type ServicePtrOutput struct{ *pulumi.OutputState }

func (ServicePtrOutput) Elem added in v5.21.0

func (ServicePtrOutput) ElementType

func (ServicePtrOutput) ElementType() reflect.Type

func (ServicePtrOutput) ToServicePtrOutput

func (o ServicePtrOutput) ToServicePtrOutput() ServicePtrOutput

func (ServicePtrOutput) ToServicePtrOutputWithContext

func (o ServicePtrOutput) ToServicePtrOutputWithContext(ctx context.Context) ServicePtrOutput

type ServiceState

type ServiceState struct {
	// A list of API objects.
	Apis ServiceApiArrayInput
	// The autogenerated ID for the configuration that is rolled out as part of the creation of this resource. Must be provided
	// to compute engine instances as a tag.
	ConfigId pulumi.StringPtrInput
	// The address at which the service can be found - usually the same as the service name.
	DnsAddress pulumi.StringPtrInput
	// A list of Endpoint objects.
	Endpoints ServiceEndpointArrayInput
	// The full text of the Service Config YAML file (Example located here). If provided, must also provide
	// protoc_output_base64. open_api config must not be provided.
	GrpcConfig pulumi.StringPtrInput
	// The full text of the OpenAPI YAML configuration as described here. Either this, or both of grpc_config and
	// protoc_output_base64 must be specified.
	OpenapiConfig pulumi.StringPtrInput
	// The project ID that the service belongs to. If not provided, provider project is used.
	Project pulumi.StringPtrInput
	// The full contents of the Service Descriptor File generated by protoc. This should be a compiled .pb file,
	// base64-encoded.
	ProtocOutputBase64 pulumi.StringPtrInput
	// The name of the service. Usually of the form $apiname.endpoints.$projectid.cloud.goog.
	ServiceName pulumi.StringPtrInput
}

func (ServiceState) ElementType

func (ServiceState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL