All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::OSS::Bucket

Last Updated:Feb 02, 2024

ALIYUN::OSS::Bucket is used to create an Object Storage Service (OSS) bucket.

Syntax

{
  "Type": "ALIYUN::OSS::Bucket",
  "Properties": {
    "AccessControl": String,
    "RefererConfiguration": Map,
    "ServerSideEncryptionConfiguration": Map,
    "CORSConfiguration": Map,
    "Tags": Map,
    "LoggingConfiguration": Map,
    "LifecycleConfiguration": Map,
    "StorageClass": String,
    "DeletionForce": Boolean,
    "WebsiteConfiguration": Map,
    "Policy": Map,
    "BucketName": String,
    "RedundancyType": String,
    "VersioningConfiguration": Map,
    "ResourceGroupId": String,
    "EnableOssHdfsService": Boolean
  }
}

Properties

Property

Type

Required

Editable

Description

Constraint

BucketName

String

Yes

No

The bucket name.

The name must be 3 to 63 characters in length and can contain lowercase letters, digits, and hyphens (-). The name must start and end with a lowercase letter or a digit.

AccessControl

String

No

Yes

The permission type.

Valid values:

  • private (default)

  • public-read

  • public-read-write

CORSConfiguration

Map

No

No

The configurations of cross-origin resource sharing (CORS) for objects in the bucket.

For more information, see CORSConfiguration property.

LifecycleConfiguration

Map

No

Yes

The configurations of lifecycles for objects in the bucket.

For more information, see LifecycleConfiguration property.

LoggingConfiguration

Map

No

No

The configurations of log storage.

For more information, see LoggingConfiguration properties.

RefererConfiguration

Map

No

Yes

The configurations of hotlink protection.

For more information, see RefererConfiguration properties.

DeletionForce

Boolean

No

Yes

Specifies whether to forcefully delete objects from the OSS bucket.

Valid values:

  • true

  • false (default)

WebsiteConfiguration

Map

No

No

The configurations of the hosted static website.

For more information, see WebsiteConfiguration properties.

ServerSideEncryptionConfiguration

Map

No

Yes

The configurations of server-side encryption rules.

For more information, see ServerSideEncryptionConfiguration properties.

Tags

Map

No

Yes

The tags of the bucket. Specify tags in the key-value pair format.

You can specify up to 20 tags.

A tag key must be 1 to 64 characters in length and cannot start with http://, https://, or Aliyun.

A tag value can be up to 128 characters in length and must be encoded in UTF-8.

StorageClass

String

No

No

The storage class of the bucket.

Valid values:

  • Standard (default): Standard storage class

  • IA: Infrequent Access (IA) storage class

  • Archive: Archive storage class

Policy

Map

No

Yes

The configurations of the bucket policy.

For more information, see Examples.

RedundancyType

String

No

No

The data redundancy type of the bucket.

Valid values:

  • LRS (default): For locally redundant storage (LRS), OSS stores your data on different devices in the same zone. This way, OSS ensures data reliability and availability even if two storage devices are damaged at the same time.

  • ZRS: For zone-redundant storage (ZRS), OSS uses the multi-zone mechanism to distribute your data across three zones in the same region. Even if a zone becomes unavailable due to unexpected events such as power outages and fires, data can still be accessed as expected.

VersioningConfiguration

Map

No

Yes

The container that stores the versioning state of the bucket.

For more information, see VersioningConfiguration property.

ResourceGroupId

String

No

No

The ID of the resource group.

None.

EnableOssHdfsService

Boolean

No

Yes

Specifies whether to enable OSS-HDFS.

Valid values:

  • true

    Note

    Once you enable OSS-HDFS, you can no longer disable it.

  • false  

CORSConfiguration syntax

"CORSConfiguration": {
  "CORSRule": List
}

CORSConfiguration property

Property

Type

Required

Editable

Description

Constraint

CORSRule

List

No

No

The CORS rule.

For more information, see CORSRule properties.

CORSRule syntax

"CORSRule": [
  {
    "MaxAgeSeconds": Number,
    "AllowedMethod": List,
    "ExposeHeader": List,
    "AllowedOrigin": List,
    "AllowedHeader": List
  }
]

CORSRule properties

Property

Type

Required

Editable

Description

Constraint

AllowedHeader

List

No

No

The allowed headers in a cross-origin request.

Valid values:

  • *

  • Cache-Control

  • Content-Language

  • Content-Type

  • Expires

  • Last-Modified

  • Pragma

AllowedMethod

List

No

No

The allowed method for a cross-domain request.

Valid values:

  • *

  • GET

  • PUT

  • POST

  • DELETE

  • HEAD

AllowedOrigin

List

No

No

The allowed origin of a cross-origin request.

None.

ExposeHeader

List

No

No

The response headers that you can access from your application.

You cannot use asterisks (*).

MaxAgeSeconds

Number

No

No

The period of time within which the browser is allowed to cache the response for an OPTIONS request destined to specific resources.

None.

LifecycleConfiguration syntax

"LifecycleConfiguration": {
  "Rule": List
}

LifecycleConfiguration property

Property

Type

Required

Editable

Description

Constraint

Rule

List

Yes

No

The lifecycle rule.

For more information, see Rule properties.

Rule syntax

"Rule": [
  {
    "Status": String,
    "AbortMultipartUpload": Map,
    "Expiration": Map,
    "Prefix": String,
    "ID": String
  }
]

Rule properties

Property

Type

Required

Editable

Description

Constraint

ID

String

No

No

The unique ID of the rule.

The unique ID can be up to 255 characters in length. If you leave this property empty, OSS generates a unique ID for the rule.

Prefix

String

Yes

No

The name prefix of the object to which the rule applies.

The rule takes effect only for objects whose names have a matching prefix.

Status

String

No

Yes

Specifies whether to enable the rule.

Valid values:

  • Enabled

  • Disabled

Expiration

Map

No

No

The expiration attribute of the rule for the object.

For more information, see Expiration properties.

AbortMultipartUpload

Map

No

No

The expiration attribute of the multipart upload task that is not complete.

For more information, see AbortMultipartUpload properties.

Expiration syntax

"Expiration":{
  "Days": Number,
  "CreatedBeforeDate": String,
  "Date": String
}

Expiration properties

Property

Type

Required

Editable

Description

Constraint

Days

Number

No

No

The number of days from when the object was last modified to when the rule takes effect.

When the number of days since the object was last modified exceeds the specified number of days, the object is deleted. If you set Days to 30, objects that were last modified on January 1, 2016 are deleted by the backend application on January 31, 2016.

CreatedBeforeDate

String

No

No

The date. OSS implements the rule for data that was last modified before this date.

Specify the date in the ISO 8601 standard. The time must be at 00:00:00 UTC. Example: 2002-10-11T00:00:00.000Z.

AbortMultipartUpload syntax

"AbortMultipartUpload": {
  "CreatedBeforeDate": String,
  "Days": Number
}

AbortMultipartUpload properties

Property

Type

Required

Editable

Description

Constraint

Days

Number

No

No

The number of days from when the object was last modified to when the rule takes effect.

When the number of days since the object was last modified exceeds the specified number of days, the object is deleted. If you set Days to 30, objects that were last modified on January 1, 2016 are deleted by the backend application on January 31, 2016.

CreatedBeforeDate

String

No

No

The date before when the rule takes effect.

Specify the date in the ISO 8601 standard. The time must be at 00:00:00 UTC. Example: 2002-10-11T00:00:00.000Z.

LoggingConfiguration syntax

"LoggingConfiguration": {
  "TargetBucket": String,
  "TargetPrefix": String
}

LoggingConfiguration properties

Property

Type

Required

Editable

Description

Constraint

TargetBucket

String

No

No

The bucket that is used to store access logs.

None.

TargetPrefix

String

No

No

The name prefix of the saved access log object.

None.

WebsiteConfiguration syntax

"WebsiteConfiguration":{
  "IndexDocument": String,
  "ErrorDocument": String
}

WebsiteConfiguration properties

Property

Type

Required

Editable

Description

Constraint

IndexDocument

String

No

No

The homepage for the hosted static website.

None.

ErrorDocument

String

No

No

The error page of the hosted static website.

None.

RefererConfiguration syntax

"RefererConfiguration":{
  "AllowEmptyReferer": String,
  "RefererList": List
}

RefererConfiguration properties

Property

Type

Required

Editable

Description

Constraint

AllowEmptyReferer

Boolean

No

No

Specifies whether to allow access requests that include an empty Referer field.

Valid values:

  • true (default)

  • false

RefererList

List

No

No

The Referer whitelist. OSS allows requests whose Referer field values are in the Referer whitelist.

None.

ServerSideEncryptionConfiguration syntax

"ServerSideEncryptionConfiguration":{
  "KMSMasterKeyID": String,
  "SSEAlgorithm": String
}

ServerSideEncryptionConfiguration properties

Property

Type

Required

Editable

Description

Constraint

KMSMasterKeyID

String

No

No

The key ID.

This property is required only when you set SSEAlgorithm to KMS and use a specified key for encryption.

SSEAlgorithm

String

Yes

No

The default server-side encryption method.

Valid values:

  • KMS

  • AES256

VersioningConfiguration syntax

"VersioningConfiguration":{
  "Status": String
}

VersioningConfiguration property

Property

Type

Required

Editable

Description

Constraint

Status

String

Yes

No

The versioning state of the bucket.

Valid values:

  • Enabled: The versioning is enabled for the bucket.

  • Suspended: The versioning is disabled for the bucket.

Return values

Fn::GetAtt

  • Name: the bucket name, which is globally unique.

  • DomainName: the public domain name of the bucket.

  • InternalDomainName: the internal domain name of the bucket.

Examples

  • YAML format

    ROSTemplateFormatVersion: '2015-09-01'
    Description: Creates a simple oss bucket
    Parameters: {}
    Metadata: {}
    Resources:
      MyBucket:
        Type: ALIYUN::OSS::Bucket
        Properties:
          AccessControl: private
          BucketName: simple-oss-bucket
    Outputs:
      BucketDomainName:
        Value:
          Fn::GetAtt:
            - MyBucket
            - DomainName
  • JSON format

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Description": "Creates a simple oss bucket",
      "Parameters": {
      },
      "Metadata": {
      },
      "Resources": {
        "MyBucket": {
          "Type": "ALIYUN::OSS::Bucket",
          "Properties": {
            "AccessControl": "private",
            "BucketName": "simple-oss-bucket"
          }
        }
      },
      "Outputs": {
        "BucketDomainName": {
          "Value": {
            "Fn::GetAtt": [
              "MyBucket",
              "DomainName"
            ]
          }
        }
      }
    }