Documentation ¶
Index ¶
- type ConsumersIamBinding
- type ConsumersIamBindingArgs
- type ConsumersIamBindingArray
- type ConsumersIamBindingArrayInput
- type ConsumersIamBindingArrayOutput
- func (ConsumersIamBindingArrayOutput) ElementType() reflect.Type
- func (o ConsumersIamBindingArrayOutput) Index(i pulumi.IntInput) ConsumersIamBindingOutput
- func (o ConsumersIamBindingArrayOutput) ToConsumersIamBindingArrayOutput() ConsumersIamBindingArrayOutput
- func (o ConsumersIamBindingArrayOutput) ToConsumersIamBindingArrayOutputWithContext(ctx context.Context) ConsumersIamBindingArrayOutput
- type ConsumersIamBindingCondition
- type ConsumersIamBindingConditionArgs
- func (ConsumersIamBindingConditionArgs) ElementType() reflect.Type
- func (i ConsumersIamBindingConditionArgs) ToConsumersIamBindingConditionOutput() ConsumersIamBindingConditionOutput
- func (i ConsumersIamBindingConditionArgs) ToConsumersIamBindingConditionOutputWithContext(ctx context.Context) ConsumersIamBindingConditionOutput
- func (i ConsumersIamBindingConditionArgs) ToConsumersIamBindingConditionPtrOutput() ConsumersIamBindingConditionPtrOutput
- func (i ConsumersIamBindingConditionArgs) ToConsumersIamBindingConditionPtrOutputWithContext(ctx context.Context) ConsumersIamBindingConditionPtrOutput
- type ConsumersIamBindingConditionInput
- type ConsumersIamBindingConditionOutput
- func (o ConsumersIamBindingConditionOutput) Description() pulumi.StringPtrOutput
- func (ConsumersIamBindingConditionOutput) ElementType() reflect.Type
- func (o ConsumersIamBindingConditionOutput) Expression() pulumi.StringOutput
- func (o ConsumersIamBindingConditionOutput) Title() pulumi.StringOutput
- func (o ConsumersIamBindingConditionOutput) ToConsumersIamBindingConditionOutput() ConsumersIamBindingConditionOutput
- func (o ConsumersIamBindingConditionOutput) ToConsumersIamBindingConditionOutputWithContext(ctx context.Context) ConsumersIamBindingConditionOutput
- func (o ConsumersIamBindingConditionOutput) ToConsumersIamBindingConditionPtrOutput() ConsumersIamBindingConditionPtrOutput
- func (o ConsumersIamBindingConditionOutput) ToConsumersIamBindingConditionPtrOutputWithContext(ctx context.Context) ConsumersIamBindingConditionPtrOutput
- type ConsumersIamBindingConditionPtrInput
- type ConsumersIamBindingConditionPtrOutput
- func (o ConsumersIamBindingConditionPtrOutput) Description() pulumi.StringPtrOutput
- func (o ConsumersIamBindingConditionPtrOutput) Elem() ConsumersIamBindingConditionOutput
- func (ConsumersIamBindingConditionPtrOutput) ElementType() reflect.Type
- func (o ConsumersIamBindingConditionPtrOutput) Expression() pulumi.StringPtrOutput
- func (o ConsumersIamBindingConditionPtrOutput) Title() pulumi.StringPtrOutput
- func (o ConsumersIamBindingConditionPtrOutput) ToConsumersIamBindingConditionPtrOutput() ConsumersIamBindingConditionPtrOutput
- func (o ConsumersIamBindingConditionPtrOutput) ToConsumersIamBindingConditionPtrOutputWithContext(ctx context.Context) ConsumersIamBindingConditionPtrOutput
- type ConsumersIamBindingInput
- type ConsumersIamBindingMap
- type ConsumersIamBindingMapInput
- type ConsumersIamBindingMapOutput
- func (ConsumersIamBindingMapOutput) ElementType() reflect.Type
- func (o ConsumersIamBindingMapOutput) MapIndex(k pulumi.StringInput) ConsumersIamBindingOutput
- func (o ConsumersIamBindingMapOutput) ToConsumersIamBindingMapOutput() ConsumersIamBindingMapOutput
- func (o ConsumersIamBindingMapOutput) ToConsumersIamBindingMapOutputWithContext(ctx context.Context) ConsumersIamBindingMapOutput
- type ConsumersIamBindingOutput
- func (o ConsumersIamBindingOutput) Condition() ConsumersIamBindingConditionPtrOutput
- func (o ConsumersIamBindingOutput) ConsumerProject() pulumi.StringOutput
- func (ConsumersIamBindingOutput) ElementType() reflect.Type
- func (o ConsumersIamBindingOutput) Etag() pulumi.StringOutput
- func (o ConsumersIamBindingOutput) Members() pulumi.StringArrayOutput
- func (o ConsumersIamBindingOutput) Role() pulumi.StringOutput
- func (o ConsumersIamBindingOutput) ServiceName() pulumi.StringOutput
- func (o ConsumersIamBindingOutput) ToConsumersIamBindingOutput() ConsumersIamBindingOutput
- func (o ConsumersIamBindingOutput) ToConsumersIamBindingOutputWithContext(ctx context.Context) ConsumersIamBindingOutput
- type ConsumersIamBindingState
- type ConsumersIamMember
- type ConsumersIamMemberArgs
- type ConsumersIamMemberArray
- type ConsumersIamMemberArrayInput
- type ConsumersIamMemberArrayOutput
- func (ConsumersIamMemberArrayOutput) ElementType() reflect.Type
- func (o ConsumersIamMemberArrayOutput) Index(i pulumi.IntInput) ConsumersIamMemberOutput
- func (o ConsumersIamMemberArrayOutput) ToConsumersIamMemberArrayOutput() ConsumersIamMemberArrayOutput
- func (o ConsumersIamMemberArrayOutput) ToConsumersIamMemberArrayOutputWithContext(ctx context.Context) ConsumersIamMemberArrayOutput
- type ConsumersIamMemberCondition
- type ConsumersIamMemberConditionArgs
- func (ConsumersIamMemberConditionArgs) ElementType() reflect.Type
- func (i ConsumersIamMemberConditionArgs) ToConsumersIamMemberConditionOutput() ConsumersIamMemberConditionOutput
- func (i ConsumersIamMemberConditionArgs) ToConsumersIamMemberConditionOutputWithContext(ctx context.Context) ConsumersIamMemberConditionOutput
- func (i ConsumersIamMemberConditionArgs) ToConsumersIamMemberConditionPtrOutput() ConsumersIamMemberConditionPtrOutput
- func (i ConsumersIamMemberConditionArgs) ToConsumersIamMemberConditionPtrOutputWithContext(ctx context.Context) ConsumersIamMemberConditionPtrOutput
- type ConsumersIamMemberConditionInput
- type ConsumersIamMemberConditionOutput
- func (o ConsumersIamMemberConditionOutput) Description() pulumi.StringPtrOutput
- func (ConsumersIamMemberConditionOutput) ElementType() reflect.Type
- func (o ConsumersIamMemberConditionOutput) Expression() pulumi.StringOutput
- func (o ConsumersIamMemberConditionOutput) Title() pulumi.StringOutput
- func (o ConsumersIamMemberConditionOutput) ToConsumersIamMemberConditionOutput() ConsumersIamMemberConditionOutput
- func (o ConsumersIamMemberConditionOutput) ToConsumersIamMemberConditionOutputWithContext(ctx context.Context) ConsumersIamMemberConditionOutput
- func (o ConsumersIamMemberConditionOutput) ToConsumersIamMemberConditionPtrOutput() ConsumersIamMemberConditionPtrOutput
- func (o ConsumersIamMemberConditionOutput) ToConsumersIamMemberConditionPtrOutputWithContext(ctx context.Context) ConsumersIamMemberConditionPtrOutput
- type ConsumersIamMemberConditionPtrInput
- type ConsumersIamMemberConditionPtrOutput
- func (o ConsumersIamMemberConditionPtrOutput) Description() pulumi.StringPtrOutput
- func (o ConsumersIamMemberConditionPtrOutput) Elem() ConsumersIamMemberConditionOutput
- func (ConsumersIamMemberConditionPtrOutput) ElementType() reflect.Type
- func (o ConsumersIamMemberConditionPtrOutput) Expression() pulumi.StringPtrOutput
- func (o ConsumersIamMemberConditionPtrOutput) Title() pulumi.StringPtrOutput
- func (o ConsumersIamMemberConditionPtrOutput) ToConsumersIamMemberConditionPtrOutput() ConsumersIamMemberConditionPtrOutput
- func (o ConsumersIamMemberConditionPtrOutput) ToConsumersIamMemberConditionPtrOutputWithContext(ctx context.Context) ConsumersIamMemberConditionPtrOutput
- type ConsumersIamMemberInput
- type ConsumersIamMemberMap
- type ConsumersIamMemberMapInput
- type ConsumersIamMemberMapOutput
- func (ConsumersIamMemberMapOutput) ElementType() reflect.Type
- func (o ConsumersIamMemberMapOutput) MapIndex(k pulumi.StringInput) ConsumersIamMemberOutput
- func (o ConsumersIamMemberMapOutput) ToConsumersIamMemberMapOutput() ConsumersIamMemberMapOutput
- func (o ConsumersIamMemberMapOutput) ToConsumersIamMemberMapOutputWithContext(ctx context.Context) ConsumersIamMemberMapOutput
- type ConsumersIamMemberOutput
- func (o ConsumersIamMemberOutput) Condition() ConsumersIamMemberConditionPtrOutput
- func (o ConsumersIamMemberOutput) ConsumerProject() pulumi.StringOutput
- func (ConsumersIamMemberOutput) ElementType() reflect.Type
- func (o ConsumersIamMemberOutput) Etag() pulumi.StringOutput
- func (o ConsumersIamMemberOutput) Member() pulumi.StringOutput
- func (o ConsumersIamMemberOutput) Role() pulumi.StringOutput
- func (o ConsumersIamMemberOutput) ServiceName() pulumi.StringOutput
- func (o ConsumersIamMemberOutput) ToConsumersIamMemberOutput() ConsumersIamMemberOutput
- func (o ConsumersIamMemberOutput) ToConsumersIamMemberOutputWithContext(ctx context.Context) ConsumersIamMemberOutput
- type ConsumersIamMemberState
- type ConsumersIamPolicy
- type ConsumersIamPolicyArgs
- type ConsumersIamPolicyArray
- type ConsumersIamPolicyArrayInput
- type ConsumersIamPolicyArrayOutput
- func (ConsumersIamPolicyArrayOutput) ElementType() reflect.Type
- func (o ConsumersIamPolicyArrayOutput) Index(i pulumi.IntInput) ConsumersIamPolicyOutput
- func (o ConsumersIamPolicyArrayOutput) ToConsumersIamPolicyArrayOutput() ConsumersIamPolicyArrayOutput
- func (o ConsumersIamPolicyArrayOutput) ToConsumersIamPolicyArrayOutputWithContext(ctx context.Context) ConsumersIamPolicyArrayOutput
- type ConsumersIamPolicyInput
- type ConsumersIamPolicyMap
- type ConsumersIamPolicyMapInput
- type ConsumersIamPolicyMapOutput
- func (ConsumersIamPolicyMapOutput) ElementType() reflect.Type
- func (o ConsumersIamPolicyMapOutput) MapIndex(k pulumi.StringInput) ConsumersIamPolicyOutput
- func (o ConsumersIamPolicyMapOutput) ToConsumersIamPolicyMapOutput() ConsumersIamPolicyMapOutput
- func (o ConsumersIamPolicyMapOutput) ToConsumersIamPolicyMapOutputWithContext(ctx context.Context) ConsumersIamPolicyMapOutput
- type ConsumersIamPolicyOutput
- func (o ConsumersIamPolicyOutput) ConsumerProject() pulumi.StringOutput
- func (ConsumersIamPolicyOutput) ElementType() reflect.Type
- func (o ConsumersIamPolicyOutput) Etag() pulumi.StringOutput
- func (o ConsumersIamPolicyOutput) PolicyData() pulumi.StringOutput
- func (o ConsumersIamPolicyOutput) ServiceName() pulumi.StringOutput
- func (o ConsumersIamPolicyOutput) ToConsumersIamPolicyOutput() ConsumersIamPolicyOutput
- func (o ConsumersIamPolicyOutput) ToConsumersIamPolicyOutputWithContext(ctx context.Context) ConsumersIamPolicyOutput
- type ConsumersIamPolicyState
- type GetServiceConsumersIamPolicyArgs
- type GetServiceConsumersIamPolicyOutputArgs
- type GetServiceConsumersIamPolicyResult
- type GetServiceConsumersIamPolicyResultOutput
- func (o GetServiceConsumersIamPolicyResultOutput) ConsumerProject() pulumi.StringOutput
- func (GetServiceConsumersIamPolicyResultOutput) ElementType() reflect.Type
- func (o GetServiceConsumersIamPolicyResultOutput) Etag() pulumi.StringOutput
- func (o GetServiceConsumersIamPolicyResultOutput) Id() pulumi.StringOutput
- func (o GetServiceConsumersIamPolicyResultOutput) PolicyData() pulumi.StringOutput
- func (o GetServiceConsumersIamPolicyResultOutput) ServiceName() pulumi.StringOutput
- func (o GetServiceConsumersIamPolicyResultOutput) ToGetServiceConsumersIamPolicyResultOutput() GetServiceConsumersIamPolicyResultOutput
- func (o GetServiceConsumersIamPolicyResultOutput) ToGetServiceConsumersIamPolicyResultOutputWithContext(ctx context.Context) GetServiceConsumersIamPolicyResultOutput
- type LookupServiceIamPolicyArgs
- type LookupServiceIamPolicyOutputArgs
- type LookupServiceIamPolicyResult
- type LookupServiceIamPolicyResultOutput
- func (LookupServiceIamPolicyResultOutput) ElementType() reflect.Type
- func (o LookupServiceIamPolicyResultOutput) Etag() pulumi.StringOutput
- func (o LookupServiceIamPolicyResultOutput) Id() pulumi.StringOutput
- func (o LookupServiceIamPolicyResultOutput) PolicyData() pulumi.StringOutput
- func (o LookupServiceIamPolicyResultOutput) ServiceName() pulumi.StringOutput
- func (o LookupServiceIamPolicyResultOutput) ToLookupServiceIamPolicyResultOutput() LookupServiceIamPolicyResultOutput
- func (o LookupServiceIamPolicyResultOutput) ToLookupServiceIamPolicyResultOutputWithContext(ctx context.Context) LookupServiceIamPolicyResultOutput
- type Service
- type ServiceApi
- type ServiceApiArgs
- type ServiceApiArray
- type ServiceApiArrayInput
- type ServiceApiArrayOutput
- func (ServiceApiArrayOutput) ElementType() reflect.Type
- func (o ServiceApiArrayOutput) Index(i pulumi.IntInput) ServiceApiOutput
- func (o ServiceApiArrayOutput) ToServiceApiArrayOutput() ServiceApiArrayOutput
- func (o ServiceApiArrayOutput) ToServiceApiArrayOutputWithContext(ctx context.Context) ServiceApiArrayOutput
- type ServiceApiInput
- type ServiceApiMethod
- type ServiceApiMethodArgs
- type ServiceApiMethodArray
- type ServiceApiMethodArrayInput
- type ServiceApiMethodArrayOutput
- func (ServiceApiMethodArrayOutput) ElementType() reflect.Type
- func (o ServiceApiMethodArrayOutput) Index(i pulumi.IntInput) ServiceApiMethodOutput
- func (o ServiceApiMethodArrayOutput) ToServiceApiMethodArrayOutput() ServiceApiMethodArrayOutput
- func (o ServiceApiMethodArrayOutput) ToServiceApiMethodArrayOutputWithContext(ctx context.Context) ServiceApiMethodArrayOutput
- type ServiceApiMethodInput
- type ServiceApiMethodOutput
- func (ServiceApiMethodOutput) ElementType() reflect.Type
- func (o ServiceApiMethodOutput) Name() pulumi.StringPtrOutput
- func (o ServiceApiMethodOutput) RequestType() pulumi.StringPtrOutput
- func (o ServiceApiMethodOutput) ResponseType() pulumi.StringPtrOutput
- func (o ServiceApiMethodOutput) Syntax() pulumi.StringPtrOutput
- func (o ServiceApiMethodOutput) ToServiceApiMethodOutput() ServiceApiMethodOutput
- func (o ServiceApiMethodOutput) ToServiceApiMethodOutputWithContext(ctx context.Context) ServiceApiMethodOutput
- type ServiceApiOutput
- func (ServiceApiOutput) ElementType() reflect.Type
- func (o ServiceApiOutput) Methods() ServiceApiMethodArrayOutput
- func (o ServiceApiOutput) Name() pulumi.StringPtrOutput
- func (o ServiceApiOutput) Syntax() pulumi.StringPtrOutput
- func (o ServiceApiOutput) ToServiceApiOutput() ServiceApiOutput
- func (o ServiceApiOutput) ToServiceApiOutputWithContext(ctx context.Context) ServiceApiOutput
- func (o ServiceApiOutput) Version() pulumi.StringPtrOutput
- type ServiceArgs
- type ServiceArray
- type ServiceArrayInput
- type ServiceArrayOutput
- type ServiceEndpoint
- type ServiceEndpointArgs
- type ServiceEndpointArray
- type ServiceEndpointArrayInput
- type ServiceEndpointArrayOutput
- func (ServiceEndpointArrayOutput) ElementType() reflect.Type
- func (o ServiceEndpointArrayOutput) Index(i pulumi.IntInput) ServiceEndpointOutput
- func (o ServiceEndpointArrayOutput) ToServiceEndpointArrayOutput() ServiceEndpointArrayOutput
- func (o ServiceEndpointArrayOutput) ToServiceEndpointArrayOutputWithContext(ctx context.Context) ServiceEndpointArrayOutput
- type ServiceEndpointInput
- type ServiceEndpointOutput
- func (o ServiceEndpointOutput) Address() pulumi.StringPtrOutput
- func (ServiceEndpointOutput) ElementType() reflect.Type
- func (o ServiceEndpointOutput) Name() pulumi.StringPtrOutput
- func (o ServiceEndpointOutput) ToServiceEndpointOutput() ServiceEndpointOutput
- func (o ServiceEndpointOutput) ToServiceEndpointOutputWithContext(ctx context.Context) ServiceEndpointOutput
- type ServiceIamBinding
- type ServiceIamBindingArgs
- type ServiceIamBindingArray
- type ServiceIamBindingArrayInput
- type ServiceIamBindingArrayOutput
- func (ServiceIamBindingArrayOutput) ElementType() reflect.Type
- func (o ServiceIamBindingArrayOutput) Index(i pulumi.IntInput) ServiceIamBindingOutput
- func (o ServiceIamBindingArrayOutput) ToServiceIamBindingArrayOutput() ServiceIamBindingArrayOutput
- func (o ServiceIamBindingArrayOutput) ToServiceIamBindingArrayOutputWithContext(ctx context.Context) ServiceIamBindingArrayOutput
- type ServiceIamBindingCondition
- type ServiceIamBindingConditionArgs
- func (ServiceIamBindingConditionArgs) ElementType() reflect.Type
- func (i ServiceIamBindingConditionArgs) ToServiceIamBindingConditionOutput() ServiceIamBindingConditionOutput
- func (i ServiceIamBindingConditionArgs) ToServiceIamBindingConditionOutputWithContext(ctx context.Context) ServiceIamBindingConditionOutput
- func (i ServiceIamBindingConditionArgs) ToServiceIamBindingConditionPtrOutput() ServiceIamBindingConditionPtrOutput
- func (i ServiceIamBindingConditionArgs) ToServiceIamBindingConditionPtrOutputWithContext(ctx context.Context) ServiceIamBindingConditionPtrOutput
- type ServiceIamBindingConditionInput
- type ServiceIamBindingConditionOutput
- func (o ServiceIamBindingConditionOutput) Description() pulumi.StringPtrOutput
- func (ServiceIamBindingConditionOutput) ElementType() reflect.Type
- func (o ServiceIamBindingConditionOutput) Expression() pulumi.StringOutput
- func (o ServiceIamBindingConditionOutput) Title() pulumi.StringOutput
- func (o ServiceIamBindingConditionOutput) ToServiceIamBindingConditionOutput() ServiceIamBindingConditionOutput
- func (o ServiceIamBindingConditionOutput) ToServiceIamBindingConditionOutputWithContext(ctx context.Context) ServiceIamBindingConditionOutput
- func (o ServiceIamBindingConditionOutput) ToServiceIamBindingConditionPtrOutput() ServiceIamBindingConditionPtrOutput
- func (o ServiceIamBindingConditionOutput) ToServiceIamBindingConditionPtrOutputWithContext(ctx context.Context) ServiceIamBindingConditionPtrOutput
- type ServiceIamBindingConditionPtrInput
- type ServiceIamBindingConditionPtrOutput
- func (o ServiceIamBindingConditionPtrOutput) Description() pulumi.StringPtrOutput
- func (o ServiceIamBindingConditionPtrOutput) Elem() ServiceIamBindingConditionOutput
- func (ServiceIamBindingConditionPtrOutput) ElementType() reflect.Type
- func (o ServiceIamBindingConditionPtrOutput) Expression() pulumi.StringPtrOutput
- func (o ServiceIamBindingConditionPtrOutput) Title() pulumi.StringPtrOutput
- func (o ServiceIamBindingConditionPtrOutput) ToServiceIamBindingConditionPtrOutput() ServiceIamBindingConditionPtrOutput
- func (o ServiceIamBindingConditionPtrOutput) ToServiceIamBindingConditionPtrOutputWithContext(ctx context.Context) ServiceIamBindingConditionPtrOutput
- type ServiceIamBindingInput
- type ServiceIamBindingMap
- type ServiceIamBindingMapInput
- type ServiceIamBindingMapOutput
- func (ServiceIamBindingMapOutput) ElementType() reflect.Type
- func (o ServiceIamBindingMapOutput) MapIndex(k pulumi.StringInput) ServiceIamBindingOutput
- func (o ServiceIamBindingMapOutput) ToServiceIamBindingMapOutput() ServiceIamBindingMapOutput
- func (o ServiceIamBindingMapOutput) ToServiceIamBindingMapOutputWithContext(ctx context.Context) ServiceIamBindingMapOutput
- type ServiceIamBindingOutput
- func (o ServiceIamBindingOutput) Condition() ServiceIamBindingConditionPtrOutput
- func (ServiceIamBindingOutput) ElementType() reflect.Type
- func (o ServiceIamBindingOutput) Etag() pulumi.StringOutput
- func (o ServiceIamBindingOutput) Members() pulumi.StringArrayOutput
- func (o ServiceIamBindingOutput) Role() pulumi.StringOutput
- func (o ServiceIamBindingOutput) ServiceName() pulumi.StringOutput
- func (o ServiceIamBindingOutput) ToServiceIamBindingOutput() ServiceIamBindingOutput
- func (o ServiceIamBindingOutput) ToServiceIamBindingOutputWithContext(ctx context.Context) ServiceIamBindingOutput
- type ServiceIamBindingState
- type ServiceIamMember
- type ServiceIamMemberArgs
- type ServiceIamMemberArray
- type ServiceIamMemberArrayInput
- type ServiceIamMemberArrayOutput
- func (ServiceIamMemberArrayOutput) ElementType() reflect.Type
- func (o ServiceIamMemberArrayOutput) Index(i pulumi.IntInput) ServiceIamMemberOutput
- func (o ServiceIamMemberArrayOutput) ToServiceIamMemberArrayOutput() ServiceIamMemberArrayOutput
- func (o ServiceIamMemberArrayOutput) ToServiceIamMemberArrayOutputWithContext(ctx context.Context) ServiceIamMemberArrayOutput
- type ServiceIamMemberCondition
- type ServiceIamMemberConditionArgs
- func (ServiceIamMemberConditionArgs) ElementType() reflect.Type
- func (i ServiceIamMemberConditionArgs) ToServiceIamMemberConditionOutput() ServiceIamMemberConditionOutput
- func (i ServiceIamMemberConditionArgs) ToServiceIamMemberConditionOutputWithContext(ctx context.Context) ServiceIamMemberConditionOutput
- func (i ServiceIamMemberConditionArgs) ToServiceIamMemberConditionPtrOutput() ServiceIamMemberConditionPtrOutput
- func (i ServiceIamMemberConditionArgs) ToServiceIamMemberConditionPtrOutputWithContext(ctx context.Context) ServiceIamMemberConditionPtrOutput
- type ServiceIamMemberConditionInput
- type ServiceIamMemberConditionOutput
- func (o ServiceIamMemberConditionOutput) Description() pulumi.StringPtrOutput
- func (ServiceIamMemberConditionOutput) ElementType() reflect.Type
- func (o ServiceIamMemberConditionOutput) Expression() pulumi.StringOutput
- func (o ServiceIamMemberConditionOutput) Title() pulumi.StringOutput
- func (o ServiceIamMemberConditionOutput) ToServiceIamMemberConditionOutput() ServiceIamMemberConditionOutput
- func (o ServiceIamMemberConditionOutput) ToServiceIamMemberConditionOutputWithContext(ctx context.Context) ServiceIamMemberConditionOutput
- func (o ServiceIamMemberConditionOutput) ToServiceIamMemberConditionPtrOutput() ServiceIamMemberConditionPtrOutput
- func (o ServiceIamMemberConditionOutput) ToServiceIamMemberConditionPtrOutputWithContext(ctx context.Context) ServiceIamMemberConditionPtrOutput
- type ServiceIamMemberConditionPtrInput
- type ServiceIamMemberConditionPtrOutput
- func (o ServiceIamMemberConditionPtrOutput) Description() pulumi.StringPtrOutput
- func (o ServiceIamMemberConditionPtrOutput) Elem() ServiceIamMemberConditionOutput
- func (ServiceIamMemberConditionPtrOutput) ElementType() reflect.Type
- func (o ServiceIamMemberConditionPtrOutput) Expression() pulumi.StringPtrOutput
- func (o ServiceIamMemberConditionPtrOutput) Title() pulumi.StringPtrOutput
- func (o ServiceIamMemberConditionPtrOutput) ToServiceIamMemberConditionPtrOutput() ServiceIamMemberConditionPtrOutput
- func (o ServiceIamMemberConditionPtrOutput) ToServiceIamMemberConditionPtrOutputWithContext(ctx context.Context) ServiceIamMemberConditionPtrOutput
- type ServiceIamMemberInput
- type ServiceIamMemberMap
- type ServiceIamMemberMapInput
- type ServiceIamMemberMapOutput
- func (ServiceIamMemberMapOutput) ElementType() reflect.Type
- func (o ServiceIamMemberMapOutput) MapIndex(k pulumi.StringInput) ServiceIamMemberOutput
- func (o ServiceIamMemberMapOutput) ToServiceIamMemberMapOutput() ServiceIamMemberMapOutput
- func (o ServiceIamMemberMapOutput) ToServiceIamMemberMapOutputWithContext(ctx context.Context) ServiceIamMemberMapOutput
- type ServiceIamMemberOutput
- func (o ServiceIamMemberOutput) Condition() ServiceIamMemberConditionPtrOutput
- func (ServiceIamMemberOutput) ElementType() reflect.Type
- func (o ServiceIamMemberOutput) Etag() pulumi.StringOutput
- func (o ServiceIamMemberOutput) Member() pulumi.StringOutput
- func (o ServiceIamMemberOutput) Role() pulumi.StringOutput
- func (o ServiceIamMemberOutput) ServiceName() pulumi.StringOutput
- func (o ServiceIamMemberOutput) ToServiceIamMemberOutput() ServiceIamMemberOutput
- func (o ServiceIamMemberOutput) ToServiceIamMemberOutputWithContext(ctx context.Context) ServiceIamMemberOutput
- type ServiceIamMemberState
- type ServiceIamPolicy
- type ServiceIamPolicyArgs
- type ServiceIamPolicyArray
- type ServiceIamPolicyArrayInput
- type ServiceIamPolicyArrayOutput
- func (ServiceIamPolicyArrayOutput) ElementType() reflect.Type
- func (o ServiceIamPolicyArrayOutput) Index(i pulumi.IntInput) ServiceIamPolicyOutput
- func (o ServiceIamPolicyArrayOutput) ToServiceIamPolicyArrayOutput() ServiceIamPolicyArrayOutput
- func (o ServiceIamPolicyArrayOutput) ToServiceIamPolicyArrayOutputWithContext(ctx context.Context) ServiceIamPolicyArrayOutput
- type ServiceIamPolicyInput
- type ServiceIamPolicyMap
- type ServiceIamPolicyMapInput
- type ServiceIamPolicyMapOutput
- func (ServiceIamPolicyMapOutput) ElementType() reflect.Type
- func (o ServiceIamPolicyMapOutput) MapIndex(k pulumi.StringInput) ServiceIamPolicyOutput
- func (o ServiceIamPolicyMapOutput) ToServiceIamPolicyMapOutput() ServiceIamPolicyMapOutput
- func (o ServiceIamPolicyMapOutput) ToServiceIamPolicyMapOutputWithContext(ctx context.Context) ServiceIamPolicyMapOutput
- type ServiceIamPolicyOutput
- func (ServiceIamPolicyOutput) ElementType() reflect.Type
- func (o ServiceIamPolicyOutput) Etag() pulumi.StringOutput
- func (o ServiceIamPolicyOutput) PolicyData() pulumi.StringOutput
- func (o ServiceIamPolicyOutput) ServiceName() pulumi.StringOutput
- func (o ServiceIamPolicyOutput) ToServiceIamPolicyOutput() ServiceIamPolicyOutput
- func (o ServiceIamPolicyOutput) ToServiceIamPolicyOutputWithContext(ctx context.Context) ServiceIamPolicyOutput
- type ServiceIamPolicyState
- type ServiceInput
- type ServiceMap
- type ServiceMapInput
- type ServiceMapOutput
- type ServiceOutput
- func (o ServiceOutput) Apis() ServiceApiArrayOutput
- func (o ServiceOutput) ConfigId() pulumi.StringOutput
- func (o ServiceOutput) DnsAddress() pulumi.StringOutput
- func (ServiceOutput) ElementType() reflect.Type
- func (o ServiceOutput) Endpoints() ServiceEndpointArrayOutput
- func (o ServiceOutput) GrpcConfig() pulumi.StringPtrOutput
- func (o ServiceOutput) OpenapiConfig() pulumi.StringPtrOutput
- func (o ServiceOutput) Project() pulumi.StringOutput
- func (o ServiceOutput) ProtocOutputBase64() pulumi.StringPtrOutput
- func (o ServiceOutput) ServiceName() pulumi.StringOutput
- func (o ServiceOutput) ToServiceOutput() ServiceOutput
- func (o ServiceOutput) ToServiceOutputWithContext(ctx context.Context) ServiceOutput
- type ServiceState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConsumersIamBinding ¶
type ConsumersIamBinding struct { pulumi.CustomResourceState Condition ConsumersIamBindingConditionPtrOutput `pulumi:"condition"` ConsumerProject pulumi.StringOutput `pulumi:"consumerProject"` // (Computed) The etag of the IAM policy. Etag pulumi.StringOutput `pulumi:"etag"` // Identities that will be granted the privilege in `role`. // Each entry can have one of the following values: // * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. // * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. // * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. // * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. // * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. // * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. // * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" // * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" // * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project" Members pulumi.StringArrayOutput `pulumi:"members"` // The role that should be applied. Only one // `endpoints.ConsumersIamBinding` 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"` ServiceName pulumi.StringOutput `pulumi:"serviceName"` }
Three different resources help you manage your IAM policy for Cloud Endpoints ServiceConsumers. Each of these resources serves a different use case:
* `endpoints.ConsumersIamPolicy`: Authoritative. Sets the IAM policy for the serviceconsumers and replaces any existing policy already attached. * `endpoints.ConsumersIamBinding`: 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 serviceconsumers are preserved. * `endpoints.ConsumersIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the serviceconsumers are preserved.
A data source can be used to retrieve policy data in advent you do not need creation ¶
* `endpoints.ConsumersIamPolicy`: Retrieves the IAM policy for the serviceconsumers
> **Note:** `endpoints.ConsumersIamPolicy` **cannot** be used in conjunction with `endpoints.ConsumersIamBinding` and `endpoints.ConsumersIamMember` or they will fight over what your policy should be.
> **Note:** `endpoints.ConsumersIamBinding` resources **can be** used in conjunction with `endpoints.ConsumersIamMember` resources **only if** they do not grant privilege to the same role.
## Import
For all import syntaxes, the "resource in question" can take any of the following forms:
* services/{{service_name}}/consumers/{{consumer_project}}
* {{service_name}}/{{consumer_project}}
* {{consumer_project}}
Any variables not passed in the import command will be taken from the provider configuration.
Cloud Endpoints serviceconsumers IAM resources can be imported using the resource identifiers, role, and member.
IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
```sh $ pulumi import gcp:endpoints/consumersIamBinding:ConsumersIamBinding editor "services/{{service_name}}/consumers/{{consumer_project}} roles/servicemanagement.serviceController user:jane@example.com" ```
IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
```sh $ pulumi import gcp:endpoints/consumersIamBinding:ConsumersIamBinding editor "services/{{service_name}}/consumers/{{consumer_project}} roles/servicemanagement.serviceController" ```
IAM policy imports use the identifier of the resource in question, e.g.
```sh $ pulumi import gcp:endpoints/consumersIamBinding:ConsumersIamBinding editor services/{{service_name}}/consumers/{{consumer_project}} ```
-> **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 GetConsumersIamBinding ¶
func GetConsumersIamBinding(ctx *pulumi.Context, name string, id pulumi.IDInput, state *ConsumersIamBindingState, opts ...pulumi.ResourceOption) (*ConsumersIamBinding, error)
GetConsumersIamBinding gets an existing ConsumersIamBinding 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 NewConsumersIamBinding ¶
func NewConsumersIamBinding(ctx *pulumi.Context, name string, args *ConsumersIamBindingArgs, opts ...pulumi.ResourceOption) (*ConsumersIamBinding, error)
NewConsumersIamBinding registers a new resource with the given unique name, arguments, and options.
func (*ConsumersIamBinding) ElementType ¶
func (*ConsumersIamBinding) ElementType() reflect.Type
func (*ConsumersIamBinding) ToConsumersIamBindingOutput ¶
func (i *ConsumersIamBinding) ToConsumersIamBindingOutput() ConsumersIamBindingOutput
func (*ConsumersIamBinding) ToConsumersIamBindingOutputWithContext ¶
func (i *ConsumersIamBinding) ToConsumersIamBindingOutputWithContext(ctx context.Context) ConsumersIamBindingOutput
type ConsumersIamBindingArgs ¶
type ConsumersIamBindingArgs struct { Condition ConsumersIamBindingConditionPtrInput ConsumerProject pulumi.StringInput // Identities that will be granted the privilege in `role`. // Each entry can have one of the following values: // * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. // * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. // * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. // * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. // * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. // * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. // * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" // * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" // * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project" Members pulumi.StringArrayInput // The role that should be applied. Only one // `endpoints.ConsumersIamBinding` can be used per role. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringInput ServiceName pulumi.StringInput }
The set of arguments for constructing a ConsumersIamBinding resource.
func (ConsumersIamBindingArgs) ElementType ¶
func (ConsumersIamBindingArgs) ElementType() reflect.Type
type ConsumersIamBindingArray ¶
type ConsumersIamBindingArray []ConsumersIamBindingInput
func (ConsumersIamBindingArray) ElementType ¶
func (ConsumersIamBindingArray) ElementType() reflect.Type
func (ConsumersIamBindingArray) ToConsumersIamBindingArrayOutput ¶
func (i ConsumersIamBindingArray) ToConsumersIamBindingArrayOutput() ConsumersIamBindingArrayOutput
func (ConsumersIamBindingArray) ToConsumersIamBindingArrayOutputWithContext ¶
func (i ConsumersIamBindingArray) ToConsumersIamBindingArrayOutputWithContext(ctx context.Context) ConsumersIamBindingArrayOutput
type ConsumersIamBindingArrayInput ¶
type ConsumersIamBindingArrayInput interface { pulumi.Input ToConsumersIamBindingArrayOutput() ConsumersIamBindingArrayOutput ToConsumersIamBindingArrayOutputWithContext(context.Context) ConsumersIamBindingArrayOutput }
ConsumersIamBindingArrayInput is an input type that accepts ConsumersIamBindingArray and ConsumersIamBindingArrayOutput values. You can construct a concrete instance of `ConsumersIamBindingArrayInput` via:
ConsumersIamBindingArray{ ConsumersIamBindingArgs{...} }
type ConsumersIamBindingArrayOutput ¶
type ConsumersIamBindingArrayOutput struct{ *pulumi.OutputState }
func (ConsumersIamBindingArrayOutput) ElementType ¶
func (ConsumersIamBindingArrayOutput) ElementType() reflect.Type
func (ConsumersIamBindingArrayOutput) Index ¶
func (o ConsumersIamBindingArrayOutput) Index(i pulumi.IntInput) ConsumersIamBindingOutput
func (ConsumersIamBindingArrayOutput) ToConsumersIamBindingArrayOutput ¶
func (o ConsumersIamBindingArrayOutput) ToConsumersIamBindingArrayOutput() ConsumersIamBindingArrayOutput
func (ConsumersIamBindingArrayOutput) ToConsumersIamBindingArrayOutputWithContext ¶
func (o ConsumersIamBindingArrayOutput) ToConsumersIamBindingArrayOutputWithContext(ctx context.Context) ConsumersIamBindingArrayOutput
type ConsumersIamBindingConditionArgs ¶
type ConsumersIamBindingConditionArgs struct { Description pulumi.StringPtrInput `pulumi:"description"` Expression pulumi.StringInput `pulumi:"expression"` Title pulumi.StringInput `pulumi:"title"` }
func (ConsumersIamBindingConditionArgs) ElementType ¶
func (ConsumersIamBindingConditionArgs) ElementType() reflect.Type
func (ConsumersIamBindingConditionArgs) ToConsumersIamBindingConditionOutput ¶
func (i ConsumersIamBindingConditionArgs) ToConsumersIamBindingConditionOutput() ConsumersIamBindingConditionOutput
func (ConsumersIamBindingConditionArgs) ToConsumersIamBindingConditionOutputWithContext ¶
func (i ConsumersIamBindingConditionArgs) ToConsumersIamBindingConditionOutputWithContext(ctx context.Context) ConsumersIamBindingConditionOutput
func (ConsumersIamBindingConditionArgs) ToConsumersIamBindingConditionPtrOutput ¶
func (i ConsumersIamBindingConditionArgs) ToConsumersIamBindingConditionPtrOutput() ConsumersIamBindingConditionPtrOutput
func (ConsumersIamBindingConditionArgs) ToConsumersIamBindingConditionPtrOutputWithContext ¶
func (i ConsumersIamBindingConditionArgs) ToConsumersIamBindingConditionPtrOutputWithContext(ctx context.Context) ConsumersIamBindingConditionPtrOutput
type ConsumersIamBindingConditionInput ¶
type ConsumersIamBindingConditionInput interface { pulumi.Input ToConsumersIamBindingConditionOutput() ConsumersIamBindingConditionOutput ToConsumersIamBindingConditionOutputWithContext(context.Context) ConsumersIamBindingConditionOutput }
ConsumersIamBindingConditionInput is an input type that accepts ConsumersIamBindingConditionArgs and ConsumersIamBindingConditionOutput values. You can construct a concrete instance of `ConsumersIamBindingConditionInput` via:
ConsumersIamBindingConditionArgs{...}
type ConsumersIamBindingConditionOutput ¶
type ConsumersIamBindingConditionOutput struct{ *pulumi.OutputState }
func (ConsumersIamBindingConditionOutput) Description ¶
func (o ConsumersIamBindingConditionOutput) Description() pulumi.StringPtrOutput
func (ConsumersIamBindingConditionOutput) ElementType ¶
func (ConsumersIamBindingConditionOutput) ElementType() reflect.Type
func (ConsumersIamBindingConditionOutput) Expression ¶
func (o ConsumersIamBindingConditionOutput) Expression() pulumi.StringOutput
func (ConsumersIamBindingConditionOutput) Title ¶
func (o ConsumersIamBindingConditionOutput) Title() pulumi.StringOutput
func (ConsumersIamBindingConditionOutput) ToConsumersIamBindingConditionOutput ¶
func (o ConsumersIamBindingConditionOutput) ToConsumersIamBindingConditionOutput() ConsumersIamBindingConditionOutput
func (ConsumersIamBindingConditionOutput) ToConsumersIamBindingConditionOutputWithContext ¶
func (o ConsumersIamBindingConditionOutput) ToConsumersIamBindingConditionOutputWithContext(ctx context.Context) ConsumersIamBindingConditionOutput
func (ConsumersIamBindingConditionOutput) ToConsumersIamBindingConditionPtrOutput ¶
func (o ConsumersIamBindingConditionOutput) ToConsumersIamBindingConditionPtrOutput() ConsumersIamBindingConditionPtrOutput
func (ConsumersIamBindingConditionOutput) ToConsumersIamBindingConditionPtrOutputWithContext ¶
func (o ConsumersIamBindingConditionOutput) ToConsumersIamBindingConditionPtrOutputWithContext(ctx context.Context) ConsumersIamBindingConditionPtrOutput
type ConsumersIamBindingConditionPtrInput ¶
type ConsumersIamBindingConditionPtrInput interface { pulumi.Input ToConsumersIamBindingConditionPtrOutput() ConsumersIamBindingConditionPtrOutput ToConsumersIamBindingConditionPtrOutputWithContext(context.Context) ConsumersIamBindingConditionPtrOutput }
ConsumersIamBindingConditionPtrInput is an input type that accepts ConsumersIamBindingConditionArgs, ConsumersIamBindingConditionPtr and ConsumersIamBindingConditionPtrOutput values. You can construct a concrete instance of `ConsumersIamBindingConditionPtrInput` via:
ConsumersIamBindingConditionArgs{...} or: nil
func ConsumersIamBindingConditionPtr ¶
func ConsumersIamBindingConditionPtr(v *ConsumersIamBindingConditionArgs) ConsumersIamBindingConditionPtrInput
type ConsumersIamBindingConditionPtrOutput ¶
type ConsumersIamBindingConditionPtrOutput struct{ *pulumi.OutputState }
func (ConsumersIamBindingConditionPtrOutput) Description ¶
func (o ConsumersIamBindingConditionPtrOutput) Description() pulumi.StringPtrOutput
func (ConsumersIamBindingConditionPtrOutput) ElementType ¶
func (ConsumersIamBindingConditionPtrOutput) ElementType() reflect.Type
func (ConsumersIamBindingConditionPtrOutput) Expression ¶
func (o ConsumersIamBindingConditionPtrOutput) Expression() pulumi.StringPtrOutput
func (ConsumersIamBindingConditionPtrOutput) Title ¶
func (o ConsumersIamBindingConditionPtrOutput) Title() pulumi.StringPtrOutput
func (ConsumersIamBindingConditionPtrOutput) ToConsumersIamBindingConditionPtrOutput ¶
func (o ConsumersIamBindingConditionPtrOutput) ToConsumersIamBindingConditionPtrOutput() ConsumersIamBindingConditionPtrOutput
func (ConsumersIamBindingConditionPtrOutput) ToConsumersIamBindingConditionPtrOutputWithContext ¶
func (o ConsumersIamBindingConditionPtrOutput) ToConsumersIamBindingConditionPtrOutputWithContext(ctx context.Context) ConsumersIamBindingConditionPtrOutput
type ConsumersIamBindingInput ¶
type ConsumersIamBindingInput interface { pulumi.Input ToConsumersIamBindingOutput() ConsumersIamBindingOutput ToConsumersIamBindingOutputWithContext(ctx context.Context) ConsumersIamBindingOutput }
type ConsumersIamBindingMap ¶
type ConsumersIamBindingMap map[string]ConsumersIamBindingInput
func (ConsumersIamBindingMap) ElementType ¶
func (ConsumersIamBindingMap) ElementType() reflect.Type
func (ConsumersIamBindingMap) ToConsumersIamBindingMapOutput ¶
func (i ConsumersIamBindingMap) ToConsumersIamBindingMapOutput() ConsumersIamBindingMapOutput
func (ConsumersIamBindingMap) ToConsumersIamBindingMapOutputWithContext ¶
func (i ConsumersIamBindingMap) ToConsumersIamBindingMapOutputWithContext(ctx context.Context) ConsumersIamBindingMapOutput
type ConsumersIamBindingMapInput ¶
type ConsumersIamBindingMapInput interface { pulumi.Input ToConsumersIamBindingMapOutput() ConsumersIamBindingMapOutput ToConsumersIamBindingMapOutputWithContext(context.Context) ConsumersIamBindingMapOutput }
ConsumersIamBindingMapInput is an input type that accepts ConsumersIamBindingMap and ConsumersIamBindingMapOutput values. You can construct a concrete instance of `ConsumersIamBindingMapInput` via:
ConsumersIamBindingMap{ "key": ConsumersIamBindingArgs{...} }
type ConsumersIamBindingMapOutput ¶
type ConsumersIamBindingMapOutput struct{ *pulumi.OutputState }
func (ConsumersIamBindingMapOutput) ElementType ¶
func (ConsumersIamBindingMapOutput) ElementType() reflect.Type
func (ConsumersIamBindingMapOutput) MapIndex ¶
func (o ConsumersIamBindingMapOutput) MapIndex(k pulumi.StringInput) ConsumersIamBindingOutput
func (ConsumersIamBindingMapOutput) ToConsumersIamBindingMapOutput ¶
func (o ConsumersIamBindingMapOutput) ToConsumersIamBindingMapOutput() ConsumersIamBindingMapOutput
func (ConsumersIamBindingMapOutput) ToConsumersIamBindingMapOutputWithContext ¶
func (o ConsumersIamBindingMapOutput) ToConsumersIamBindingMapOutputWithContext(ctx context.Context) ConsumersIamBindingMapOutput
type ConsumersIamBindingOutput ¶
type ConsumersIamBindingOutput struct{ *pulumi.OutputState }
func (ConsumersIamBindingOutput) Condition ¶
func (o ConsumersIamBindingOutput) Condition() ConsumersIamBindingConditionPtrOutput
func (ConsumersIamBindingOutput) ConsumerProject ¶
func (o ConsumersIamBindingOutput) ConsumerProject() pulumi.StringOutput
func (ConsumersIamBindingOutput) ElementType ¶
func (ConsumersIamBindingOutput) ElementType() reflect.Type
func (ConsumersIamBindingOutput) Etag ¶
func (o ConsumersIamBindingOutput) Etag() pulumi.StringOutput
(Computed) The etag of the IAM policy.
func (ConsumersIamBindingOutput) Members ¶
func (o ConsumersIamBindingOutput) Members() pulumi.StringArrayOutput
Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
func (ConsumersIamBindingOutput) Role ¶
func (o ConsumersIamBindingOutput) Role() pulumi.StringOutput
The role that should be applied. Only one `endpoints.ConsumersIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.
func (ConsumersIamBindingOutput) ServiceName ¶
func (o ConsumersIamBindingOutput) ServiceName() pulumi.StringOutput
func (ConsumersIamBindingOutput) ToConsumersIamBindingOutput ¶
func (o ConsumersIamBindingOutput) ToConsumersIamBindingOutput() ConsumersIamBindingOutput
func (ConsumersIamBindingOutput) ToConsumersIamBindingOutputWithContext ¶
func (o ConsumersIamBindingOutput) ToConsumersIamBindingOutputWithContext(ctx context.Context) ConsumersIamBindingOutput
type ConsumersIamBindingState ¶
type ConsumersIamBindingState struct { Condition ConsumersIamBindingConditionPtrInput ConsumerProject pulumi.StringPtrInput // (Computed) The etag of the IAM policy. Etag pulumi.StringPtrInput // Identities that will be granted the privilege in `role`. // Each entry can have one of the following values: // * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. // * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. // * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. // * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. // * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. // * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. // * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" // * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" // * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project" Members pulumi.StringArrayInput // The role that should be applied. Only one // `endpoints.ConsumersIamBinding` can be used per role. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringPtrInput ServiceName pulumi.StringPtrInput }
func (ConsumersIamBindingState) ElementType ¶
func (ConsumersIamBindingState) ElementType() reflect.Type
type ConsumersIamMember ¶
type ConsumersIamMember struct { pulumi.CustomResourceState Condition ConsumersIamMemberConditionPtrOutput `pulumi:"condition"` ConsumerProject pulumi.StringOutput `pulumi:"consumerProject"` // (Computed) The etag of the IAM policy. Etag pulumi.StringOutput `pulumi:"etag"` // Identities that will be granted the privilege in `role`. // Each entry can have one of the following values: // * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. // * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. // * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. // * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. // * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. // * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. // * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" // * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" // * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project" Member pulumi.StringOutput `pulumi:"member"` // The role that should be applied. Only one // `endpoints.ConsumersIamBinding` 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"` ServiceName pulumi.StringOutput `pulumi:"serviceName"` }
Three different resources help you manage your IAM policy for Cloud Endpoints ServiceConsumers. Each of these resources serves a different use case:
* `endpoints.ConsumersIamPolicy`: Authoritative. Sets the IAM policy for the serviceconsumers and replaces any existing policy already attached. * `endpoints.ConsumersIamBinding`: 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 serviceconsumers are preserved. * `endpoints.ConsumersIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the serviceconsumers are preserved.
A data source can be used to retrieve policy data in advent you do not need creation ¶
* `endpoints.ConsumersIamPolicy`: Retrieves the IAM policy for the serviceconsumers
> **Note:** `endpoints.ConsumersIamPolicy` **cannot** be used in conjunction with `endpoints.ConsumersIamBinding` and `endpoints.ConsumersIamMember` or they will fight over what your policy should be.
> **Note:** `endpoints.ConsumersIamBinding` resources **can be** used in conjunction with `endpoints.ConsumersIamMember` resources **only if** they do not grant privilege to the same role.
## Import
For all import syntaxes, the "resource in question" can take any of the following forms:
* services/{{service_name}}/consumers/{{consumer_project}}
* {{service_name}}/{{consumer_project}}
* {{consumer_project}}
Any variables not passed in the import command will be taken from the provider configuration.
Cloud Endpoints serviceconsumers IAM resources can be imported using the resource identifiers, role, and member.
IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
```sh $ pulumi import gcp:endpoints/consumersIamMember:ConsumersIamMember editor "services/{{service_name}}/consumers/{{consumer_project}} roles/servicemanagement.serviceController user:jane@example.com" ```
IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
```sh $ pulumi import gcp:endpoints/consumersIamMember:ConsumersIamMember editor "services/{{service_name}}/consumers/{{consumer_project}} roles/servicemanagement.serviceController" ```
IAM policy imports use the identifier of the resource in question, e.g.
```sh $ pulumi import gcp:endpoints/consumersIamMember:ConsumersIamMember editor services/{{service_name}}/consumers/{{consumer_project}} ```
-> **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 GetConsumersIamMember ¶
func GetConsumersIamMember(ctx *pulumi.Context, name string, id pulumi.IDInput, state *ConsumersIamMemberState, opts ...pulumi.ResourceOption) (*ConsumersIamMember, error)
GetConsumersIamMember gets an existing ConsumersIamMember 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 NewConsumersIamMember ¶
func NewConsumersIamMember(ctx *pulumi.Context, name string, args *ConsumersIamMemberArgs, opts ...pulumi.ResourceOption) (*ConsumersIamMember, error)
NewConsumersIamMember registers a new resource with the given unique name, arguments, and options.
func (*ConsumersIamMember) ElementType ¶
func (*ConsumersIamMember) ElementType() reflect.Type
func (*ConsumersIamMember) ToConsumersIamMemberOutput ¶
func (i *ConsumersIamMember) ToConsumersIamMemberOutput() ConsumersIamMemberOutput
func (*ConsumersIamMember) ToConsumersIamMemberOutputWithContext ¶
func (i *ConsumersIamMember) ToConsumersIamMemberOutputWithContext(ctx context.Context) ConsumersIamMemberOutput
type ConsumersIamMemberArgs ¶
type ConsumersIamMemberArgs struct { Condition ConsumersIamMemberConditionPtrInput ConsumerProject pulumi.StringInput // Identities that will be granted the privilege in `role`. // Each entry can have one of the following values: // * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. // * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. // * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. // * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. // * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. // * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. // * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" // * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" // * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project" Member pulumi.StringInput // The role that should be applied. Only one // `endpoints.ConsumersIamBinding` can be used per role. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringInput ServiceName pulumi.StringInput }
The set of arguments for constructing a ConsumersIamMember resource.
func (ConsumersIamMemberArgs) ElementType ¶
func (ConsumersIamMemberArgs) ElementType() reflect.Type
type ConsumersIamMemberArray ¶
type ConsumersIamMemberArray []ConsumersIamMemberInput
func (ConsumersIamMemberArray) ElementType ¶
func (ConsumersIamMemberArray) ElementType() reflect.Type
func (ConsumersIamMemberArray) ToConsumersIamMemberArrayOutput ¶
func (i ConsumersIamMemberArray) ToConsumersIamMemberArrayOutput() ConsumersIamMemberArrayOutput
func (ConsumersIamMemberArray) ToConsumersIamMemberArrayOutputWithContext ¶
func (i ConsumersIamMemberArray) ToConsumersIamMemberArrayOutputWithContext(ctx context.Context) ConsumersIamMemberArrayOutput
type ConsumersIamMemberArrayInput ¶
type ConsumersIamMemberArrayInput interface { pulumi.Input ToConsumersIamMemberArrayOutput() ConsumersIamMemberArrayOutput ToConsumersIamMemberArrayOutputWithContext(context.Context) ConsumersIamMemberArrayOutput }
ConsumersIamMemberArrayInput is an input type that accepts ConsumersIamMemberArray and ConsumersIamMemberArrayOutput values. You can construct a concrete instance of `ConsumersIamMemberArrayInput` via:
ConsumersIamMemberArray{ ConsumersIamMemberArgs{...} }
type ConsumersIamMemberArrayOutput ¶
type ConsumersIamMemberArrayOutput struct{ *pulumi.OutputState }
func (ConsumersIamMemberArrayOutput) ElementType ¶
func (ConsumersIamMemberArrayOutput) ElementType() reflect.Type
func (ConsumersIamMemberArrayOutput) Index ¶
func (o ConsumersIamMemberArrayOutput) Index(i pulumi.IntInput) ConsumersIamMemberOutput
func (ConsumersIamMemberArrayOutput) ToConsumersIamMemberArrayOutput ¶
func (o ConsumersIamMemberArrayOutput) ToConsumersIamMemberArrayOutput() ConsumersIamMemberArrayOutput
func (ConsumersIamMemberArrayOutput) ToConsumersIamMemberArrayOutputWithContext ¶
func (o ConsumersIamMemberArrayOutput) ToConsumersIamMemberArrayOutputWithContext(ctx context.Context) ConsumersIamMemberArrayOutput
type ConsumersIamMemberConditionArgs ¶
type ConsumersIamMemberConditionArgs struct { Description pulumi.StringPtrInput `pulumi:"description"` Expression pulumi.StringInput `pulumi:"expression"` Title pulumi.StringInput `pulumi:"title"` }
func (ConsumersIamMemberConditionArgs) ElementType ¶
func (ConsumersIamMemberConditionArgs) ElementType() reflect.Type
func (ConsumersIamMemberConditionArgs) ToConsumersIamMemberConditionOutput ¶
func (i ConsumersIamMemberConditionArgs) ToConsumersIamMemberConditionOutput() ConsumersIamMemberConditionOutput
func (ConsumersIamMemberConditionArgs) ToConsumersIamMemberConditionOutputWithContext ¶
func (i ConsumersIamMemberConditionArgs) ToConsumersIamMemberConditionOutputWithContext(ctx context.Context) ConsumersIamMemberConditionOutput
func (ConsumersIamMemberConditionArgs) ToConsumersIamMemberConditionPtrOutput ¶
func (i ConsumersIamMemberConditionArgs) ToConsumersIamMemberConditionPtrOutput() ConsumersIamMemberConditionPtrOutput
func (ConsumersIamMemberConditionArgs) ToConsumersIamMemberConditionPtrOutputWithContext ¶
func (i ConsumersIamMemberConditionArgs) ToConsumersIamMemberConditionPtrOutputWithContext(ctx context.Context) ConsumersIamMemberConditionPtrOutput
type ConsumersIamMemberConditionInput ¶
type ConsumersIamMemberConditionInput interface { pulumi.Input ToConsumersIamMemberConditionOutput() ConsumersIamMemberConditionOutput ToConsumersIamMemberConditionOutputWithContext(context.Context) ConsumersIamMemberConditionOutput }
ConsumersIamMemberConditionInput is an input type that accepts ConsumersIamMemberConditionArgs and ConsumersIamMemberConditionOutput values. You can construct a concrete instance of `ConsumersIamMemberConditionInput` via:
ConsumersIamMemberConditionArgs{...}
type ConsumersIamMemberConditionOutput ¶
type ConsumersIamMemberConditionOutput struct{ *pulumi.OutputState }
func (ConsumersIamMemberConditionOutput) Description ¶
func (o ConsumersIamMemberConditionOutput) Description() pulumi.StringPtrOutput
func (ConsumersIamMemberConditionOutput) ElementType ¶
func (ConsumersIamMemberConditionOutput) ElementType() reflect.Type
func (ConsumersIamMemberConditionOutput) Expression ¶
func (o ConsumersIamMemberConditionOutput) Expression() pulumi.StringOutput
func (ConsumersIamMemberConditionOutput) Title ¶
func (o ConsumersIamMemberConditionOutput) Title() pulumi.StringOutput
func (ConsumersIamMemberConditionOutput) ToConsumersIamMemberConditionOutput ¶
func (o ConsumersIamMemberConditionOutput) ToConsumersIamMemberConditionOutput() ConsumersIamMemberConditionOutput
func (ConsumersIamMemberConditionOutput) ToConsumersIamMemberConditionOutputWithContext ¶
func (o ConsumersIamMemberConditionOutput) ToConsumersIamMemberConditionOutputWithContext(ctx context.Context) ConsumersIamMemberConditionOutput
func (ConsumersIamMemberConditionOutput) ToConsumersIamMemberConditionPtrOutput ¶
func (o ConsumersIamMemberConditionOutput) ToConsumersIamMemberConditionPtrOutput() ConsumersIamMemberConditionPtrOutput
func (ConsumersIamMemberConditionOutput) ToConsumersIamMemberConditionPtrOutputWithContext ¶
func (o ConsumersIamMemberConditionOutput) ToConsumersIamMemberConditionPtrOutputWithContext(ctx context.Context) ConsumersIamMemberConditionPtrOutput
type ConsumersIamMemberConditionPtrInput ¶
type ConsumersIamMemberConditionPtrInput interface { pulumi.Input ToConsumersIamMemberConditionPtrOutput() ConsumersIamMemberConditionPtrOutput ToConsumersIamMemberConditionPtrOutputWithContext(context.Context) ConsumersIamMemberConditionPtrOutput }
ConsumersIamMemberConditionPtrInput is an input type that accepts ConsumersIamMemberConditionArgs, ConsumersIamMemberConditionPtr and ConsumersIamMemberConditionPtrOutput values. You can construct a concrete instance of `ConsumersIamMemberConditionPtrInput` via:
ConsumersIamMemberConditionArgs{...} or: nil
func ConsumersIamMemberConditionPtr ¶
func ConsumersIamMemberConditionPtr(v *ConsumersIamMemberConditionArgs) ConsumersIamMemberConditionPtrInput
type ConsumersIamMemberConditionPtrOutput ¶
type ConsumersIamMemberConditionPtrOutput struct{ *pulumi.OutputState }
func (ConsumersIamMemberConditionPtrOutput) Description ¶
func (o ConsumersIamMemberConditionPtrOutput) Description() pulumi.StringPtrOutput
func (ConsumersIamMemberConditionPtrOutput) ElementType ¶
func (ConsumersIamMemberConditionPtrOutput) ElementType() reflect.Type
func (ConsumersIamMemberConditionPtrOutput) Expression ¶
func (o ConsumersIamMemberConditionPtrOutput) Expression() pulumi.StringPtrOutput
func (ConsumersIamMemberConditionPtrOutput) Title ¶
func (o ConsumersIamMemberConditionPtrOutput) Title() pulumi.StringPtrOutput
func (ConsumersIamMemberConditionPtrOutput) ToConsumersIamMemberConditionPtrOutput ¶
func (o ConsumersIamMemberConditionPtrOutput) ToConsumersIamMemberConditionPtrOutput() ConsumersIamMemberConditionPtrOutput
func (ConsumersIamMemberConditionPtrOutput) ToConsumersIamMemberConditionPtrOutputWithContext ¶
func (o ConsumersIamMemberConditionPtrOutput) ToConsumersIamMemberConditionPtrOutputWithContext(ctx context.Context) ConsumersIamMemberConditionPtrOutput
type ConsumersIamMemberInput ¶
type ConsumersIamMemberInput interface { pulumi.Input ToConsumersIamMemberOutput() ConsumersIamMemberOutput ToConsumersIamMemberOutputWithContext(ctx context.Context) ConsumersIamMemberOutput }
type ConsumersIamMemberMap ¶
type ConsumersIamMemberMap map[string]ConsumersIamMemberInput
func (ConsumersIamMemberMap) ElementType ¶
func (ConsumersIamMemberMap) ElementType() reflect.Type
func (ConsumersIamMemberMap) ToConsumersIamMemberMapOutput ¶
func (i ConsumersIamMemberMap) ToConsumersIamMemberMapOutput() ConsumersIamMemberMapOutput
func (ConsumersIamMemberMap) ToConsumersIamMemberMapOutputWithContext ¶
func (i ConsumersIamMemberMap) ToConsumersIamMemberMapOutputWithContext(ctx context.Context) ConsumersIamMemberMapOutput
type ConsumersIamMemberMapInput ¶
type ConsumersIamMemberMapInput interface { pulumi.Input ToConsumersIamMemberMapOutput() ConsumersIamMemberMapOutput ToConsumersIamMemberMapOutputWithContext(context.Context) ConsumersIamMemberMapOutput }
ConsumersIamMemberMapInput is an input type that accepts ConsumersIamMemberMap and ConsumersIamMemberMapOutput values. You can construct a concrete instance of `ConsumersIamMemberMapInput` via:
ConsumersIamMemberMap{ "key": ConsumersIamMemberArgs{...} }
type ConsumersIamMemberMapOutput ¶
type ConsumersIamMemberMapOutput struct{ *pulumi.OutputState }
func (ConsumersIamMemberMapOutput) ElementType ¶
func (ConsumersIamMemberMapOutput) ElementType() reflect.Type
func (ConsumersIamMemberMapOutput) MapIndex ¶
func (o ConsumersIamMemberMapOutput) MapIndex(k pulumi.StringInput) ConsumersIamMemberOutput
func (ConsumersIamMemberMapOutput) ToConsumersIamMemberMapOutput ¶
func (o ConsumersIamMemberMapOutput) ToConsumersIamMemberMapOutput() ConsumersIamMemberMapOutput
func (ConsumersIamMemberMapOutput) ToConsumersIamMemberMapOutputWithContext ¶
func (o ConsumersIamMemberMapOutput) ToConsumersIamMemberMapOutputWithContext(ctx context.Context) ConsumersIamMemberMapOutput
type ConsumersIamMemberOutput ¶
type ConsumersIamMemberOutput struct{ *pulumi.OutputState }
func (ConsumersIamMemberOutput) Condition ¶
func (o ConsumersIamMemberOutput) Condition() ConsumersIamMemberConditionPtrOutput
func (ConsumersIamMemberOutput) ConsumerProject ¶
func (o ConsumersIamMemberOutput) ConsumerProject() pulumi.StringOutput
func (ConsumersIamMemberOutput) ElementType ¶
func (ConsumersIamMemberOutput) ElementType() reflect.Type
func (ConsumersIamMemberOutput) Etag ¶
func (o ConsumersIamMemberOutput) Etag() pulumi.StringOutput
(Computed) The etag of the IAM policy.
func (ConsumersIamMemberOutput) Member ¶
func (o ConsumersIamMemberOutput) Member() pulumi.StringOutput
Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
func (ConsumersIamMemberOutput) Role ¶
func (o ConsumersIamMemberOutput) Role() pulumi.StringOutput
The role that should be applied. Only one `endpoints.ConsumersIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.
func (ConsumersIamMemberOutput) ServiceName ¶
func (o ConsumersIamMemberOutput) ServiceName() pulumi.StringOutput
func (ConsumersIamMemberOutput) ToConsumersIamMemberOutput ¶
func (o ConsumersIamMemberOutput) ToConsumersIamMemberOutput() ConsumersIamMemberOutput
func (ConsumersIamMemberOutput) ToConsumersIamMemberOutputWithContext ¶
func (o ConsumersIamMemberOutput) ToConsumersIamMemberOutputWithContext(ctx context.Context) ConsumersIamMemberOutput
type ConsumersIamMemberState ¶
type ConsumersIamMemberState struct { Condition ConsumersIamMemberConditionPtrInput ConsumerProject pulumi.StringPtrInput // (Computed) The etag of the IAM policy. Etag pulumi.StringPtrInput // Identities that will be granted the privilege in `role`. // Each entry can have one of the following values: // * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. // * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. // * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. // * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. // * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. // * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. // * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" // * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" // * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project" Member pulumi.StringPtrInput // The role that should be applied. Only one // `endpoints.ConsumersIamBinding` can be used per role. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role pulumi.StringPtrInput ServiceName pulumi.StringPtrInput }
func (ConsumersIamMemberState) ElementType ¶
func (ConsumersIamMemberState) ElementType() reflect.Type
type ConsumersIamPolicy ¶
type ConsumersIamPolicy struct { pulumi.CustomResourceState ConsumerProject pulumi.StringOutput `pulumi:"consumerProject"` // (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"` ServiceName pulumi.StringOutput `pulumi:"serviceName"` }
Three different resources help you manage your IAM policy for Cloud Endpoints ServiceConsumers. Each of these resources serves a different use case:
* `endpoints.ConsumersIamPolicy`: Authoritative. Sets the IAM policy for the serviceconsumers and replaces any existing policy already attached. * `endpoints.ConsumersIamBinding`: 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 serviceconsumers are preserved. * `endpoints.ConsumersIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the serviceconsumers are preserved.
A data source can be used to retrieve policy data in advent you do not need creation ¶
* `endpoints.ConsumersIamPolicy`: Retrieves the IAM policy for the serviceconsumers
> **Note:** `endpoints.ConsumersIamPolicy` **cannot** be used in conjunction with `endpoints.ConsumersIamBinding` and `endpoints.ConsumersIamMember` or they will fight over what your policy should be.
> **Note:** `endpoints.ConsumersIamBinding` resources **can be** used in conjunction with `endpoints.ConsumersIamMember` resources **only if** they do not grant privilege to the same role.
## Import
For all import syntaxes, the "resource in question" can take any of the following forms:
* services/{{service_name}}/consumers/{{consumer_project}}
* {{service_name}}/{{consumer_project}}
* {{consumer_project}}
Any variables not passed in the import command will be taken from the provider configuration.
Cloud Endpoints serviceconsumers IAM resources can be imported using the resource identifiers, role, and member.
IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
```sh $ pulumi import gcp:endpoints/consumersIamPolicy:ConsumersIamPolicy editor "services/{{service_name}}/consumers/{{consumer_project}} roles/servicemanagement.serviceController user:jane@example.com" ```
IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
```sh $ pulumi import gcp:endpoints/consumersIamPolicy:ConsumersIamPolicy editor "services/{{service_name}}/consumers/{{consumer_project}} roles/servicemanagement.serviceController" ```
IAM policy imports use the identifier of the resource in question, e.g.
```sh $ pulumi import gcp:endpoints/consumersIamPolicy:ConsumersIamPolicy editor services/{{service_name}}/consumers/{{consumer_project}} ```
-> **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 GetConsumersIamPolicy ¶
func GetConsumersIamPolicy(ctx *pulumi.Context, name string, id pulumi.IDInput, state *ConsumersIamPolicyState, opts ...pulumi.ResourceOption) (*ConsumersIamPolicy, error)
GetConsumersIamPolicy gets an existing ConsumersIamPolicy 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 NewConsumersIamPolicy ¶
func NewConsumersIamPolicy(ctx *pulumi.Context, name string, args *ConsumersIamPolicyArgs, opts ...pulumi.ResourceOption) (*ConsumersIamPolicy, error)
NewConsumersIamPolicy registers a new resource with the given unique name, arguments, and options.
func (*ConsumersIamPolicy) ElementType ¶
func (*ConsumersIamPolicy) ElementType() reflect.Type
func (*ConsumersIamPolicy) ToConsumersIamPolicyOutput ¶
func (i *ConsumersIamPolicy) ToConsumersIamPolicyOutput() ConsumersIamPolicyOutput
func (*ConsumersIamPolicy) ToConsumersIamPolicyOutputWithContext ¶
func (i *ConsumersIamPolicy) ToConsumersIamPolicyOutputWithContext(ctx context.Context) ConsumersIamPolicyOutput
type ConsumersIamPolicyArgs ¶
type ConsumersIamPolicyArgs struct { ConsumerProject pulumi.StringInput // The policy data generated by // a `organizations.getIAMPolicy` data source. PolicyData pulumi.StringInput ServiceName pulumi.StringInput }
The set of arguments for constructing a ConsumersIamPolicy resource.
func (ConsumersIamPolicyArgs) ElementType ¶
func (ConsumersIamPolicyArgs) ElementType() reflect.Type
type ConsumersIamPolicyArray ¶
type ConsumersIamPolicyArray []ConsumersIamPolicyInput
func (ConsumersIamPolicyArray) ElementType ¶
func (ConsumersIamPolicyArray) ElementType() reflect.Type
func (ConsumersIamPolicyArray) ToConsumersIamPolicyArrayOutput ¶
func (i ConsumersIamPolicyArray) ToConsumersIamPolicyArrayOutput() ConsumersIamPolicyArrayOutput
func (ConsumersIamPolicyArray) ToConsumersIamPolicyArrayOutputWithContext ¶
func (i ConsumersIamPolicyArray) ToConsumersIamPolicyArrayOutputWithContext(ctx context.Context) ConsumersIamPolicyArrayOutput
type ConsumersIamPolicyArrayInput ¶
type ConsumersIamPolicyArrayInput interface { pulumi.Input ToConsumersIamPolicyArrayOutput() ConsumersIamPolicyArrayOutput ToConsumersIamPolicyArrayOutputWithContext(context.Context) ConsumersIamPolicyArrayOutput }
ConsumersIamPolicyArrayInput is an input type that accepts ConsumersIamPolicyArray and ConsumersIamPolicyArrayOutput values. You can construct a concrete instance of `ConsumersIamPolicyArrayInput` via:
ConsumersIamPolicyArray{ ConsumersIamPolicyArgs{...} }
type ConsumersIamPolicyArrayOutput ¶
type ConsumersIamPolicyArrayOutput struct{ *pulumi.OutputState }
func (ConsumersIamPolicyArrayOutput) ElementType ¶
func (ConsumersIamPolicyArrayOutput) ElementType() reflect.Type
func (ConsumersIamPolicyArrayOutput) Index ¶
func (o ConsumersIamPolicyArrayOutput) Index(i pulumi.IntInput) ConsumersIamPolicyOutput
func (ConsumersIamPolicyArrayOutput) ToConsumersIamPolicyArrayOutput ¶
func (o ConsumersIamPolicyArrayOutput) ToConsumersIamPolicyArrayOutput() ConsumersIamPolicyArrayOutput
func (ConsumersIamPolicyArrayOutput) ToConsumersIamPolicyArrayOutputWithContext ¶
func (o ConsumersIamPolicyArrayOutput) ToConsumersIamPolicyArrayOutputWithContext(ctx context.Context) ConsumersIamPolicyArrayOutput
type ConsumersIamPolicyInput ¶
type ConsumersIamPolicyInput interface { pulumi.Input ToConsumersIamPolicyOutput() ConsumersIamPolicyOutput ToConsumersIamPolicyOutputWithContext(ctx context.Context) ConsumersIamPolicyOutput }
type ConsumersIamPolicyMap ¶
type ConsumersIamPolicyMap map[string]ConsumersIamPolicyInput
func (ConsumersIamPolicyMap) ElementType ¶
func (ConsumersIamPolicyMap) ElementType() reflect.Type
func (ConsumersIamPolicyMap) ToConsumersIamPolicyMapOutput ¶
func (i ConsumersIamPolicyMap) ToConsumersIamPolicyMapOutput() ConsumersIamPolicyMapOutput
func (ConsumersIamPolicyMap) ToConsumersIamPolicyMapOutputWithContext ¶
func (i ConsumersIamPolicyMap) ToConsumersIamPolicyMapOutputWithContext(ctx context.Context) ConsumersIamPolicyMapOutput
type ConsumersIamPolicyMapInput ¶
type ConsumersIamPolicyMapInput interface { pulumi.Input ToConsumersIamPolicyMapOutput() ConsumersIamPolicyMapOutput ToConsumersIamPolicyMapOutputWithContext(context.Context) ConsumersIamPolicyMapOutput }
ConsumersIamPolicyMapInput is an input type that accepts ConsumersIamPolicyMap and ConsumersIamPolicyMapOutput values. You can construct a concrete instance of `ConsumersIamPolicyMapInput` via:
ConsumersIamPolicyMap{ "key": ConsumersIamPolicyArgs{...} }
type ConsumersIamPolicyMapOutput ¶
type ConsumersIamPolicyMapOutput struct{ *pulumi.OutputState }
func (ConsumersIamPolicyMapOutput) ElementType ¶
func (ConsumersIamPolicyMapOutput) ElementType() reflect.Type
func (ConsumersIamPolicyMapOutput) MapIndex ¶
func (o ConsumersIamPolicyMapOutput) MapIndex(k pulumi.StringInput) ConsumersIamPolicyOutput
func (ConsumersIamPolicyMapOutput) ToConsumersIamPolicyMapOutput ¶
func (o ConsumersIamPolicyMapOutput) ToConsumersIamPolicyMapOutput() ConsumersIamPolicyMapOutput
func (ConsumersIamPolicyMapOutput) ToConsumersIamPolicyMapOutputWithContext ¶
func (o ConsumersIamPolicyMapOutput) ToConsumersIamPolicyMapOutputWithContext(ctx context.Context) ConsumersIamPolicyMapOutput
type ConsumersIamPolicyOutput ¶
type ConsumersIamPolicyOutput struct{ *pulumi.OutputState }
func (ConsumersIamPolicyOutput) ConsumerProject ¶
func (o ConsumersIamPolicyOutput) ConsumerProject() pulumi.StringOutput
func (ConsumersIamPolicyOutput) ElementType ¶
func (ConsumersIamPolicyOutput) ElementType() reflect.Type
func (ConsumersIamPolicyOutput) Etag ¶
func (o ConsumersIamPolicyOutput) Etag() pulumi.StringOutput
(Computed) The etag of the IAM policy.
func (ConsumersIamPolicyOutput) PolicyData ¶
func (o ConsumersIamPolicyOutput) PolicyData() pulumi.StringOutput
The policy data generated by a `organizations.getIAMPolicy` data source.
func (ConsumersIamPolicyOutput) ServiceName ¶
func (o ConsumersIamPolicyOutput) ServiceName() pulumi.StringOutput
func (ConsumersIamPolicyOutput) ToConsumersIamPolicyOutput ¶
func (o ConsumersIamPolicyOutput) ToConsumersIamPolicyOutput() ConsumersIamPolicyOutput
func (ConsumersIamPolicyOutput) ToConsumersIamPolicyOutputWithContext ¶
func (o ConsumersIamPolicyOutput) ToConsumersIamPolicyOutputWithContext(ctx context.Context) ConsumersIamPolicyOutput
type ConsumersIamPolicyState ¶
type ConsumersIamPolicyState struct { ConsumerProject pulumi.StringPtrInput // (Computed) The etag of the IAM policy. Etag pulumi.StringPtrInput // The policy data generated by // a `organizations.getIAMPolicy` data source. PolicyData pulumi.StringPtrInput ServiceName pulumi.StringPtrInput }
func (ConsumersIamPolicyState) ElementType ¶
func (ConsumersIamPolicyState) ElementType() reflect.Type
type GetServiceConsumersIamPolicyArgs ¶
type GetServiceConsumersIamPolicyArgs struct { ConsumerProject string `pulumi:"consumerProject"` ServiceName string `pulumi:"serviceName"` }
A collection of arguments for invoking getServiceConsumersIamPolicy.
type GetServiceConsumersIamPolicyOutputArgs ¶
type GetServiceConsumersIamPolicyOutputArgs struct { ConsumerProject pulumi.StringInput `pulumi:"consumerProject"` ServiceName pulumi.StringInput `pulumi:"serviceName"` }
A collection of arguments for invoking getServiceConsumersIamPolicy.
func (GetServiceConsumersIamPolicyOutputArgs) ElementType ¶
func (GetServiceConsumersIamPolicyOutputArgs) ElementType() reflect.Type
type GetServiceConsumersIamPolicyResult ¶
type GetServiceConsumersIamPolicyResult struct { ConsumerProject string `pulumi:"consumerProject"` // (Computed) The etag of the IAM policy. Etag string `pulumi:"etag"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // (Required only by `endpoints.ConsumersIamPolicy`) The policy data generated by // a `organizations.getIAMPolicy` data source. PolicyData string `pulumi:"policyData"` ServiceName string `pulumi:"serviceName"` }
A collection of values returned by getServiceConsumersIamPolicy.
func GetServiceConsumersIamPolicy ¶
func GetServiceConsumersIamPolicy(ctx *pulumi.Context, args *GetServiceConsumersIamPolicyArgs, opts ...pulumi.InvokeOption) (*GetServiceConsumersIamPolicyResult, error)
Retrieves the current IAM policy data for serviceconsumers
type GetServiceConsumersIamPolicyResultOutput ¶
type GetServiceConsumersIamPolicyResultOutput struct{ *pulumi.OutputState }
A collection of values returned by getServiceConsumersIamPolicy.
func GetServiceConsumersIamPolicyOutput ¶
func GetServiceConsumersIamPolicyOutput(ctx *pulumi.Context, args GetServiceConsumersIamPolicyOutputArgs, opts ...pulumi.InvokeOption) GetServiceConsumersIamPolicyResultOutput
func (GetServiceConsumersIamPolicyResultOutput) ConsumerProject ¶
func (o GetServiceConsumersIamPolicyResultOutput) ConsumerProject() pulumi.StringOutput
func (GetServiceConsumersIamPolicyResultOutput) ElementType ¶
func (GetServiceConsumersIamPolicyResultOutput) ElementType() reflect.Type
func (GetServiceConsumersIamPolicyResultOutput) Etag ¶
func (o GetServiceConsumersIamPolicyResultOutput) Etag() pulumi.StringOutput
(Computed) The etag of the IAM policy.
func (GetServiceConsumersIamPolicyResultOutput) Id ¶
func (o GetServiceConsumersIamPolicyResultOutput) Id() pulumi.StringOutput
The provider-assigned unique ID for this managed resource.
func (GetServiceConsumersIamPolicyResultOutput) PolicyData ¶
func (o GetServiceConsumersIamPolicyResultOutput) PolicyData() pulumi.StringOutput
(Required only by `endpoints.ConsumersIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.
func (GetServiceConsumersIamPolicyResultOutput) ServiceName ¶
func (o GetServiceConsumersIamPolicyResultOutput) ServiceName() pulumi.StringOutput
func (GetServiceConsumersIamPolicyResultOutput) ToGetServiceConsumersIamPolicyResultOutput ¶
func (o GetServiceConsumersIamPolicyResultOutput) ToGetServiceConsumersIamPolicyResultOutput() GetServiceConsumersIamPolicyResultOutput
func (GetServiceConsumersIamPolicyResultOutput) ToGetServiceConsumersIamPolicyResultOutputWithContext ¶
func (o GetServiceConsumersIamPolicyResultOutput) ToGetServiceConsumersIamPolicyResultOutputWithContext(ctx context.Context) GetServiceConsumersIamPolicyResultOutput
type LookupServiceIamPolicyArgs ¶
type LookupServiceIamPolicyArgs struct {
ServiceName string `pulumi:"serviceName"`
}
A collection of arguments for invoking getServiceIamPolicy.
type LookupServiceIamPolicyOutputArgs ¶
type LookupServiceIamPolicyOutputArgs struct {
ServiceName pulumi.StringInput `pulumi:"serviceName"`
}
A collection of arguments for invoking getServiceIamPolicy.
func (LookupServiceIamPolicyOutputArgs) ElementType ¶
func (LookupServiceIamPolicyOutputArgs) ElementType() reflect.Type
type LookupServiceIamPolicyResult ¶
type LookupServiceIamPolicyResult struct { // (Computed) The etag of the IAM policy. Etag string `pulumi:"etag"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // (Required only by `endpoints.ServiceIamPolicy`) The policy data generated by // a `organizations.getIAMPolicy` data source. PolicyData string `pulumi:"policyData"` ServiceName string `pulumi:"serviceName"` }
A collection of values returned by getServiceIamPolicy.
func LookupServiceIamPolicy ¶
func LookupServiceIamPolicy(ctx *pulumi.Context, args *LookupServiceIamPolicyArgs, opts ...pulumi.InvokeOption) (*LookupServiceIamPolicyResult, error)
Retrieves the current IAM policy data for service
## example
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/endpoints" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := endpoints.LookupServiceIamPolicy(ctx, &endpoints.LookupServiceIamPolicyArgs{ ServiceName: endpointsService.ServiceName, }, nil) if err != nil { return err } return nil }) }
```
type LookupServiceIamPolicyResultOutput ¶
type LookupServiceIamPolicyResultOutput struct{ *pulumi.OutputState }
A collection of values returned by getServiceIamPolicy.
func LookupServiceIamPolicyOutput ¶
func LookupServiceIamPolicyOutput(ctx *pulumi.Context, args LookupServiceIamPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupServiceIamPolicyResultOutput
func (LookupServiceIamPolicyResultOutput) ElementType ¶
func (LookupServiceIamPolicyResultOutput) ElementType() reflect.Type
func (LookupServiceIamPolicyResultOutput) Etag ¶
func (o LookupServiceIamPolicyResultOutput) Etag() pulumi.StringOutput
(Computed) The etag of the IAM policy.
func (LookupServiceIamPolicyResultOutput) Id ¶
func (o LookupServiceIamPolicyResultOutput) Id() pulumi.StringOutput
The provider-assigned unique ID for this managed resource.
func (LookupServiceIamPolicyResultOutput) PolicyData ¶
func (o LookupServiceIamPolicyResultOutput) PolicyData() pulumi.StringOutput
(Required only by `endpoints.ServiceIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.
func (LookupServiceIamPolicyResultOutput) ServiceName ¶
func (o LookupServiceIamPolicyResultOutput) ServiceName() pulumi.StringOutput
func (LookupServiceIamPolicyResultOutput) ToLookupServiceIamPolicyResultOutput ¶
func (o LookupServiceIamPolicyResultOutput) ToLookupServiceIamPolicyResultOutput() LookupServiceIamPolicyResultOutput
func (LookupServiceIamPolicyResultOutput) ToLookupServiceIamPolicyResultOutputWithContext ¶
func (o LookupServiceIamPolicyResultOutput) ToLookupServiceIamPolicyResultOutputWithContext(ctx context.Context) LookupServiceIamPolicyResultOutput
type Service ¶
type Service struct { pulumi.CustomResourceState // A list of API objects; structure is documented below. 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; structure is documented below. Endpoints ServiceEndpointArrayOutput `pulumi:"endpoints"` // The full text of the Service Config YAML file (Example located [here](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/endpoints/bookstore-grpc/api_config.yaml)). // If provided, must also provide `protocOutputBase64`. `openApi` config must *not* be provided. GrpcConfig pulumi.StringPtrOutput `pulumi:"grpcConfig"` // The full text of the OpenAPI YAML configuration as described [here](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md). // Either this, or *both* of `grpcConfig` and `protocOutputBase64` 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 (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/endpoints" "github.com/pulumi/pulumi-std/sdk/go/std" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { invokeFile, err := std.File(ctx, &std.FileArgs{ Input: "openapi_spec.yml", }, nil) if err != nil { return err } _, err = endpoints.NewService(ctx, "openapi_service", &endpoints.ServiceArgs{ ServiceName: pulumi.String("api-name.endpoints.project-id.cloud.goog"), Project: pulumi.String("project-id"), OpenapiConfig: pulumi.String(invokeFile.Result), }) if err != nil { return err } invokeFile1, err := std.File(ctx, &std.FileArgs{ Input: "service_spec.yml", }, nil) if err != nil { return err } invokeFilebase642, err := std.Filebase64(ctx, &std.Filebase64Args{ Input: "compiled_descriptor_file.pb", }, nil) if err != nil { return err } _, err = endpoints.NewService(ctx, "grpc_service", &endpoints.ServiceArgs{ ServiceName: pulumi.String("api-name.endpoints.project-id.cloud.goog"), Project: pulumi.String("project-id"), GrpcConfig: pulumi.String(invokeFile1.Result), ProtocOutputBase64: pulumi.String(invokeFilebase642.Result), }) 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) ToServiceOutput ¶
func (i *Service) ToServiceOutput() ServiceOutput
func (*Service) ToServiceOutputWithContext ¶
func (i *Service) ToServiceOutputWithContext(ctx context.Context) ServiceOutput
type ServiceApi ¶
type ServiceApi struct { // A list of Method objects; structure is documented below. Methods []ServiceApiMethod `pulumi:"methods"` // The simple name of the endpoint as described in the config. Name *string `pulumi:"name"` // `SYNTAX_PROTO2` or `SYNTAX_PROTO3`. Syntax *string `pulumi:"syntax"` // A version string for this api. If specified, will have the form major-version.minor-version, e.g. `1.10`. Version *string `pulumi:"version"` }
type ServiceApiArgs ¶
type ServiceApiArgs struct { // A list of Method objects; structure is documented below. Methods ServiceApiMethodArrayInput `pulumi:"methods"` // The simple name of the endpoint as described in the config. Name pulumi.StringPtrInput `pulumi:"name"` // `SYNTAX_PROTO2` or `SYNTAX_PROTO3`. Syntax pulumi.StringPtrInput `pulumi:"syntax"` // A version string for this api. If specified, will have the form major-version.minor-version, e.g. `1.10`. 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 (o ServiceApiArrayOutput) Index(i pulumi.IntInput) ServiceApiOutput
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 { // The simple name of the endpoint as described in the config. Name *string `pulumi:"name"` // The type URL for the request to this API. RequestType *string `pulumi:"requestType"` // The type URL for the response from this API. ResponseType *string `pulumi:"responseType"` // `SYNTAX_PROTO2` or `SYNTAX_PROTO3`. Syntax *string `pulumi:"syntax"` }
type ServiceApiMethodArgs ¶
type ServiceApiMethodArgs struct { // The simple name of the endpoint as described in the config. Name pulumi.StringPtrInput `pulumi:"name"` // The type URL for the request to this API. RequestType pulumi.StringPtrInput `pulumi:"requestType"` // The type URL for the response from this API. ResponseType pulumi.StringPtrInput `pulumi:"responseType"` // `SYNTAX_PROTO2` or `SYNTAX_PROTO3`. 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) ElementType() reflect.Type
func (ServiceApiMethodArrayOutput) Index ¶
func (o ServiceApiMethodArrayOutput) Index(i pulumi.IntInput) ServiceApiMethodOutput
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 (o ServiceApiMethodOutput) Name() pulumi.StringPtrOutput
The simple name of the endpoint as described in the config.
func (ServiceApiMethodOutput) RequestType ¶
func (o ServiceApiMethodOutput) RequestType() pulumi.StringPtrOutput
The type URL for the request to this API.
func (ServiceApiMethodOutput) ResponseType ¶
func (o ServiceApiMethodOutput) ResponseType() pulumi.StringPtrOutput
The type URL for the response from this API.
func (ServiceApiMethodOutput) Syntax ¶
func (o ServiceApiMethodOutput) Syntax() pulumi.StringPtrOutput
`SYNTAX_PROTO2` or `SYNTAX_PROTO3`.
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 (o ServiceApiOutput) Methods() ServiceApiMethodArrayOutput
A list of Method objects; structure is documented below.
func (ServiceApiOutput) Name ¶
func (o ServiceApiOutput) Name() pulumi.StringPtrOutput
The simple name of the endpoint as described in the config.
func (ServiceApiOutput) Syntax ¶
func (o ServiceApiOutput) Syntax() pulumi.StringPtrOutput
`SYNTAX_PROTO2` or `SYNTAX_PROTO3`.
func (ServiceApiOutput) ToServiceApiOutput ¶
func (o ServiceApiOutput) ToServiceApiOutput() ServiceApiOutput
func (ServiceApiOutput) ToServiceApiOutputWithContext ¶
func (o ServiceApiOutput) ToServiceApiOutputWithContext(ctx context.Context) ServiceApiOutput
func (ServiceApiOutput) Version ¶
func (o ServiceApiOutput) Version() pulumi.StringPtrOutput
A version string for this api. If specified, will have the form major-version.minor-version, e.g. `1.10`.
type ServiceArgs ¶
type ServiceArgs struct { // The full text of the Service Config YAML file (Example located [here](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/endpoints/bookstore-grpc/api_config.yaml)). // If provided, must also provide `protocOutputBase64`. `openApi` config must *not* be provided. GrpcConfig pulumi.StringPtrInput // The full text of the OpenAPI YAML configuration as described [here](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md). // Either this, or *both* of `grpcConfig` and `protocOutputBase64` 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 (o ServiceArrayOutput) Index(i pulumi.IntInput) ServiceOutput
func (ServiceArrayOutput) ToServiceArrayOutput ¶
func (o ServiceArrayOutput) ToServiceArrayOutput() ServiceArrayOutput
func (ServiceArrayOutput) ToServiceArrayOutputWithContext ¶
func (o ServiceArrayOutput) ToServiceArrayOutputWithContext(ctx context.Context) ServiceArrayOutput
type ServiceEndpoint ¶
type ServiceEndpointArgs ¶
type ServiceEndpointArgs struct { // The FQDN of the endpoint as described in the config. Address pulumi.StringPtrInput `pulumi:"address"` // The simple name of the endpoint as described in the config. 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 (o ServiceEndpointArrayOutput) Index(i pulumi.IntInput) ServiceEndpointOutput
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 (o ServiceEndpointOutput) Address() pulumi.StringPtrOutput
The FQDN of the endpoint as described in the config.
func (ServiceEndpointOutput) ElementType ¶
func (ServiceEndpointOutput) ElementType() reflect.Type
func (ServiceEndpointOutput) Name ¶
func (o ServiceEndpointOutput) Name() pulumi.StringPtrOutput
The simple name of the endpoint as described in the config.
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"` // Identities that will be granted the privilege in `role`. // Each entry can have one of the following values: // * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. // * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. // * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. // * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. // * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. // * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. // * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" // * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" // * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project" 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"` 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.
A data source can be used to retrieve policy data in advent you do not need creation ¶
* `endpoints.ServiceIamPolicy`: Retrieves the IAM policy for the service
> **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.
## endpoints.ServiceIamPolicy
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/endpoints" "github.com/pulumi/pulumi-gcp/sdk/v8/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{ { 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(endpointsService.ServiceName), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
## endpoints.ServiceIamBinding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/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(endpointsService.ServiceName), Role: pulumi.String("roles/viewer"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, }) if err != nil { return err } return nil }) }
```
## endpoints.ServiceIamMember
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/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(endpointsService.ServiceName), Role: pulumi.String("roles/viewer"), Member: pulumi.String("user:jane@example.com"), }) if err != nil { return err } return nil }) }
```
## > **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`. ---
# IAM policy for Cloud Endpoints Service 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.
A data source can be used to retrieve policy data in advent you do not need creation ¶
* `endpoints.ServiceIamPolicy`: Retrieves the IAM policy for the service
> **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.
## endpoints.ServiceIamPolicy
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/endpoints" "github.com/pulumi/pulumi-gcp/sdk/v8/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{ { 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(endpointsService.ServiceName), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
## endpoints.ServiceIamBinding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/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(endpointsService.ServiceName), Role: pulumi.String("roles/viewer"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, }) if err != nil { return err } return nil }) }
```
## endpoints.ServiceIamMember
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/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(endpointsService.ServiceName), 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/{{service_name}}
* {{service_name}}
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 identifiers: the resource in question, the role, and the member identity, e.g.
```sh $ pulumi import gcp:endpoints/serviceIamBinding:ServiceIamBinding editor "services/{{service_name}} roles/viewer user:jane@example.com" ```
IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
```sh $ pulumi import gcp:endpoints/serviceIamBinding:ServiceIamBinding editor "services/{{service_name}} roles/viewer" ```
IAM policy imports use the identifier of the resource in question, e.g.
```sh $ pulumi import gcp:endpoints/serviceIamBinding:ServiceIamBinding editor services/{{service_name}} ```
-> **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
type ServiceIamBindingArgs ¶
type ServiceIamBindingArgs struct { Condition ServiceIamBindingConditionPtrInput // Identities that will be granted the privilege in `role`. // Each entry can have one of the following values: // * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. // * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. // * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. // * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. // * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. // * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. // * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" // * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" // * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project" 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 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) ElementType() reflect.Type
func (ServiceIamBindingArrayOutput) Index ¶
func (o ServiceIamBindingArrayOutput) Index(i pulumi.IntInput) ServiceIamBindingOutput
func (ServiceIamBindingArrayOutput) ToServiceIamBindingArrayOutput ¶
func (o ServiceIamBindingArrayOutput) ToServiceIamBindingArrayOutput() ServiceIamBindingArrayOutput
func (ServiceIamBindingArrayOutput) ToServiceIamBindingArrayOutputWithContext ¶
func (o ServiceIamBindingArrayOutput) ToServiceIamBindingArrayOutputWithContext(ctx context.Context) ServiceIamBindingArrayOutput
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) ElementType() reflect.Type
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 (o ServiceIamBindingConditionOutput) Description() pulumi.StringPtrOutput
func (ServiceIamBindingConditionOutput) ElementType ¶
func (ServiceIamBindingConditionOutput) ElementType() reflect.Type
func (ServiceIamBindingConditionOutput) Expression ¶
func (o ServiceIamBindingConditionOutput) Expression() pulumi.StringOutput
func (ServiceIamBindingConditionOutput) Title ¶
func (o ServiceIamBindingConditionOutput) Title() pulumi.StringOutput
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
func ServiceIamBindingConditionPtr ¶
func ServiceIamBindingConditionPtr(v *ServiceIamBindingConditionArgs) ServiceIamBindingConditionPtrInput
type ServiceIamBindingConditionPtrOutput ¶
type ServiceIamBindingConditionPtrOutput struct{ *pulumi.OutputState }
func (ServiceIamBindingConditionPtrOutput) Description ¶
func (o ServiceIamBindingConditionPtrOutput) Description() pulumi.StringPtrOutput
func (ServiceIamBindingConditionPtrOutput) Elem ¶
func (o ServiceIamBindingConditionPtrOutput) Elem() ServiceIamBindingConditionOutput
func (ServiceIamBindingConditionPtrOutput) ElementType ¶
func (ServiceIamBindingConditionPtrOutput) ElementType() reflect.Type
func (ServiceIamBindingConditionPtrOutput) Expression ¶
func (o ServiceIamBindingConditionPtrOutput) Expression() pulumi.StringPtrOutput
func (ServiceIamBindingConditionPtrOutput) Title ¶
func (o ServiceIamBindingConditionPtrOutput) Title() pulumi.StringPtrOutput
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 (o ServiceIamBindingMapOutput) MapIndex(k pulumi.StringInput) ServiceIamBindingOutput
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) Condition ¶
func (o ServiceIamBindingOutput) Condition() ServiceIamBindingConditionPtrOutput
func (ServiceIamBindingOutput) ElementType ¶
func (ServiceIamBindingOutput) ElementType() reflect.Type
func (ServiceIamBindingOutput) Etag ¶
func (o ServiceIamBindingOutput) Etag() pulumi.StringOutput
(Computed) The etag of the IAM policy.
func (ServiceIamBindingOutput) Members ¶
func (o ServiceIamBindingOutput) Members() pulumi.StringArrayOutput
Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
func (ServiceIamBindingOutput) Role ¶
func (o ServiceIamBindingOutput) Role() pulumi.StringOutput
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}`.
func (ServiceIamBindingOutput) ServiceName ¶
func (o ServiceIamBindingOutput) ServiceName() pulumi.StringOutput
func (ServiceIamBindingOutput) ToServiceIamBindingOutput ¶
func (o ServiceIamBindingOutput) ToServiceIamBindingOutput() ServiceIamBindingOutput
func (ServiceIamBindingOutput) ToServiceIamBindingOutputWithContext ¶
func (o ServiceIamBindingOutput) ToServiceIamBindingOutputWithContext(ctx context.Context) ServiceIamBindingOutput
type ServiceIamBindingState ¶
type ServiceIamBindingState struct { Condition ServiceIamBindingConditionPtrInput // (Computed) The etag of the IAM policy. Etag pulumi.StringPtrInput // Identities that will be granted the privilege in `role`. // Each entry can have one of the following values: // * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. // * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. // * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. // * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. // * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. // * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. // * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" // * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" // * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project" 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 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"` // Identities that will be granted the privilege in `role`. // Each entry can have one of the following values: // * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. // * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. // * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. // * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. // * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. // * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. // * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" // * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" // * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project" 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"` 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.
A data source can be used to retrieve policy data in advent you do not need creation ¶
* `endpoints.ServiceIamPolicy`: Retrieves the IAM policy for the service
> **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.
## endpoints.ServiceIamPolicy
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/endpoints" "github.com/pulumi/pulumi-gcp/sdk/v8/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{ { 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(endpointsService.ServiceName), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
## endpoints.ServiceIamBinding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/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(endpointsService.ServiceName), Role: pulumi.String("roles/viewer"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, }) if err != nil { return err } return nil }) }
```
## endpoints.ServiceIamMember
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/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(endpointsService.ServiceName), Role: pulumi.String("roles/viewer"), Member: pulumi.String("user:jane@example.com"), }) if err != nil { return err } return nil }) }
```
## > **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`. ---
# IAM policy for Cloud Endpoints Service 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.
A data source can be used to retrieve policy data in advent you do not need creation ¶
* `endpoints.ServiceIamPolicy`: Retrieves the IAM policy for the service
> **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.
## endpoints.ServiceIamPolicy
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/endpoints" "github.com/pulumi/pulumi-gcp/sdk/v8/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{ { 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(endpointsService.ServiceName), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
## endpoints.ServiceIamBinding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/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(endpointsService.ServiceName), Role: pulumi.String("roles/viewer"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, }) if err != nil { return err } return nil }) }
```
## endpoints.ServiceIamMember
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/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(endpointsService.ServiceName), 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/{{service_name}}
* {{service_name}}
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 identifiers: the resource in question, the role, and the member identity, e.g.
```sh $ pulumi import gcp:endpoints/serviceIamMember:ServiceIamMember editor "services/{{service_name}} roles/viewer user:jane@example.com" ```
IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
```sh $ pulumi import gcp:endpoints/serviceIamMember:ServiceIamMember editor "services/{{service_name}} roles/viewer" ```
IAM policy imports use the identifier of the resource in question, e.g.
```sh $ pulumi import gcp:endpoints/serviceIamMember:ServiceIamMember editor services/{{service_name}} ```
-> **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
type ServiceIamMemberArgs ¶
type ServiceIamMemberArgs struct { Condition ServiceIamMemberConditionPtrInput // Identities that will be granted the privilege in `role`. // Each entry can have one of the following values: // * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. // * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. // * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. // * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. // * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. // * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. // * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" // * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" // * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project" 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 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) ElementType() reflect.Type
func (ServiceIamMemberArrayOutput) Index ¶
func (o ServiceIamMemberArrayOutput) Index(i pulumi.IntInput) ServiceIamMemberOutput
func (ServiceIamMemberArrayOutput) ToServiceIamMemberArrayOutput ¶
func (o ServiceIamMemberArrayOutput) ToServiceIamMemberArrayOutput() ServiceIamMemberArrayOutput
func (ServiceIamMemberArrayOutput) ToServiceIamMemberArrayOutputWithContext ¶
func (o ServiceIamMemberArrayOutput) ToServiceIamMemberArrayOutputWithContext(ctx context.Context) ServiceIamMemberArrayOutput
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) ElementType() reflect.Type
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 (o ServiceIamMemberConditionOutput) Description() pulumi.StringPtrOutput
func (ServiceIamMemberConditionOutput) ElementType ¶
func (ServiceIamMemberConditionOutput) ElementType() reflect.Type
func (ServiceIamMemberConditionOutput) Expression ¶
func (o ServiceIamMemberConditionOutput) Expression() pulumi.StringOutput
func (ServiceIamMemberConditionOutput) Title ¶
func (o ServiceIamMemberConditionOutput) Title() pulumi.StringOutput
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
func ServiceIamMemberConditionPtr ¶
func ServiceIamMemberConditionPtr(v *ServiceIamMemberConditionArgs) ServiceIamMemberConditionPtrInput
type ServiceIamMemberConditionPtrOutput ¶
type ServiceIamMemberConditionPtrOutput struct{ *pulumi.OutputState }
func (ServiceIamMemberConditionPtrOutput) Description ¶
func (o ServiceIamMemberConditionPtrOutput) Description() pulumi.StringPtrOutput
func (ServiceIamMemberConditionPtrOutput) Elem ¶
func (o ServiceIamMemberConditionPtrOutput) Elem() ServiceIamMemberConditionOutput
func (ServiceIamMemberConditionPtrOutput) ElementType ¶
func (ServiceIamMemberConditionPtrOutput) ElementType() reflect.Type
func (ServiceIamMemberConditionPtrOutput) Expression ¶
func (o ServiceIamMemberConditionPtrOutput) Expression() pulumi.StringPtrOutput
func (ServiceIamMemberConditionPtrOutput) Title ¶
func (o ServiceIamMemberConditionPtrOutput) Title() pulumi.StringPtrOutput
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 (o ServiceIamMemberMapOutput) MapIndex(k pulumi.StringInput) ServiceIamMemberOutput
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) Condition ¶
func (o ServiceIamMemberOutput) Condition() ServiceIamMemberConditionPtrOutput
func (ServiceIamMemberOutput) ElementType ¶
func (ServiceIamMemberOutput) ElementType() reflect.Type
func (ServiceIamMemberOutput) Etag ¶
func (o ServiceIamMemberOutput) Etag() pulumi.StringOutput
(Computed) The etag of the IAM policy.
func (ServiceIamMemberOutput) Member ¶
func (o ServiceIamMemberOutput) Member() pulumi.StringOutput
Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
func (ServiceIamMemberOutput) Role ¶
func (o ServiceIamMemberOutput) Role() pulumi.StringOutput
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}`.
func (ServiceIamMemberOutput) ServiceName ¶
func (o ServiceIamMemberOutput) ServiceName() pulumi.StringOutput
func (ServiceIamMemberOutput) ToServiceIamMemberOutput ¶
func (o ServiceIamMemberOutput) ToServiceIamMemberOutput() ServiceIamMemberOutput
func (ServiceIamMemberOutput) ToServiceIamMemberOutputWithContext ¶
func (o ServiceIamMemberOutput) ToServiceIamMemberOutputWithContext(ctx context.Context) ServiceIamMemberOutput
type ServiceIamMemberState ¶
type ServiceIamMemberState struct { Condition ServiceIamMemberConditionPtrInput // (Computed) The etag of the IAM policy. Etag pulumi.StringPtrInput // Identities that will be granted the privilege in `role`. // Each entry can have one of the following values: // * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. // * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. // * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. // * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. // * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. // * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. // * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" // * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" // * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project" 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 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"` 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.
A data source can be used to retrieve policy data in advent you do not need creation ¶
* `endpoints.ServiceIamPolicy`: Retrieves the IAM policy for the service
> **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.
## endpoints.ServiceIamPolicy
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/endpoints" "github.com/pulumi/pulumi-gcp/sdk/v8/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{ { 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(endpointsService.ServiceName), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
## endpoints.ServiceIamBinding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/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(endpointsService.ServiceName), Role: pulumi.String("roles/viewer"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, }) if err != nil { return err } return nil }) }
```
## endpoints.ServiceIamMember
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/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(endpointsService.ServiceName), Role: pulumi.String("roles/viewer"), Member: pulumi.String("user:jane@example.com"), }) if err != nil { return err } return nil }) }
```
## > **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`. ---
# IAM policy for Cloud Endpoints Service 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.
A data source can be used to retrieve policy data in advent you do not need creation ¶
* `endpoints.ServiceIamPolicy`: Retrieves the IAM policy for the service
> **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.
## endpoints.ServiceIamPolicy
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/endpoints" "github.com/pulumi/pulumi-gcp/sdk/v8/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{ { 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(endpointsService.ServiceName), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
## endpoints.ServiceIamBinding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/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(endpointsService.ServiceName), Role: pulumi.String("roles/viewer"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, }) if err != nil { return err } return nil }) }
```
## endpoints.ServiceIamMember
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/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(endpointsService.ServiceName), 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/{{service_name}}
* {{service_name}}
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 identifiers: the resource in question, the role, and the member identity, e.g.
```sh $ pulumi import gcp:endpoints/serviceIamPolicy:ServiceIamPolicy editor "services/{{service_name}} roles/viewer user:jane@example.com" ```
IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
```sh $ pulumi import gcp:endpoints/serviceIamPolicy:ServiceIamPolicy editor "services/{{service_name}} roles/viewer" ```
IAM policy imports use the identifier of the resource in question, e.g.
```sh $ pulumi import gcp:endpoints/serviceIamPolicy:ServiceIamPolicy editor services/{{service_name}} ```
-> **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
type ServiceIamPolicyArgs ¶
type ServiceIamPolicyArgs struct { // The policy data generated by // a `organizations.getIAMPolicy` data source. PolicyData pulumi.StringInput 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) ElementType() reflect.Type
func (ServiceIamPolicyArrayOutput) Index ¶
func (o ServiceIamPolicyArrayOutput) Index(i pulumi.IntInput) ServiceIamPolicyOutput
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 (o ServiceIamPolicyMapOutput) MapIndex(k pulumi.StringInput) ServiceIamPolicyOutput
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) Etag ¶
func (o ServiceIamPolicyOutput) Etag() pulumi.StringOutput
(Computed) The etag of the IAM policy.
func (ServiceIamPolicyOutput) PolicyData ¶
func (o ServiceIamPolicyOutput) PolicyData() pulumi.StringOutput
The policy data generated by a `organizations.getIAMPolicy` data source.
func (ServiceIamPolicyOutput) ServiceName ¶
func (o ServiceIamPolicyOutput) ServiceName() pulumi.StringOutput
func (ServiceIamPolicyOutput) ToServiceIamPolicyOutput ¶
func (o ServiceIamPolicyOutput) ToServiceIamPolicyOutput() ServiceIamPolicyOutput
func (ServiceIamPolicyOutput) ToServiceIamPolicyOutputWithContext ¶
func (o ServiceIamPolicyOutput) ToServiceIamPolicyOutputWithContext(ctx context.Context) ServiceIamPolicyOutput
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 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 (o ServiceMapOutput) MapIndex(k pulumi.StringInput) ServiceOutput
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) Apis ¶
func (o ServiceOutput) Apis() ServiceApiArrayOutput
A list of API objects; structure is documented below.
func (ServiceOutput) ConfigId ¶
func (o ServiceOutput) ConfigId() pulumi.StringOutput
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.
func (ServiceOutput) DnsAddress ¶
func (o ServiceOutput) DnsAddress() pulumi.StringOutput
The address at which the service can be found - usually the same as the service name.
func (ServiceOutput) ElementType ¶
func (ServiceOutput) ElementType() reflect.Type
func (ServiceOutput) Endpoints ¶
func (o ServiceOutput) Endpoints() ServiceEndpointArrayOutput
A list of Endpoint objects; structure is documented below.
func (ServiceOutput) GrpcConfig ¶
func (o ServiceOutput) GrpcConfig() pulumi.StringPtrOutput
The full text of the Service Config YAML file (Example located [here](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/endpoints/bookstore-grpc/api_config.yaml)). If provided, must also provide `protocOutputBase64`. `openApi` config must *not* be provided.
func (ServiceOutput) OpenapiConfig ¶
func (o ServiceOutput) OpenapiConfig() pulumi.StringPtrOutput
The full text of the OpenAPI YAML configuration as described [here](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md). Either this, or *both* of `grpcConfig` and `protocOutputBase64` must be specified.
func (ServiceOutput) Project ¶
func (o ServiceOutput) Project() pulumi.StringOutput
The project ID that the service belongs to. If not provided, provider project is used.
func (ServiceOutput) ProtocOutputBase64 ¶
func (o ServiceOutput) ProtocOutputBase64() pulumi.StringPtrOutput
The full contents of the Service Descriptor File generated by protoc. This should be a compiled .pb file, base64-encoded.
func (ServiceOutput) ServiceName ¶
func (o ServiceOutput) ServiceName() pulumi.StringOutput
The name of the service. Usually of the form `$apiname.endpoints.$projectid.cloud.goog`.
***
func (ServiceOutput) ToServiceOutput ¶
func (o ServiceOutput) ToServiceOutput() ServiceOutput
func (ServiceOutput) ToServiceOutputWithContext ¶
func (o ServiceOutput) ToServiceOutputWithContext(ctx context.Context) ServiceOutput
type ServiceState ¶
type ServiceState struct { // A list of API objects; structure is documented below. 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; structure is documented below. Endpoints ServiceEndpointArrayInput // The full text of the Service Config YAML file (Example located [here](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/endpoints/bookstore-grpc/api_config.yaml)). // If provided, must also provide `protocOutputBase64`. `openApi` config must *not* be provided. GrpcConfig pulumi.StringPtrInput // The full text of the OpenAPI YAML configuration as described [here](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md). // Either this, or *both* of `grpcConfig` and `protocOutputBase64` 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