Google Cloud Native is in preview. Google Cloud Classic is fully supported.
google-native.iam/v1.ServiceAccountIamBinding
Explore with Pulumi AI
Google Cloud Native is in preview. Google Cloud Classic is fully supported.
Sets the IAM policy that is attached to a ServiceAccount. Use this method to grant or revoke access to the service account. For example, you could grant a principal the ability to impersonate the service account. This method does not enable the service account to access other resources. To grant roles to a service account on a resource, follow these steps: 1. Call the resource’s getIamPolicy
method to get its current IAM policy. 2. Edit the policy so that it binds the service account to an IAM role for the resource. 3. Call the resource’s setIamPolicy
method to update its IAM policy. For detailed instructions, see Manage access to project, folders, and organizations or Manage access to other resources.
Create ServiceAccountIamBinding Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ServiceAccountIamBinding(name: string, args: ServiceAccountIamBindingArgs, opts?: CustomResourceOptions);
@overload
def ServiceAccountIamBinding(resource_name: str,
args: ServiceAccountIamBindingArgs,
opts: Optional[ResourceOptions] = None)
@overload
def ServiceAccountIamBinding(resource_name: str,
opts: Optional[ResourceOptions] = None,
members: Optional[Sequence[str]] = None,
name: Optional[str] = None,
role: Optional[str] = None,
condition: Optional[ConditionArgs] = None)
func NewServiceAccountIamBinding(ctx *Context, name string, args ServiceAccountIamBindingArgs, opts ...ResourceOption) (*ServiceAccountIamBinding, error)
public ServiceAccountIamBinding(string name, ServiceAccountIamBindingArgs args, CustomResourceOptions? opts = null)
public ServiceAccountIamBinding(String name, ServiceAccountIamBindingArgs args)
public ServiceAccountIamBinding(String name, ServiceAccountIamBindingArgs args, CustomResourceOptions options)
type: google-native:iam/v1:ServiceAccountIamBinding
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ServiceAccountIamBindingArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ServiceAccountIamBindingArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ServiceAccountIamBindingArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ServiceAccountIamBindingArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ServiceAccountIamBindingArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var serviceAccountIamBindingResource = new GoogleNative.IAM.V1.ServiceAccountIamBinding("serviceAccountIamBindingResource", new()
{
Members = new[]
{
"string",
},
Name = "string",
Role = "string",
Condition = new GoogleNative.IAM.V1.Inputs.ConditionArgs
{
Expression = "string",
Title = "string",
Description = "string",
},
});
example, err := iam.NewServiceAccountIamBinding(ctx, "serviceAccountIamBindingResource", &iam.ServiceAccountIamBindingArgs{
Members: pulumi.StringArray{
pulumi.String("string"),
},
Name: pulumi.String("string"),
Role: pulumi.String("string"),
Condition: &iam.ConditionArgs{
Expression: pulumi.String("string"),
Title: pulumi.String("string"),
Description: pulumi.String("string"),
},
})
var serviceAccountIamBindingResource = new ServiceAccountIamBinding("serviceAccountIamBindingResource", ServiceAccountIamBindingArgs.builder()
.members("string")
.name("string")
.role("string")
.condition(ConditionArgs.builder()
.expression("string")
.title("string")
.description("string")
.build())
.build());
service_account_iam_binding_resource = google_native.iam.v1.ServiceAccountIamBinding("serviceAccountIamBindingResource",
members=["string"],
name="string",
role="string",
condition={
"expression": "string",
"title": "string",
"description": "string",
})
const serviceAccountIamBindingResource = new google_native.iam.v1.ServiceAccountIamBinding("serviceAccountIamBindingResource", {
members: ["string"],
name: "string",
role: "string",
condition: {
expression: "string",
title: "string",
description: "string",
},
});
type: google-native:iam/v1:ServiceAccountIamBinding
properties:
condition:
description: string
expression: string
title: string
members:
- string
name: string
role: string
ServiceAccountIamBinding Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The ServiceAccountIamBinding resource accepts the following input properties:
- Members List<string>
- Identities that will be granted the privilege in role. Each entry can have one of the following values:
- 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.
- Name string
- The name of the resource to manage IAM policies for.
- Role string
- The role that should be applied. Only one
IamBinding
can be used per role. - Condition
Pulumi.
Google Native. IAM. V1. Inputs. Condition - An IAM Condition for a given binding.
- Members []string
- Identities that will be granted the privilege in role. Each entry can have one of the following values:
- 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.
- Name string
- The name of the resource to manage IAM policies for.
- Role string
- The role that should be applied. Only one
IamBinding
can be used per role. - Condition
Condition
Args - An IAM Condition for a given binding.
- members List<String>
- Identities that will be granted the privilege in role. Each entry can have one of the following values:
- 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.
- name String
- The name of the resource to manage IAM policies for.
- role String
- The role that should be applied. Only one
IamBinding
can be used per role. - condition Condition
- An IAM Condition for a given binding.
- members string[]
- Identities that will be granted the privilege in role. Each entry can have one of the following values:
- 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.
- name string
- The name of the resource to manage IAM policies for.
- role string
- The role that should be applied. Only one
IamBinding
can be used per role. - condition Condition
- An IAM Condition for a given binding.
- members Sequence[str]
- Identities that will be granted the privilege in role. Each entry can have one of the following values:
- 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.
- name str
- The name of the resource to manage IAM policies for.
- role str
- The role that should be applied. Only one
IamBinding
can be used per role. - condition
Condition
Args - An IAM Condition for a given binding.
- members List<String>
- Identities that will be granted the privilege in role. Each entry can have one of the following values:
- 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.
- name String
- The name of the resource to manage IAM policies for.
- role String
- The role that should be applied. Only one
IamBinding
can be used per role. - condition Property Map
- An IAM Condition for a given binding.
Outputs
All input properties are implicitly available as output properties. Additionally, the ServiceAccountIamBinding resource produces the following output properties:
Supporting Types
Condition, ConditionArgs
- Expression string
- Textual representation of an expression in Common Expression Language syntax.
- Title string
- A title for the expression, i.e. a short string describing its purpose.
- Description string
- An optional description of the expression. This is a longer text which describes the expression, e.g., when hovering over it in a UI.
- Expression string
- Textual representation of an expression in Common Expression Language syntax.
- Title string
- A title for the expression, i.e. a short string describing its purpose.
- Description string
- An optional description of the expression. This is a longer text which describes the expression, e.g., when hovering over it in a UI.
- expression String
- Textual representation of an expression in Common Expression Language syntax.
- title String
- A title for the expression, i.e. a short string describing its purpose.
- description String
- An optional description of the expression. This is a longer text which describes the expression, e.g., when hovering over it in a UI.
- expression string
- Textual representation of an expression in Common Expression Language syntax.
- title string
- A title for the expression, i.e. a short string describing its purpose.
- description string
- An optional description of the expression. This is a longer text which describes the expression, e.g., when hovering over it in a UI.
- expression str
- Textual representation of an expression in Common Expression Language syntax.
- title str
- A title for the expression, i.e. a short string describing its purpose.
- description str
- An optional description of the expression. This is a longer text which describes the expression, e.g., when hovering over it in a UI.
- expression String
- Textual representation of an expression in Common Expression Language syntax.
- title String
- A title for the expression, i.e. a short string describing its purpose.
- description String
- An optional description of the expression. This is a longer text which describes the expression, e.g., when hovering over it in a UI.
Package Details
- Repository
- Google Cloud Native pulumi/pulumi-google-native
- License
- Apache-2.0
Google Cloud Native is in preview. Google Cloud Classic is fully supported.