Skip to content

Bucket

This class encapsulates and extends the ROS resource type ALIYUN::OSS::Bucket.

Initializers

import { Bucket } from '@alicloud/ros-cdk-oss'
new Bucket(scope: Construct, id: string, props: BucketProps, enableResourcePropertyConstraint?: boolean)
Name Type Description
scope @alicloud/ros-cdk-core.Construct No description.
id string No description.
props BucketProps No description.
enableResourcePropertyConstraint boolean No description.

scopeRequired

  • Type: @alicloud/ros-cdk-core.Construct

idRequired

  • Type: string

propsRequired


enableResourcePropertyConstraintOptional

  • Type: boolean

Methods

Name Description
toString Returns a string representation of this construct.
synthesize Allows this construct to emit artifacts into the cloud assembly during synthesis.
addCondition No description.
addCount No description.
addDependency No description.
addResourceDesc No description.
applyRemovalPolicy No description.
fetchCondition No description.
fetchDependency No description.
fetchResourceDesc No description.
getAtt No description.
setMetadata No description.
arnForObjects Returns an ARN that represents all objects within the bucket that match the key pattern specified.
grantFullAccess Grant an RAM principal (Role/Group/User) full control over this bucket.
grantList Grant an RAM principal (Role/Group/User) permission to list resources for this bucket.
grantRead Grant an RAM principal (Role/Group/User) permission to list and read all resources for this bucket.
grantReadWrite Grant an RAM principal (Role/Group/User) permission to read and write resources for this bucket.

toString

public toString(): string

Returns a string representation of this construct.

synthesize

public synthesize(session: ISynthesisSession): void

Allows this construct to emit artifacts into the cloud assembly during synthesis.

This method is usually implemented by framework-level constructs such as Stack and Asset as they participate in synthesizing the cloud assembly.

sessionRequired

  • Type: @alicloud/ros-cdk-core.ISynthesisSession

The synthesis session.


addCondition

public addCondition(condition: RosCondition): void

conditionRequired

  • Type: @alicloud/ros-cdk-core.RosCondition

addCount

public addCount(count: number | IResolvable): void

countRequired

  • Type: number | @alicloud/ros-cdk-core.IResolvable

addDependency

public addDependency(resource: Resource): void

resourceRequired

  • Type: @alicloud/ros-cdk-core.Resource

addResourceDesc

public addResourceDesc(desc: string): void

descRequired

  • Type: string

applyRemovalPolicy

public applyRemovalPolicy(policy: RemovalPolicy): void

policyRequired

  • Type: @alicloud/ros-cdk-core.RemovalPolicy

fetchCondition

public fetchCondition(): RosCondition

fetchDependency

public fetchDependency(): string[]

fetchResourceDesc

public fetchResourceDesc(): string

getAtt

public getAtt(name: string): IResolvable

nameRequired

  • Type: string

setMetadata

public setMetadata(key: string, value: any): void

keyRequired

  • Type: string

valueRequired

  • Type: any

arnForObjects

public arnForObjects(keyPattern: string): string

Returns an ARN that represents all objects within the bucket that match the key pattern specified.

To represent all keys, specify "*".

If you need to specify a keyPattern with multiple components, concatenate them into a single string, e.g.:

arnForObjects(home/${team}/${user}/*)

keyPatternRequired

  • Type: string

grantFullAccess

public grantFullAccess(identity: IPrincipal, objectsKeyPattern?: string): ManagedPolicy

Grant an RAM principal (Role/Group/User) full control over this bucket.

identityRequired

  • Type: @alicloud/ros-cdk-ram.IPrincipal

The principal.


objectsKeyPatternOptional

  • Type: string

Restrict the permission to a certain key pattern (default '*').


grantList

public grantList(identity: IPrincipal, objectsKeyPattern?: string): ManagedPolicy

Grant an RAM principal (Role/Group/User) permission to list resources for this bucket.

identityRequired

  • Type: @alicloud/ros-cdk-ram.IPrincipal

The principal.


objectsKeyPatternOptional

  • Type: string

Restrict the permission to a certain key pattern (default '*').


grantRead

public grantRead(identity: IPrincipal, objectsKeyPattern?: string): ManagedPolicy

Grant an RAM principal (Role/Group/User) permission to list and read all resources for this bucket.

identityRequired

  • Type: @alicloud/ros-cdk-ram.IPrincipal

The principal.


objectsKeyPatternOptional

  • Type: string

Restrict the permission to a certain key pattern (default '*').


grantReadWrite

public grantReadWrite(identity: IPrincipal, objectsKeyPattern?: string): ManagedPolicy

Grant an RAM principal (Role/Group/User) permission to read and write resources for this bucket.

identityRequired

  • Type: @alicloud/ros-cdk-ram.IPrincipal

The principal.


objectsKeyPatternOptional

  • Type: string

Restrict the permission to a certain key pattern (default '*').


Static Functions

Name Description
isConstruct Return whether the given object is a Construct.
validateBucketName Thrown an exception if the given bucket name is not valid.

isConstruct

import { Bucket } from '@alicloud/ros-cdk-oss'
Bucket.isConstruct(x: any)

Return whether the given object is a Construct.

xRequired

  • Type: any

validateBucketName

import { Bucket } from '@alicloud/ros-cdk-oss'
Bucket.validateBucketName(physicalName: string)

Thrown an exception if the given bucket name is not valid.

physicalNameRequired

  • Type: string

name of the bucket.


Properties

Name Type Description
node @alicloud/ros-cdk-core.ConstructNode The construct tree node associated with this construct.
env @alicloud/ros-cdk-core.IResourceEnvironment The environment this resource belongs to.
ref string No description.
stack @alicloud/ros-cdk-core.Stack The stack in which this resource is defined.
resource @alicloud/ros-cdk-core.RosResource No description.
attrArn string | @alicloud/ros-cdk-core.IResolvable Attribute Arn: The Alibaba Cloud Resource Name (ARN).
attrDomainName string | @alicloud/ros-cdk-core.IResolvable Attribute DomainName: The public DNS name of the specified bucket.
attrInternalDomainName string | @alicloud/ros-cdk-core.IResolvable Attribute InternalDomainName: The internal DNS name of the specified bucket.
attrName string | @alicloud/ros-cdk-core.IResolvable Attribute Name: The name of Bucket.
props BucketProps No description.

nodeRequired

public readonly node: ConstructNode;
  • Type: @alicloud/ros-cdk-core.ConstructNode

The construct tree node associated with this construct.


envRequired

public readonly env: IResourceEnvironment;
  • Type: @alicloud/ros-cdk-core.IResourceEnvironment

The environment this resource belongs to.

For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.


refRequired

public readonly ref: string;
  • Type: string

stackRequired

public readonly stack: Stack;
  • Type: @alicloud/ros-cdk-core.Stack

The stack in which this resource is defined.


resourceOptional

public readonly resource: RosResource;
  • Type: @alicloud/ros-cdk-core.RosResource

attrArnRequired

public readonly attrArn: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

Attribute Arn: The Alibaba Cloud Resource Name (ARN).


attrDomainNameRequired

public readonly attrDomainName: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

Attribute DomainName: The public DNS name of the specified bucket.


attrInternalDomainNameRequired

public readonly attrInternalDomainName: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

Attribute InternalDomainName: The internal DNS name of the specified bucket.


attrNameRequired

public readonly attrName: string | IResolvable;
  • Type: string | @alicloud/ros-cdk-core.IResolvable

Attribute Name: The name of Bucket.


propsRequired

public readonly props: BucketProps;