Bucket
Provides a resource to create a oss bucket and set its attribution.
NOTE: The bucket namespace is shared by all users of the OSS system. Please set bucket name as unique as possible. NOTE: Available since v1.2.0.
Example Usage
Private Bucket
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
import * as random from "@pulumi/random";
const _default = new random.index.Integer("default", {
max: 99999,
min: 10000,
});
const bucket_acl = new alicloud.oss.Bucket("bucket-acl", {bucket: `example-value-${_default.result}`});
const bucket_aclBucketAcl = new alicloud.oss.BucketAcl("bucket-acl", {
bucket: bucket_acl.bucket,
acl: "private",
});
import pulumi
import pulumi_alicloud as alicloud
import pulumi_random as random
default = random.index.Integer("default",
max=99999,
min=10000)
bucket_acl = alicloud.oss.Bucket("bucket-acl", bucket=f"example-value-{default['result']}")
bucket_acl_bucket_acl = alicloud.oss.BucketAcl("bucket-acl",
bucket=bucket_acl.bucket,
acl="private")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var @default = new Random.Index.Integer("default", new()
{
Max = 99999,
Min = 10000,
});
var bucket_acl = new AliCloud.Oss.Bucket("bucket-acl", new()
{
BucketName = $"example-value-{@default.Result}",
});
var bucket_aclBucketAcl = new AliCloud.Oss.BucketAcl("bucket-acl", new()
{
Bucket = bucket_acl.BucketName,
Acl = "private",
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
Max: 99999,
Min: 10000,
})
if err != nil {
return err
}
bucket_acl, err := oss.NewBucket(ctx, "bucket-acl", &oss.BucketArgs{
Bucket: pulumi.Sprintf("example-value-%v", _default.Result),
})
if err != nil {
return err
}
_, err = oss.NewBucketAcl(ctx, "bucket-acl", &oss.BucketAclArgs{
Bucket: bucket_acl.Bucket,
Acl: pulumi.String("private"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.integer;
import com.pulumi.random.IntegerArgs;
import com.pulumi.alicloud.oss.Bucket;
import com.pulumi.alicloud.oss.BucketArgs;
import com.pulumi.alicloud.oss.BucketAcl;
import com.pulumi.alicloud.oss.BucketAclArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var default_ = new Integer("default", IntegerArgs.builder()
.max(99999)
.min(10000)
.build());
var bucket_acl = new Bucket("bucket-acl", BucketArgs.builder()
.bucket(String.format("example-value-%s", default_.result()))
.build());
var bucket_aclBucketAcl = new BucketAcl("bucket-aclBucketAcl", BucketAclArgs.builder()
.bucket(bucket_acl.bucket())
.acl("private")
.build());
}
}
resources:
default:
type: random:integer
properties:
max: 99999
min: 10000
bucket-acl:
type: alicloud:oss:Bucket
properties:
bucket: example-value-${default.result}
bucket-aclBucketAcl:
type: alicloud:oss:BucketAcl
name: bucket-acl
properties:
bucket: ${["bucket-acl"].bucket}
acl: private
Static Website
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
import * as random from "@pulumi/random";
const _default = new random.index.Integer("default", {
max: 99999,
min: 10000,
});
const bucket_website = new alicloud.oss.Bucket("bucket-website", {
bucket: `example-value-${_default.result}`,
website: {
indexDocument: "index.html",
errorDocument: "error.html",
},
});
import pulumi
import pulumi_alicloud as alicloud
import pulumi_random as random
default = random.index.Integer("default",
max=99999,
min=10000)
bucket_website = alicloud.oss.Bucket("bucket-website",
bucket=f"example-value-{default['result']}",
website={
"index_document": "index.html",
"error_document": "error.html",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var @default = new Random.Index.Integer("default", new()
{
Max = 99999,
Min = 10000,
});
var bucket_website = new AliCloud.Oss.Bucket("bucket-website", new()
{
BucketName = $"example-value-{@default.Result}",
Website = new AliCloud.Oss.Inputs.BucketWebsiteArgs
{
IndexDocument = "index.html",
ErrorDocument = "error.html",
},
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
Max: 99999,
Min: 10000,
})
if err != nil {
return err
}
_, err = oss.NewBucket(ctx, "bucket-website", &oss.BucketArgs{
Bucket: pulumi.Sprintf("example-value-%v", _default.Result),
Website: &oss.BucketWebsiteTypeArgs{
IndexDocument: pulumi.String("index.html"),
ErrorDocument: pulumi.String("error.html"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.integer;
import com.pulumi.random.IntegerArgs;
import com.pulumi.alicloud.oss.Bucket;
import com.pulumi.alicloud.oss.BucketArgs;
import com.pulumi.alicloud.oss.inputs.BucketWebsiteArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var default_ = new Integer("default", IntegerArgs.builder()
.max(99999)
.min(10000)
.build());
var bucket_website = new Bucket("bucket-website", BucketArgs.builder()
.bucket(String.format("example-value-%s", default_.result()))
.website(BucketWebsiteArgs.builder()
.indexDocument("index.html")
.errorDocument("error.html")
.build())
.build());
}
}
resources:
default:
type: random:integer
properties:
max: 99999
min: 10000
bucket-website:
type: alicloud:oss:Bucket
properties:
bucket: example-value-${default.result}
website:
indexDocument: index.html
errorDocument: error.html
Enable Logging
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
import * as random from "@pulumi/random";
const _default = new random.index.Integer("default", {
max: 99999,
min: 10000,
});
const bucket_target = new alicloud.oss.Bucket("bucket-target", {bucket: `example-value-${_default.result}`});
const bucket_targetBucketAcl = new alicloud.oss.BucketAcl("bucket-target", {
bucket: bucket_target.bucket,
acl: "public-read",
});
const bucket_logging = new alicloud.oss.Bucket("bucket-logging", {
bucket: `example-logging-${_default.result}`,
logging: {
targetBucket: bucket_target.id,
targetPrefix: "log/",
},
});
import pulumi
import pulumi_alicloud as alicloud
import pulumi_random as random
default = random.index.Integer("default",
max=99999,
min=10000)
bucket_target = alicloud.oss.Bucket("bucket-target", bucket=f"example-value-{default['result']}")
bucket_target_bucket_acl = alicloud.oss.BucketAcl("bucket-target",
bucket=bucket_target.bucket,
acl="public-read")
bucket_logging = alicloud.oss.Bucket("bucket-logging",
bucket=f"example-logging-{default['result']}",
logging={
"target_bucket": bucket_target.id,
"target_prefix": "log/",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var @default = new Random.Index.Integer("default", new()
{
Max = 99999,
Min = 10000,
});
var bucket_target = new AliCloud.Oss.Bucket("bucket-target", new()
{
BucketName = $"example-value-{@default.Result}",
});
var bucket_targetBucketAcl = new AliCloud.Oss.BucketAcl("bucket-target", new()
{
Bucket = bucket_target.BucketName,
Acl = "public-read",
});
var bucket_logging = new AliCloud.Oss.Bucket("bucket-logging", new()
{
BucketName = $"example-logging-{@default.Result}",
Logging = new AliCloud.Oss.Inputs.BucketLoggingArgs
{
TargetBucket = bucket_target.Id,
TargetPrefix = "log/",
},
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
Max: 99999,
Min: 10000,
})
if err != nil {
return err
}
bucket_target, err := oss.NewBucket(ctx, "bucket-target", &oss.BucketArgs{
Bucket: pulumi.Sprintf("example-value-%v", _default.Result),
})
if err != nil {
return err
}
_, err = oss.NewBucketAcl(ctx, "bucket-target", &oss.BucketAclArgs{
Bucket: bucket_target.Bucket,
Acl: pulumi.String("public-read"),
})
if err != nil {
return err
}
_, err = oss.NewBucket(ctx, "bucket-logging", &oss.BucketArgs{
Bucket: pulumi.Sprintf("example-logging-%v", _default.Result),
Logging: &oss.BucketLoggingTypeArgs{
TargetBucket: bucket_target.ID(),
TargetPrefix: pulumi.String("log/"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.integer;
import com.pulumi.random.IntegerArgs;
import com.pulumi.alicloud.oss.Bucket;
import com.pulumi.alicloud.oss.BucketArgs;
import com.pulumi.alicloud.oss.BucketAcl;
import com.pulumi.alicloud.oss.BucketAclArgs;
import com.pulumi.alicloud.oss.inputs.BucketLoggingArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var default_ = new Integer("default", IntegerArgs.builder()
.max(99999)
.min(10000)
.build());
var bucket_target = new Bucket("bucket-target", BucketArgs.builder()
.bucket(String.format("example-value-%s", default_.result()))
.build());
var bucket_targetBucketAcl = new BucketAcl("bucket-targetBucketAcl", BucketAclArgs.builder()
.bucket(bucket_target.bucket())
.acl("public-read")
.build());
var bucket_logging = new Bucket("bucket-logging", BucketArgs.builder()
.bucket(String.format("example-logging-%s", default_.result()))
.logging(BucketLoggingArgs.builder()
.targetBucket(bucket_target.id())
.targetPrefix("log/")
.build())
.build());
}
}
resources:
default:
type: random:integer
properties:
max: 99999
min: 10000
bucket-target:
type: alicloud:oss:Bucket
properties:
bucket: example-value-${default.result}
bucket-targetBucketAcl:
type: alicloud:oss:BucketAcl
name: bucket-target
properties:
bucket: ${["bucket-target"].bucket}
acl: public-read
bucket-logging:
type: alicloud:oss:Bucket
properties:
bucket: example-logging-${default.result}
logging:
targetBucket: ${["bucket-target"].id}
targetPrefix: log/
Referer configuration
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
import * as random from "@pulumi/random";
const _default = new random.index.Integer("default", {
max: 99999,
min: 10000,
});
const bucket_referer = new alicloud.oss.Bucket("bucket-referer", {
bucket: `example-value-${_default.result}`,
refererConfig: {
allowEmpty: false,
referers: [
"http://www.aliyun.com",
"https://www.aliyun.com",
],
},
});
const defaultBucketAcl = new alicloud.oss.BucketAcl("default", {
bucket: bucket_referer.bucket,
acl: "private",
});
import pulumi
import pulumi_alicloud as alicloud
import pulumi_random as random
default = random.index.Integer("default",
max=99999,
min=10000)
bucket_referer = alicloud.oss.Bucket("bucket-referer",
bucket=f"example-value-{default['result']}",
referer_config={
"allow_empty": False,
"referers": [
"http://www.aliyun.com",
"https://www.aliyun.com",
],
})
default_bucket_acl = alicloud.oss.BucketAcl("default",
bucket=bucket_referer.bucket,
acl="private")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var @default = new Random.Index.Integer("default", new()
{
Max = 99999,
Min = 10000,
});
var bucket_referer = new AliCloud.Oss.Bucket("bucket-referer", new()
{
BucketName = $"example-value-{@default.Result}",
RefererConfig = new AliCloud.Oss.Inputs.BucketRefererConfigArgs
{
AllowEmpty = false,
Referers = new[]
{
"http://www.aliyun.com",
"https://www.aliyun.com",
},
},
});
var defaultBucketAcl = new AliCloud.Oss.BucketAcl("default", new()
{
Bucket = bucket_referer.BucketName,
Acl = "private",
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
Max: 99999,
Min: 10000,
})
if err != nil {
return err
}
bucket_referer, err := oss.NewBucket(ctx, "bucket-referer", &oss.BucketArgs{
Bucket: pulumi.Sprintf("example-value-%v", _default.Result),
RefererConfig: &oss.BucketRefererConfigArgs{
AllowEmpty: pulumi.Bool(false),
Referers: pulumi.StringArray{
pulumi.String("http://www.aliyun.com"),
pulumi.String("https://www.aliyun.com"),
},
},
})
if err != nil {
return err
}
_, err = oss.NewBucketAcl(ctx, "default", &oss.BucketAclArgs{
Bucket: bucket_referer.Bucket,
Acl: pulumi.String("private"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.integer;
import com.pulumi.random.IntegerArgs;
import com.pulumi.alicloud.oss.Bucket;
import com.pulumi.alicloud.oss.BucketArgs;
import com.pulumi.alicloud.oss.inputs.BucketRefererConfigArgs;
import com.pulumi.alicloud.oss.BucketAcl;
import com.pulumi.alicloud.oss.BucketAclArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var default_ = new Integer("default", IntegerArgs.builder()
.max(99999)
.min(10000)
.build());
var bucket_referer = new Bucket("bucket-referer", BucketArgs.builder()
.bucket(String.format("example-value-%s", default_.result()))
.refererConfig(BucketRefererConfigArgs.builder()
.allowEmpty(false)
.referers(
"http://www.aliyun.com",
"https://www.aliyun.com")
.build())
.build());
var defaultBucketAcl = new BucketAcl("defaultBucketAcl", BucketAclArgs.builder()
.bucket(bucket_referer.bucket())
.acl("private")
.build());
}
}
resources:
default:
type: random:integer
properties:
max: 99999
min: 10000
bucket-referer:
type: alicloud:oss:Bucket
properties:
bucket: example-value-${default.result}
refererConfig:
allowEmpty: false
referers:
- http://www.aliyun.com
- https://www.aliyun.com
defaultBucketAcl:
type: alicloud:oss:BucketAcl
name: default
properties:
bucket: ${["bucket-referer"].bucket}
acl: private
Set lifecycle rule
Import
OSS bucket can be imported using the bucket name, e.g.
$ pulumi import alicloud:oss/bucket:Bucket bucket bucket-12345678
Properties
A access monitor status of a bucket. See access_monitor
below.
The canned ACL to apply. Can be "private", "public-read" and "public-read-write". This property has been deprecated since 1.220.0, please use the resource alicloud.oss.BucketAcl
instead.
A rule of Cross-Origin Resource Sharing. The items of core rule are no more than 10 for every OSS bucket. See cors_rule
below.
The creation date of the bucket.
The extranet access endpoint of the bucket.
A boolean that indicates all objects should be deleted from the bucket so that the bucket can be destroyed without error. These objects are not recoverable. Defaults to "false".
The intranet access endpoint of the bucket.
A boolean that indicates lifecycle rules allow prefix overlap.
A configuration of object lifecycle management. See lifecycle_rule
below.
A Settings of bucket logging. See logging
below.
The flag of using logging enable container. Defaults true.
Json format text of bucket policy bucket policy management. This property has been deprecated since 1.220.0, please use the resource alicloud.oss.BucketPolicy
instead.
The redundancy type to enable. Can be "LRS", and "ZRS". Defaults to "LRS".
The configuration of referer. This property has been deprecated since 1.220.0, please use the resource alicloud.oss.BucketReferer
instead. See referer_config
below.
The ID of the resource group to which the bucket belongs.
A configuration of server-side encryption. See server_side_encryption_rule
below.
The storage class to apply. Can be "Standard", "IA", "Archive", "ColdArchive" and "DeepColdArchive". Defaults to "Standard". "ColdArchive" is available since 1.203.0. "DeepColdArchive" is available since 1.209.0.
A transfer acceleration status of a bucket. See transfer_acceleration
below.
A state of versioning. See versioning
below.
A website configuration. See website
below.