1. Packages
  2. Google Cloud Native
  3. API Docs
  4. storage
  5. storage/v1
  6. BucketAccessControl

Google Cloud Native is in preview. Google Cloud Classic is fully supported.

Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi

google-native.storage/v1.BucketAccessControl

Explore with Pulumi AI

Google Cloud Native is in preview. Google Cloud Classic is fully supported.

Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi

Creates a new ACL entry on the specified bucket. Auto-naming is currently not supported for this resource.

Create BucketAccessControl Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new BucketAccessControl(name: string, args: BucketAccessControlArgs, opts?: CustomResourceOptions);
@overload
def BucketAccessControl(resource_name: str,
                        args: BucketAccessControlInitArgs,
                        opts: Optional[ResourceOptions] = None)

@overload
def BucketAccessControl(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        bucket: Optional[str] = None,
                        domain: Optional[str] = None,
                        email: Optional[str] = None,
                        entity: Optional[str] = None,
                        entity_id: Optional[str] = None,
                        etag: Optional[str] = None,
                        id: Optional[str] = None,
                        kind: Optional[str] = None,
                        project_team: Optional[BucketAccessControlProjectTeamArgs] = None,
                        role: Optional[str] = None,
                        self_link: Optional[str] = None,
                        user_project: Optional[str] = None)
func NewBucketAccessControl(ctx *Context, name string, args BucketAccessControlArgs, opts ...ResourceOption) (*BucketAccessControl, error)
public BucketAccessControl(string name, BucketAccessControlArgs args, CustomResourceOptions? opts = null)
public BucketAccessControl(String name, BucketAccessControlArgs args)
public BucketAccessControl(String name, BucketAccessControlArgs args, CustomResourceOptions options)
type: google-native:storage/v1:BucketAccessControl
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. BucketAccessControlArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. BucketAccessControlInitArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. BucketAccessControlArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. BucketAccessControlArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. BucketAccessControlArgs
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 bucketAccessControlResource = new GoogleNative.Storage.V1.BucketAccessControl("bucketAccessControlResource", new()
{
    Bucket = "string",
    Domain = "string",
    Email = "string",
    Entity = "string",
    EntityId = "string",
    Etag = "string",
    Id = "string",
    Kind = "string",
    ProjectTeam = new GoogleNative.Storage.V1.Inputs.BucketAccessControlProjectTeamArgs
    {
        ProjectNumber = "string",
        Team = "string",
    },
    Role = "string",
    SelfLink = "string",
    UserProject = "string",
});
Copy
example, err := storage.NewBucketAccessControl(ctx, "bucketAccessControlResource", &storage.BucketAccessControlArgs{
	Bucket:   pulumi.String("string"),
	Domain:   pulumi.String("string"),
	Email:    pulumi.String("string"),
	Entity:   pulumi.String("string"),
	EntityId: pulumi.String("string"),
	Etag:     pulumi.String("string"),
	Id:       pulumi.String("string"),
	Kind:     pulumi.String("string"),
	ProjectTeam: &storage.BucketAccessControlProjectTeamArgs{
		ProjectNumber: pulumi.String("string"),
		Team:          pulumi.String("string"),
	},
	Role:        pulumi.String("string"),
	SelfLink:    pulumi.String("string"),
	UserProject: pulumi.String("string"),
})
Copy
var bucketAccessControlResource = new BucketAccessControl("bucketAccessControlResource", BucketAccessControlArgs.builder()
    .bucket("string")
    .domain("string")
    .email("string")
    .entity("string")
    .entityId("string")
    .etag("string")
    .id("string")
    .kind("string")
    .projectTeam(BucketAccessControlProjectTeamArgs.builder()
        .projectNumber("string")
        .team("string")
        .build())
    .role("string")
    .selfLink("string")
    .userProject("string")
    .build());
Copy
bucket_access_control_resource = google_native.storage.v1.BucketAccessControl("bucketAccessControlResource",
    bucket="string",
    domain="string",
    email="string",
    entity="string",
    entity_id="string",
    etag="string",
    id="string",
    kind="string",
    project_team={
        "project_number": "string",
        "team": "string",
    },
    role="string",
    self_link="string",
    user_project="string")
Copy
const bucketAccessControlResource = new google_native.storage.v1.BucketAccessControl("bucketAccessControlResource", {
    bucket: "string",
    domain: "string",
    email: "string",
    entity: "string",
    entityId: "string",
    etag: "string",
    id: "string",
    kind: "string",
    projectTeam: {
        projectNumber: "string",
        team: "string",
    },
    role: "string",
    selfLink: "string",
    userProject: "string",
});
Copy
type: google-native:storage/v1:BucketAccessControl
properties:
    bucket: string
    domain: string
    email: string
    entity: string
    entityId: string
    etag: string
    id: string
    kind: string
    projectTeam:
        projectNumber: string
        team: string
    role: string
    selfLink: string
    userProject: string
Copy

BucketAccessControl 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 BucketAccessControl resource accepts the following input properties:

Bucket This property is required. string
The name of the bucket.
Domain string
The domain associated with the entity, if any.
Email string
The email address associated with the entity, if any.
Entity string
The entity holding the permission, in one of the following forms:

  • user-userId
  • user-email
  • group-groupId
  • group-email
  • domain-domain
  • project-team-projectId
  • allUsers
  • allAuthenticatedUsers Examples:
  • The user liz@example.com would be user-liz@example.com.
  • The group example@googlegroups.com would be group-example@googlegroups.com.
  • To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
EntityId string
The ID for the entity, if any.
Etag string
HTTP 1.1 Entity tag for the access-control entry.
Id string
The ID of the access-control entry.
Kind string
The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
ProjectTeam Pulumi.GoogleNative.Storage.V1.Inputs.BucketAccessControlProjectTeam
The project team associated with the entity, if any.
Role string
The access permission for the entity.
SelfLink string
The link to this access-control entry.
UserProject string
The project to be billed for this request. Required for Requester Pays buckets.
Bucket This property is required. string
The name of the bucket.
Domain string
The domain associated with the entity, if any.
Email string
The email address associated with the entity, if any.
Entity string
The entity holding the permission, in one of the following forms:

  • user-userId
  • user-email
  • group-groupId
  • group-email
  • domain-domain
  • project-team-projectId
  • allUsers
  • allAuthenticatedUsers Examples:
  • The user liz@example.com would be user-liz@example.com.
  • The group example@googlegroups.com would be group-example@googlegroups.com.
  • To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
EntityId string
The ID for the entity, if any.
Etag string
HTTP 1.1 Entity tag for the access-control entry.
Id string
The ID of the access-control entry.
Kind string
The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
ProjectTeam BucketAccessControlProjectTeamArgs
The project team associated with the entity, if any.
Role string
The access permission for the entity.
SelfLink string
The link to this access-control entry.
UserProject string
The project to be billed for this request. Required for Requester Pays buckets.
bucket This property is required. String
The name of the bucket.
domain String
The domain associated with the entity, if any.
email String
The email address associated with the entity, if any.
entity String
The entity holding the permission, in one of the following forms:

  • user-userId
  • user-email
  • group-groupId
  • group-email
  • domain-domain
  • project-team-projectId
  • allUsers
  • allAuthenticatedUsers Examples:
  • The user liz@example.com would be user-liz@example.com.
  • The group example@googlegroups.com would be group-example@googlegroups.com.
  • To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
entityId String
The ID for the entity, if any.
etag String
HTTP 1.1 Entity tag for the access-control entry.
id String
The ID of the access-control entry.
kind String
The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
projectTeam BucketAccessControlProjectTeam
The project team associated with the entity, if any.
role String
The access permission for the entity.
selfLink String
The link to this access-control entry.
userProject String
The project to be billed for this request. Required for Requester Pays buckets.
bucket This property is required. string
The name of the bucket.
domain string
The domain associated with the entity, if any.
email string
The email address associated with the entity, if any.
entity string
The entity holding the permission, in one of the following forms:

  • user-userId
  • user-email
  • group-groupId
  • group-email
  • domain-domain
  • project-team-projectId
  • allUsers
  • allAuthenticatedUsers Examples:
  • The user liz@example.com would be user-liz@example.com.
  • The group example@googlegroups.com would be group-example@googlegroups.com.
  • To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
entityId string
The ID for the entity, if any.
etag string
HTTP 1.1 Entity tag for the access-control entry.
id string
The ID of the access-control entry.
kind string
The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
projectTeam BucketAccessControlProjectTeam
The project team associated with the entity, if any.
role string
The access permission for the entity.
selfLink string
The link to this access-control entry.
userProject string
The project to be billed for this request. Required for Requester Pays buckets.
bucket This property is required. str
The name of the bucket.
domain str
The domain associated with the entity, if any.
email str
The email address associated with the entity, if any.
entity str
The entity holding the permission, in one of the following forms:

  • user-userId
  • user-email
  • group-groupId
  • group-email
  • domain-domain
  • project-team-projectId
  • allUsers
  • allAuthenticatedUsers Examples:
  • The user liz@example.com would be user-liz@example.com.
  • The group example@googlegroups.com would be group-example@googlegroups.com.
  • To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
entity_id str
The ID for the entity, if any.
etag str
HTTP 1.1 Entity tag for the access-control entry.
id str
The ID of the access-control entry.
kind str
The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
project_team BucketAccessControlProjectTeamArgs
The project team associated with the entity, if any.
role str
The access permission for the entity.
self_link str
The link to this access-control entry.
user_project str
The project to be billed for this request. Required for Requester Pays buckets.
bucket This property is required. String
The name of the bucket.
domain String
The domain associated with the entity, if any.
email String
The email address associated with the entity, if any.
entity String
The entity holding the permission, in one of the following forms:

  • user-userId
  • user-email
  • group-groupId
  • group-email
  • domain-domain
  • project-team-projectId
  • allUsers
  • allAuthenticatedUsers Examples:
  • The user liz@example.com would be user-liz@example.com.
  • The group example@googlegroups.com would be group-example@googlegroups.com.
  • To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
entityId String
The ID for the entity, if any.
etag String
HTTP 1.1 Entity tag for the access-control entry.
id String
The ID of the access-control entry.
kind String
The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
projectTeam Property Map
The project team associated with the entity, if any.
role String
The access permission for the entity.
selfLink String
The link to this access-control entry.
userProject String
The project to be billed for this request. Required for Requester Pays buckets.

Outputs

All input properties are implicitly available as output properties. Additionally, the BucketAccessControl resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.

Supporting Types

BucketAccessControlProjectTeam
, BucketAccessControlProjectTeamArgs

ProjectNumber string
The project number.
Team string
The team.
ProjectNumber string
The project number.
Team string
The team.
projectNumber String
The project number.
team String
The team.
projectNumber string
The project number.
team string
The team.
project_number str
The project number.
team str
The team.
projectNumber String
The project number.
team String
The team.

BucketAccessControlProjectTeamResponse
, BucketAccessControlProjectTeamResponseArgs

ProjectNumber This property is required. string
The project number.
Team This property is required. string
The team.
ProjectNumber This property is required. string
The project number.
Team This property is required. string
The team.
projectNumber This property is required. String
The project number.
team This property is required. String
The team.
projectNumber This property is required. string
The project number.
team This property is required. string
The team.
project_number This property is required. str
The project number.
team This property is required. str
The team.
projectNumber This property is required. String
The project number.
team This property is required. String
The team.

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.

Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi