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-native logo

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 string
    The unique name of the resource.
    args BucketAccessControlArgs
    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 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 string
    The unique name of the resource.
    args BucketAccessControlArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args BucketAccessControlArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args 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",
    });
    
    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"),
    })
    
    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());
    
    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=google_native.storage.v1.BucketAccessControlProjectTeamArgs(
            project_number="string",
            team="string",
        ),
        role="string",
        self_link="string",
        user_project="string")
    
    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",
    });
    
    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
    

    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

    The BucketAccessControl resource accepts the following input properties:

    Bucket 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 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 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 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 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 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 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.

    Package Details

    Repository
    Google Cloud Native pulumi/pulumi-google-native
    License
    Apache-2.0
    google-native logo

    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