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

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

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 object. Auto-naming is currently not supported for this resource.

    Create ObjectAccessControl Resource

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

    Constructor syntax

    new ObjectAccessControl(name: string, args: ObjectAccessControlArgs, opts?: CustomResourceOptions);
    @overload
    def ObjectAccessControl(resource_name: str,
                            args: ObjectAccessControlInitArgs,
                            opts: Optional[ResourceOptions] = None)
    
    @overload
    def ObjectAccessControl(resource_name: str,
                            opts: Optional[ResourceOptions] = None,
                            bucket: Optional[str] = None,
                            object: Optional[str] = None,
                            entity: Optional[str] = None,
                            email: Optional[str] = None,
                            entity_id: Optional[str] = None,
                            etag: Optional[str] = None,
                            generation: Optional[str] = None,
                            id: Optional[str] = None,
                            kind: Optional[str] = None,
                            domain: Optional[str] = None,
                            project_team: Optional[ObjectAccessControlProjectTeamArgs] = None,
                            role: Optional[str] = None,
                            self_link: Optional[str] = None,
                            user_project: Optional[str] = None)
    func NewObjectAccessControl(ctx *Context, name string, args ObjectAccessControlArgs, opts ...ResourceOption) (*ObjectAccessControl, error)
    public ObjectAccessControl(string name, ObjectAccessControlArgs args, CustomResourceOptions? opts = null)
    public ObjectAccessControl(String name, ObjectAccessControlArgs args)
    public ObjectAccessControl(String name, ObjectAccessControlArgs args, CustomResourceOptions options)
    
    type: google-native:storage/v1:ObjectAccessControl
    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 ObjectAccessControlArgs
    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 ObjectAccessControlInitArgs
    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 ObjectAccessControlArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ObjectAccessControlArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ObjectAccessControlArgs
    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 objectAccessControlResource = new GoogleNative.Storage.V1.ObjectAccessControl("objectAccessControlResource", new()
    {
        Bucket = "string",
        Object = "string",
        Entity = "string",
        Email = "string",
        EntityId = "string",
        Etag = "string",
        Generation = "string",
        Id = "string",
        Kind = "string",
        Domain = "string",
        ProjectTeam = new GoogleNative.Storage.V1.Inputs.ObjectAccessControlProjectTeamArgs
        {
            ProjectNumber = "string",
            Team = "string",
        },
        Role = "string",
        SelfLink = "string",
        UserProject = "string",
    });
    
    example, err := storage.NewObjectAccessControl(ctx, "objectAccessControlResource", &storage.ObjectAccessControlArgs{
    	Bucket:     pulumi.String("string"),
    	Object:     pulumi.String("string"),
    	Entity:     pulumi.String("string"),
    	Email:      pulumi.String("string"),
    	EntityId:   pulumi.String("string"),
    	Etag:       pulumi.String("string"),
    	Generation: pulumi.String("string"),
    	Id:         pulumi.String("string"),
    	Kind:       pulumi.String("string"),
    	Domain:     pulumi.String("string"),
    	ProjectTeam: &storage.ObjectAccessControlProjectTeamArgs{
    		ProjectNumber: pulumi.String("string"),
    		Team:          pulumi.String("string"),
    	},
    	Role:        pulumi.String("string"),
    	SelfLink:    pulumi.String("string"),
    	UserProject: pulumi.String("string"),
    })
    
    var objectAccessControlResource = new ObjectAccessControl("objectAccessControlResource", ObjectAccessControlArgs.builder()
        .bucket("string")
        .object("string")
        .entity("string")
        .email("string")
        .entityId("string")
        .etag("string")
        .generation("string")
        .id("string")
        .kind("string")
        .domain("string")
        .projectTeam(ObjectAccessControlProjectTeamArgs.builder()
            .projectNumber("string")
            .team("string")
            .build())
        .role("string")
        .selfLink("string")
        .userProject("string")
        .build());
    
    object_access_control_resource = google_native.storage.v1.ObjectAccessControl("objectAccessControlResource",
        bucket="string",
        object="string",
        entity="string",
        email="string",
        entity_id="string",
        etag="string",
        generation="string",
        id="string",
        kind="string",
        domain="string",
        project_team={
            "project_number": "string",
            "team": "string",
        },
        role="string",
        self_link="string",
        user_project="string")
    
    const objectAccessControlResource = new google_native.storage.v1.ObjectAccessControl("objectAccessControlResource", {
        bucket: "string",
        object: "string",
        entity: "string",
        email: "string",
        entityId: "string",
        etag: "string",
        generation: "string",
        id: "string",
        kind: "string",
        domain: "string",
        projectTeam: {
            projectNumber: "string",
            team: "string",
        },
        role: "string",
        selfLink: "string",
        userProject: "string",
    });
    
    type: google-native:storage/v1:ObjectAccessControl
    properties:
        bucket: string
        domain: string
        email: string
        entity: string
        entityId: string
        etag: string
        generation: string
        id: string
        kind: string
        object: string
        projectTeam:
            projectNumber: string
            team: string
        role: string
        selfLink: string
        userProject: string
    

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

    Bucket string
    The name of the bucket.
    Object string
    The name of the object, if applied to an object.
    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.
    Generation string
    The content generation of the object, if applied to an object.
    Id string
    The ID of the access-control entry.
    Kind string
    The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
    ProjectTeam Pulumi.GoogleNative.Storage.V1.Inputs.ObjectAccessControlProjectTeam
    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.
    Object string
    The name of the object, if applied to an object.
    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.
    Generation string
    The content generation of the object, if applied to an object.
    Id string
    The ID of the access-control entry.
    Kind string
    The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
    ProjectTeam ObjectAccessControlProjectTeamArgs
    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.
    object String
    The name of the object, if applied to an object.
    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.
    generation String
    The content generation of the object, if applied to an object.
    id String
    The ID of the access-control entry.
    kind String
    The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
    projectTeam ObjectAccessControlProjectTeam
    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.
    object string
    The name of the object, if applied to an object.
    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.
    generation string
    The content generation of the object, if applied to an object.
    id string
    The ID of the access-control entry.
    kind string
    The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
    projectTeam ObjectAccessControlProjectTeam
    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.
    object str
    The name of the object, if applied to an object.
    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.
    generation str
    The content generation of the object, if applied to an object.
    id str
    The ID of the access-control entry.
    kind str
    The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
    project_team ObjectAccessControlProjectTeamArgs
    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.
    object String
    The name of the object, if applied to an object.
    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.
    generation String
    The content generation of the object, if applied to an object.
    id String
    The ID of the access-control entry.
    kind String
    The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
    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 ObjectAccessControl 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

    ObjectAccessControlProjectTeam, ObjectAccessControlProjectTeamArgs

    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.

    ObjectAccessControlProjectTeamResponse, ObjectAccessControlProjectTeamResponseArgs

    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