flexibleengine.ObsBucket
Explore with Pulumi AI
Manages an OBS bucket resource within FlexibleEngine.
Example Usage
Basic Bucket
import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";
const obsBucket = new flexibleengine.ObsBucket("obsBucket", {
acl: "private",
bucket: "my-tf-test-bucket",
storageClass: "STANDARD",
});
import pulumi
import pulumi_flexibleengine as flexibleengine
obs_bucket = flexibleengine.ObsBucket("obsBucket",
acl="private",
bucket="my-tf-test-bucket",
storage_class="STANDARD")
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := flexibleengine.NewObsBucket(ctx, "obsBucket", &flexibleengine.ObsBucketArgs{
Acl: pulumi.String("private"),
Bucket: pulumi.String("my-tf-test-bucket"),
StorageClass: pulumi.String("STANDARD"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;
return await Deployment.RunAsync(() =>
{
var obsBucket = new Flexibleengine.ObsBucket("obsBucket", new()
{
Acl = "private",
Bucket = "my-tf-test-bucket",
StorageClass = "STANDARD",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.ObsBucket;
import com.pulumi.flexibleengine.ObsBucketArgs;
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 obsBucket = new ObsBucket("obsBucket", ObsBucketArgs.builder()
.acl("private")
.bucket("my-tf-test-bucket")
.storageClass("STANDARD")
.build());
}
}
resources:
obsBucket:
type: flexibleengine:ObsBucket
properties:
acl: private
bucket: my-tf-test-bucket
storageClass: STANDARD
Enable versioning
import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";
const obsBucket = new flexibleengine.ObsBucket("obsBucket", {
acl: "private",
bucket: "my-tf-test-bucket",
versioning: true,
});
import pulumi
import pulumi_flexibleengine as flexibleengine
obs_bucket = flexibleengine.ObsBucket("obsBucket",
acl="private",
bucket="my-tf-test-bucket",
versioning=True)
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := flexibleengine.NewObsBucket(ctx, "obsBucket", &flexibleengine.ObsBucketArgs{
Acl: pulumi.String("private"),
Bucket: pulumi.String("my-tf-test-bucket"),
Versioning: pulumi.Bool(true),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;
return await Deployment.RunAsync(() =>
{
var obsBucket = new Flexibleengine.ObsBucket("obsBucket", new()
{
Acl = "private",
Bucket = "my-tf-test-bucket",
Versioning = true,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.ObsBucket;
import com.pulumi.flexibleengine.ObsBucketArgs;
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 obsBucket = new ObsBucket("obsBucket", ObsBucketArgs.builder()
.acl("private")
.bucket("my-tf-test-bucket")
.versioning(true)
.build());
}
}
resources:
obsBucket:
type: flexibleengine:ObsBucket
properties:
acl: private
bucket: my-tf-test-bucket
versioning: true
Enable Logging
import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";
const config = new pulumi.Config();
const agencyName = config.requireObject("agencyName");
const logBucket = new flexibleengine.ObsBucket("logBucket", {
bucket: "my-tf-log-bucket",
acl: "log-delivery-write",
});
const obsBucket = new flexibleengine.ObsBucket("obsBucket", {
bucket: "my-tf-test-bucket",
acl: "private",
loggings: [{
targetBucket: logBucket.obsBucketId,
targetPrefix: "log/",
agency: agencyName,
}],
});
import pulumi
import pulumi_flexibleengine as flexibleengine
config = pulumi.Config()
agency_name = config.require_object("agencyName")
log_bucket = flexibleengine.ObsBucket("logBucket",
bucket="my-tf-log-bucket",
acl="log-delivery-write")
obs_bucket = flexibleengine.ObsBucket("obsBucket",
bucket="my-tf-test-bucket",
acl="private",
loggings=[{
"target_bucket": log_bucket.obs_bucket_id,
"target_prefix": "log/",
"agency": agency_name,
}])
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
agencyName := cfg.RequireObject("agencyName")
logBucket, err := flexibleengine.NewObsBucket(ctx, "logBucket", &flexibleengine.ObsBucketArgs{
Bucket: pulumi.String("my-tf-log-bucket"),
Acl: pulumi.String("log-delivery-write"),
})
if err != nil {
return err
}
_, err = flexibleengine.NewObsBucket(ctx, "obsBucket", &flexibleengine.ObsBucketArgs{
Bucket: pulumi.String("my-tf-test-bucket"),
Acl: pulumi.String("private"),
Loggings: flexibleengine.ObsBucketLoggingArray{
&flexibleengine.ObsBucketLoggingArgs{
TargetBucket: logBucket.ObsBucketId,
TargetPrefix: pulumi.String("log/"),
Agency: pulumi.Any(agencyName),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var agencyName = config.RequireObject<dynamic>("agencyName");
var logBucket = new Flexibleengine.ObsBucket("logBucket", new()
{
Bucket = "my-tf-log-bucket",
Acl = "log-delivery-write",
});
var obsBucket = new Flexibleengine.ObsBucket("obsBucket", new()
{
Bucket = "my-tf-test-bucket",
Acl = "private",
Loggings = new[]
{
new Flexibleengine.Inputs.ObsBucketLoggingArgs
{
TargetBucket = logBucket.ObsBucketId,
TargetPrefix = "log/",
Agency = agencyName,
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.ObsBucket;
import com.pulumi.flexibleengine.ObsBucketArgs;
import com.pulumi.flexibleengine.inputs.ObsBucketLoggingArgs;
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) {
final var config = ctx.config();
final var agencyName = config.get("agencyName");
var logBucket = new ObsBucket("logBucket", ObsBucketArgs.builder()
.bucket("my-tf-log-bucket")
.acl("log-delivery-write")
.build());
var obsBucket = new ObsBucket("obsBucket", ObsBucketArgs.builder()
.bucket("my-tf-test-bucket")
.acl("private")
.loggings(ObsBucketLoggingArgs.builder()
.targetBucket(logBucket.obsBucketId())
.targetPrefix("log/")
.agency(agencyName)
.build())
.build());
}
}
configuration:
# The agency must be an OBS cloud service agency with the `PutObject` permission.
agencyName:
type: dynamic
resources:
logBucket:
type: flexibleengine:ObsBucket
properties:
bucket: my-tf-log-bucket
acl: log-delivery-write
obsBucket:
type: flexibleengine:ObsBucket
properties:
bucket: my-tf-test-bucket
acl: private
loggings:
- targetBucket: ${logBucket.obsBucketId}
targetPrefix: log/
agency: ${agencyName}
Static Website Hosting
import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";
const obsBucket = new flexibleengine.ObsBucket("obsBucket", {
acl: "public-read",
bucket: "obs-website-test.hashicorp.com",
website: {
errorDocument: "error.html",
indexDocument: "index.html",
routingRules: `[{
"Condition": {
"KeyPrefixEquals": "docs/"
},
"Redirect": {
"ReplaceKeyPrefixWith": "documents/"
}
}]
`,
},
});
import pulumi
import pulumi_flexibleengine as flexibleengine
obs_bucket = flexibleengine.ObsBucket("obsBucket",
acl="public-read",
bucket="obs-website-test.hashicorp.com",
website={
"error_document": "error.html",
"index_document": "index.html",
"routing_rules": """[{
"Condition": {
"KeyPrefixEquals": "docs/"
},
"Redirect": {
"ReplaceKeyPrefixWith": "documents/"
}
}]
""",
})
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := flexibleengine.NewObsBucket(ctx, "obsBucket", &flexibleengine.ObsBucketArgs{
Acl: pulumi.String("public-read"),
Bucket: pulumi.String("obs-website-test.hashicorp.com"),
Website: &flexibleengine.ObsBucketWebsiteArgs{
ErrorDocument: pulumi.String("error.html"),
IndexDocument: pulumi.String("index.html"),
RoutingRules: pulumi.String(`[{
"Condition": {
"KeyPrefixEquals": "docs/"
},
"Redirect": {
"ReplaceKeyPrefixWith": "documents/"
}
}]
`),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;
return await Deployment.RunAsync(() =>
{
var obsBucket = new Flexibleengine.ObsBucket("obsBucket", new()
{
Acl = "public-read",
Bucket = "obs-website-test.hashicorp.com",
Website = new Flexibleengine.Inputs.ObsBucketWebsiteArgs
{
ErrorDocument = "error.html",
IndexDocument = "index.html",
RoutingRules = @"[{
""Condition"": {
""KeyPrefixEquals"": ""docs/""
},
""Redirect"": {
""ReplaceKeyPrefixWith"": ""documents/""
}
}]
",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.ObsBucket;
import com.pulumi.flexibleengine.ObsBucketArgs;
import com.pulumi.flexibleengine.inputs.ObsBucketWebsiteArgs;
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 obsBucket = new ObsBucket("obsBucket", ObsBucketArgs.builder()
.acl("public-read")
.bucket("obs-website-test.hashicorp.com")
.website(ObsBucketWebsiteArgs.builder()
.errorDocument("error.html")
.indexDocument("index.html")
.routingRules("""
[{
"Condition": {
"KeyPrefixEquals": "docs/"
},
"Redirect": {
"ReplaceKeyPrefixWith": "documents/"
}
}]
""")
.build())
.build());
}
}
resources:
obsBucket:
type: flexibleengine:ObsBucket
properties:
acl: public-read
bucket: obs-website-test.hashicorp.com
website:
errorDocument: error.html
indexDocument: index.html
routingRules: |+
[{
"Condition": {
"KeyPrefixEquals": "docs/"
},
"Redirect": {
"ReplaceKeyPrefixWith": "documents/"
}
}]
Using CORS
import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";
const obsBucket = new flexibleengine.ObsBucket("obsBucket", {
acl: "public-read",
bucket: "obs-website-test.hashicorp.com",
corsRules: [{
allowedHeaders: ["*"],
allowedMethods: [
"PUT",
"POST",
],
allowedOrigins: ["https://obs-website-test.hashicorp.com"],
exposeHeaders: ["ETag"],
maxAgeSeconds: 3000,
}],
});
import pulumi
import pulumi_flexibleengine as flexibleengine
obs_bucket = flexibleengine.ObsBucket("obsBucket",
acl="public-read",
bucket="obs-website-test.hashicorp.com",
cors_rules=[{
"allowed_headers": ["*"],
"allowed_methods": [
"PUT",
"POST",
],
"allowed_origins": ["https://obs-website-test.hashicorp.com"],
"expose_headers": ["ETag"],
"max_age_seconds": 3000,
}])
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := flexibleengine.NewObsBucket(ctx, "obsBucket", &flexibleengine.ObsBucketArgs{
Acl: pulumi.String("public-read"),
Bucket: pulumi.String("obs-website-test.hashicorp.com"),
CorsRules: flexibleengine.ObsBucketCorsRuleArray{
&flexibleengine.ObsBucketCorsRuleArgs{
AllowedHeaders: pulumi.StringArray{
pulumi.String("*"),
},
AllowedMethods: pulumi.StringArray{
pulumi.String("PUT"),
pulumi.String("POST"),
},
AllowedOrigins: pulumi.StringArray{
pulumi.String("https://obs-website-test.hashicorp.com"),
},
ExposeHeaders: pulumi.StringArray{
pulumi.String("ETag"),
},
MaxAgeSeconds: pulumi.Float64(3000),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;
return await Deployment.RunAsync(() =>
{
var obsBucket = new Flexibleengine.ObsBucket("obsBucket", new()
{
Acl = "public-read",
Bucket = "obs-website-test.hashicorp.com",
CorsRules = new[]
{
new Flexibleengine.Inputs.ObsBucketCorsRuleArgs
{
AllowedHeaders = new[]
{
"*",
},
AllowedMethods = new[]
{
"PUT",
"POST",
},
AllowedOrigins = new[]
{
"https://obs-website-test.hashicorp.com",
},
ExposeHeaders = new[]
{
"ETag",
},
MaxAgeSeconds = 3000,
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.ObsBucket;
import com.pulumi.flexibleengine.ObsBucketArgs;
import com.pulumi.flexibleengine.inputs.ObsBucketCorsRuleArgs;
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 obsBucket = new ObsBucket("obsBucket", ObsBucketArgs.builder()
.acl("public-read")
.bucket("obs-website-test.hashicorp.com")
.corsRules(ObsBucketCorsRuleArgs.builder()
.allowedHeaders("*")
.allowedMethods(
"PUT",
"POST")
.allowedOrigins("https://obs-website-test.hashicorp.com")
.exposeHeaders("ETag")
.maxAgeSeconds(3000)
.build())
.build());
}
}
resources:
obsBucket:
type: flexibleengine:ObsBucket
properties:
acl: public-read
bucket: obs-website-test.hashicorp.com
corsRules:
- allowedHeaders:
- '*'
allowedMethods:
- PUT
- POST
allowedOrigins:
- https://obs-website-test.hashicorp.com
exposeHeaders:
- ETag
maxAgeSeconds: 3000
Using object lifecycle
import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";
const bucket = new flexibleengine.ObsBucket("bucket", {
acl: "private",
bucket: "my-bucket",
lifecycleRules: [
{
enabled: true,
expirations: [{
days: 365,
}],
name: "log",
prefix: "log/",
transitions: [
{
days: 60,
storageClass: "STANDARD_IA",
},
{
days: 180,
storageClass: "GLACIER",
},
],
},
{
enabled: true,
name: "tmp",
noncurrentVersionExpirations: [{
days: 180,
}],
noncurrentVersionTransitions: [
{
days: 30,
storageClass: "STANDARD_IA",
},
{
days: 60,
storageClass: "GLACIER",
},
],
prefix: "tmp/",
},
],
versioning: true,
});
import pulumi
import pulumi_flexibleengine as flexibleengine
bucket = flexibleengine.ObsBucket("bucket",
acl="private",
bucket="my-bucket",
lifecycle_rules=[
{
"enabled": True,
"expirations": [{
"days": 365,
}],
"name": "log",
"prefix": "log/",
"transitions": [
{
"days": 60,
"storage_class": "STANDARD_IA",
},
{
"days": 180,
"storage_class": "GLACIER",
},
],
},
{
"enabled": True,
"name": "tmp",
"noncurrent_version_expirations": [{
"days": 180,
}],
"noncurrent_version_transitions": [
{
"days": 30,
"storage_class": "STANDARD_IA",
},
{
"days": 60,
"storage_class": "GLACIER",
},
],
"prefix": "tmp/",
},
],
versioning=True)
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := flexibleengine.NewObsBucket(ctx, "bucket", &flexibleengine.ObsBucketArgs{
Acl: pulumi.String("private"),
Bucket: pulumi.String("my-bucket"),
LifecycleRules: flexibleengine.ObsBucketLifecycleRuleArray{
&flexibleengine.ObsBucketLifecycleRuleArgs{
Enabled: pulumi.Bool(true),
Expirations: flexibleengine.ObsBucketLifecycleRuleExpirationArray{
&flexibleengine.ObsBucketLifecycleRuleExpirationArgs{
Days: pulumi.Float64(365),
},
},
Name: pulumi.String("log"),
Prefix: pulumi.String("log/"),
Transitions: flexibleengine.ObsBucketLifecycleRuleTransitionArray{
&flexibleengine.ObsBucketLifecycleRuleTransitionArgs{
Days: pulumi.Float64(60),
StorageClass: pulumi.String("STANDARD_IA"),
},
&flexibleengine.ObsBucketLifecycleRuleTransitionArgs{
Days: pulumi.Float64(180),
StorageClass: pulumi.String("GLACIER"),
},
},
},
&flexibleengine.ObsBucketLifecycleRuleArgs{
Enabled: pulumi.Bool(true),
Name: pulumi.String("tmp"),
NoncurrentVersionExpirations: flexibleengine.ObsBucketLifecycleRuleNoncurrentVersionExpirationArray{
&flexibleengine.ObsBucketLifecycleRuleNoncurrentVersionExpirationArgs{
Days: pulumi.Float64(180),
},
},
NoncurrentVersionTransitions: flexibleengine.ObsBucketLifecycleRuleNoncurrentVersionTransitionArray{
&flexibleengine.ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs{
Days: pulumi.Float64(30),
StorageClass: pulumi.String("STANDARD_IA"),
},
&flexibleengine.ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs{
Days: pulumi.Float64(60),
StorageClass: pulumi.String("GLACIER"),
},
},
Prefix: pulumi.String("tmp/"),
},
},
Versioning: pulumi.Bool(true),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;
return await Deployment.RunAsync(() =>
{
var bucket = new Flexibleengine.ObsBucket("bucket", new()
{
Acl = "private",
Bucket = "my-bucket",
LifecycleRules = new[]
{
new Flexibleengine.Inputs.ObsBucketLifecycleRuleArgs
{
Enabled = true,
Expirations = new[]
{
new Flexibleengine.Inputs.ObsBucketLifecycleRuleExpirationArgs
{
Days = 365,
},
},
Name = "log",
Prefix = "log/",
Transitions = new[]
{
new Flexibleengine.Inputs.ObsBucketLifecycleRuleTransitionArgs
{
Days = 60,
StorageClass = "STANDARD_IA",
},
new Flexibleengine.Inputs.ObsBucketLifecycleRuleTransitionArgs
{
Days = 180,
StorageClass = "GLACIER",
},
},
},
new Flexibleengine.Inputs.ObsBucketLifecycleRuleArgs
{
Enabled = true,
Name = "tmp",
NoncurrentVersionExpirations = new[]
{
new Flexibleengine.Inputs.ObsBucketLifecycleRuleNoncurrentVersionExpirationArgs
{
Days = 180,
},
},
NoncurrentVersionTransitions = new[]
{
new Flexibleengine.Inputs.ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs
{
Days = 30,
StorageClass = "STANDARD_IA",
},
new Flexibleengine.Inputs.ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs
{
Days = 60,
StorageClass = "GLACIER",
},
},
Prefix = "tmp/",
},
},
Versioning = true,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.ObsBucket;
import com.pulumi.flexibleengine.ObsBucketArgs;
import com.pulumi.flexibleengine.inputs.ObsBucketLifecycleRuleArgs;
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 bucket = new ObsBucket("bucket", ObsBucketArgs.builder()
.acl("private")
.bucket("my-bucket")
.lifecycleRules(
ObsBucketLifecycleRuleArgs.builder()
.enabled(true)
.expirations(ObsBucketLifecycleRuleExpirationArgs.builder()
.days(365)
.build())
.name("log")
.prefix("log/")
.transitions(
ObsBucketLifecycleRuleTransitionArgs.builder()
.days(60)
.storageClass("STANDARD_IA")
.build(),
ObsBucketLifecycleRuleTransitionArgs.builder()
.days(180)
.storageClass("GLACIER")
.build())
.build(),
ObsBucketLifecycleRuleArgs.builder()
.enabled(true)
.name("tmp")
.noncurrentVersionExpirations(ObsBucketLifecycleRuleNoncurrentVersionExpirationArgs.builder()
.days(180)
.build())
.noncurrentVersionTransitions(
ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()
.days(30)
.storageClass("STANDARD_IA")
.build(),
ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()
.days(60)
.storageClass("GLACIER")
.build())
.prefix("tmp/")
.build())
.versioning(true)
.build());
}
}
resources:
bucket:
type: flexibleengine:ObsBucket
properties:
acl: private
bucket: my-bucket
lifecycleRules:
- enabled: true
expirations:
- days: 365
name: log
prefix: log/
transitions:
- days: 60
storageClass: STANDARD_IA
- days: 180
storageClass: GLACIER
- enabled: true
name: tmp
noncurrentVersionExpirations:
- days: 180
noncurrentVersionTransitions:
- days: 30
storageClass: STANDARD_IA
- days: 60
storageClass: GLACIER
prefix: tmp/
versioning: true
Create ObsBucket Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ObsBucket(name: string, args: ObsBucketArgs, opts?: CustomResourceOptions);
@overload
def ObsBucket(resource_name: str,
args: ObsBucketArgs,
opts: Optional[ResourceOptions] = None)
@overload
def ObsBucket(resource_name: str,
opts: Optional[ResourceOptions] = None,
bucket: Optional[str] = None,
loggings: Optional[Sequence[ObsBucketLoggingArgs]] = None,
parallel_fs: Optional[bool] = None,
encryption: Optional[bool] = None,
force_destroy: Optional[bool] = None,
kms_key_id: Optional[str] = None,
kms_key_project_id: Optional[str] = None,
cors_rules: Optional[Sequence[ObsBucketCorsRuleArgs]] = None,
multi_az: Optional[bool] = None,
lifecycle_rules: Optional[Sequence[ObsBucketLifecycleRuleArgs]] = None,
obs_bucket_id: Optional[str] = None,
acl: Optional[str] = None,
region: Optional[str] = None,
storage_class: Optional[str] = None,
versioning: Optional[bool] = None,
website: Optional[ObsBucketWebsiteArgs] = None)
func NewObsBucket(ctx *Context, name string, args ObsBucketArgs, opts ...ResourceOption) (*ObsBucket, error)
public ObsBucket(string name, ObsBucketArgs args, CustomResourceOptions? opts = null)
public ObsBucket(String name, ObsBucketArgs args)
public ObsBucket(String name, ObsBucketArgs args, CustomResourceOptions options)
type: flexibleengine:ObsBucket
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 ObsBucketArgs
- 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 ObsBucketArgs
- 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 ObsBucketArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ObsBucketArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ObsBucketArgs
- 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 obsBucketResource = new Flexibleengine.ObsBucket("obsBucketResource", new()
{
Bucket = "string",
Loggings = new[]
{
new Flexibleengine.Inputs.ObsBucketLoggingArgs
{
TargetBucket = "string",
Agency = "string",
TargetPrefix = "string",
},
},
ParallelFs = false,
Encryption = false,
ForceDestroy = false,
KmsKeyId = "string",
KmsKeyProjectId = "string",
CorsRules = new[]
{
new Flexibleengine.Inputs.ObsBucketCorsRuleArgs
{
AllowedMethods = new[]
{
"string",
},
AllowedOrigins = new[]
{
"string",
},
AllowedHeaders = new[]
{
"string",
},
ExposeHeaders = new[]
{
"string",
},
MaxAgeSeconds = 0,
},
},
MultiAz = false,
LifecycleRules = new[]
{
new Flexibleengine.Inputs.ObsBucketLifecycleRuleArgs
{
Enabled = false,
Name = "string",
Expirations = new[]
{
new Flexibleengine.Inputs.ObsBucketLifecycleRuleExpirationArgs
{
Days = 0,
},
},
NoncurrentVersionExpirations = new[]
{
new Flexibleengine.Inputs.ObsBucketLifecycleRuleNoncurrentVersionExpirationArgs
{
Days = 0,
},
},
NoncurrentVersionTransitions = new[]
{
new Flexibleengine.Inputs.ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs
{
Days = 0,
StorageClass = "string",
},
},
Prefix = "string",
Transitions = new[]
{
new Flexibleengine.Inputs.ObsBucketLifecycleRuleTransitionArgs
{
Days = 0,
StorageClass = "string",
},
},
},
},
ObsBucketId = "string",
Acl = "string",
Region = "string",
StorageClass = "string",
Versioning = false,
Website = new Flexibleengine.Inputs.ObsBucketWebsiteArgs
{
ErrorDocument = "string",
IndexDocument = "string",
RedirectAllRequestsTo = "string",
RoutingRules = "string",
},
});
example, err := flexibleengine.NewObsBucket(ctx, "obsBucketResource", &flexibleengine.ObsBucketArgs{
Bucket: pulumi.String("string"),
Loggings: .ObsBucketLoggingArray{
&.ObsBucketLoggingArgs{
TargetBucket: pulumi.String("string"),
Agency: pulumi.String("string"),
TargetPrefix: pulumi.String("string"),
},
},
ParallelFs: pulumi.Bool(false),
Encryption: pulumi.Bool(false),
ForceDestroy: pulumi.Bool(false),
KmsKeyId: pulumi.String("string"),
KmsKeyProjectId: pulumi.String("string"),
CorsRules: .ObsBucketCorsRuleArray{
&.ObsBucketCorsRuleArgs{
AllowedMethods: pulumi.StringArray{
pulumi.String("string"),
},
AllowedOrigins: pulumi.StringArray{
pulumi.String("string"),
},
AllowedHeaders: pulumi.StringArray{
pulumi.String("string"),
},
ExposeHeaders: pulumi.StringArray{
pulumi.String("string"),
},
MaxAgeSeconds: pulumi.Float64(0),
},
},
MultiAz: pulumi.Bool(false),
LifecycleRules: .ObsBucketLifecycleRuleArray{
&.ObsBucketLifecycleRuleArgs{
Enabled: pulumi.Bool(false),
Name: pulumi.String("string"),
Expirations: .ObsBucketLifecycleRuleExpirationArray{
&.ObsBucketLifecycleRuleExpirationArgs{
Days: pulumi.Float64(0),
},
},
NoncurrentVersionExpirations: .ObsBucketLifecycleRuleNoncurrentVersionExpirationArray{
&.ObsBucketLifecycleRuleNoncurrentVersionExpirationArgs{
Days: pulumi.Float64(0),
},
},
NoncurrentVersionTransitions: .ObsBucketLifecycleRuleNoncurrentVersionTransitionArray{
&.ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs{
Days: pulumi.Float64(0),
StorageClass: pulumi.String("string"),
},
},
Prefix: pulumi.String("string"),
Transitions: .ObsBucketLifecycleRuleTransitionArray{
&.ObsBucketLifecycleRuleTransitionArgs{
Days: pulumi.Float64(0),
StorageClass: pulumi.String("string"),
},
},
},
},
ObsBucketId: pulumi.String("string"),
Acl: pulumi.String("string"),
Region: pulumi.String("string"),
StorageClass: pulumi.String("string"),
Versioning: pulumi.Bool(false),
Website: &.ObsBucketWebsiteArgs{
ErrorDocument: pulumi.String("string"),
IndexDocument: pulumi.String("string"),
RedirectAllRequestsTo: pulumi.String("string"),
RoutingRules: pulumi.String("string"),
},
})
var obsBucketResource = new ObsBucket("obsBucketResource", ObsBucketArgs.builder()
.bucket("string")
.loggings(ObsBucketLoggingArgs.builder()
.targetBucket("string")
.agency("string")
.targetPrefix("string")
.build())
.parallelFs(false)
.encryption(false)
.forceDestroy(false)
.kmsKeyId("string")
.kmsKeyProjectId("string")
.corsRules(ObsBucketCorsRuleArgs.builder()
.allowedMethods("string")
.allowedOrigins("string")
.allowedHeaders("string")
.exposeHeaders("string")
.maxAgeSeconds(0)
.build())
.multiAz(false)
.lifecycleRules(ObsBucketLifecycleRuleArgs.builder()
.enabled(false)
.name("string")
.expirations(ObsBucketLifecycleRuleExpirationArgs.builder()
.days(0)
.build())
.noncurrentVersionExpirations(ObsBucketLifecycleRuleNoncurrentVersionExpirationArgs.builder()
.days(0)
.build())
.noncurrentVersionTransitions(ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()
.days(0)
.storageClass("string")
.build())
.prefix("string")
.transitions(ObsBucketLifecycleRuleTransitionArgs.builder()
.days(0)
.storageClass("string")
.build())
.build())
.obsBucketId("string")
.acl("string")
.region("string")
.storageClass("string")
.versioning(false)
.website(ObsBucketWebsiteArgs.builder()
.errorDocument("string")
.indexDocument("string")
.redirectAllRequestsTo("string")
.routingRules("string")
.build())
.build());
obs_bucket_resource = flexibleengine.ObsBucket("obsBucketResource",
bucket="string",
loggings=[{
"target_bucket": "string",
"agency": "string",
"target_prefix": "string",
}],
parallel_fs=False,
encryption=False,
force_destroy=False,
kms_key_id="string",
kms_key_project_id="string",
cors_rules=[{
"allowed_methods": ["string"],
"allowed_origins": ["string"],
"allowed_headers": ["string"],
"expose_headers": ["string"],
"max_age_seconds": 0,
}],
multi_az=False,
lifecycle_rules=[{
"enabled": False,
"name": "string",
"expirations": [{
"days": 0,
}],
"noncurrent_version_expirations": [{
"days": 0,
}],
"noncurrent_version_transitions": [{
"days": 0,
"storage_class": "string",
}],
"prefix": "string",
"transitions": [{
"days": 0,
"storage_class": "string",
}],
}],
obs_bucket_id="string",
acl="string",
region="string",
storage_class="string",
versioning=False,
website={
"error_document": "string",
"index_document": "string",
"redirect_all_requests_to": "string",
"routing_rules": "string",
})
const obsBucketResource = new flexibleengine.ObsBucket("obsBucketResource", {
bucket: "string",
loggings: [{
targetBucket: "string",
agency: "string",
targetPrefix: "string",
}],
parallelFs: false,
encryption: false,
forceDestroy: false,
kmsKeyId: "string",
kmsKeyProjectId: "string",
corsRules: [{
allowedMethods: ["string"],
allowedOrigins: ["string"],
allowedHeaders: ["string"],
exposeHeaders: ["string"],
maxAgeSeconds: 0,
}],
multiAz: false,
lifecycleRules: [{
enabled: false,
name: "string",
expirations: [{
days: 0,
}],
noncurrentVersionExpirations: [{
days: 0,
}],
noncurrentVersionTransitions: [{
days: 0,
storageClass: "string",
}],
prefix: "string",
transitions: [{
days: 0,
storageClass: "string",
}],
}],
obsBucketId: "string",
acl: "string",
region: "string",
storageClass: "string",
versioning: false,
website: {
errorDocument: "string",
indexDocument: "string",
redirectAllRequestsTo: "string",
routingRules: "string",
},
});
type: flexibleengine:ObsBucket
properties:
acl: string
bucket: string
corsRules:
- allowedHeaders:
- string
allowedMethods:
- string
allowedOrigins:
- string
exposeHeaders:
- string
maxAgeSeconds: 0
encryption: false
forceDestroy: false
kmsKeyId: string
kmsKeyProjectId: string
lifecycleRules:
- enabled: false
expirations:
- days: 0
name: string
noncurrentVersionExpirations:
- days: 0
noncurrentVersionTransitions:
- days: 0
storageClass: string
prefix: string
transitions:
- days: 0
storageClass: string
loggings:
- agency: string
targetBucket: string
targetPrefix: string
multiAz: false
obsBucketId: string
parallelFs: false
region: string
storageClass: string
versioning: false
website:
errorDocument: string
indexDocument: string
redirectAllRequestsTo: string
routingRules: string
ObsBucket 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 ObsBucket resource accepts the following input properties:
- Bucket string
- Specifies the name of the bucket. Changing this parameter will create a new
resource. A bucket must be named according to the globally applied DNS naming regulations as follows:
- The name must be globally unique in OBS.
- The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.
- The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.) or contain a period (.) and a hyphen (-) adjacent to each other.
- The name cannot be an IP address.
- If the name contains any periods (.), a security certificate verification message may appear when you access the bucket or its objects by entering a domain name.
- Acl string
- Specifies the ACL policy for a bucket. The predefined common policies are as follows:
"private", "public-read", "public-read-write" and "log-delivery-write". Defaults to
private
. - Cors
Rules List<ObsBucket Cors Rule> - A rule of Cross-Origin Resource Sharing. The cors_rule object structure is documented below.
- Encryption bool
- Whether enable default server-side encryption of the bucket in SSE-KMS mode.
- Force
Destroy bool - A boolean that indicates all objects should be deleted from the bucket so that
the bucket can be destroyed without error. Default to
false
. - Kms
Key stringId - Specifies the ID of a KMS key. If omitted, the default master key will be used.
- Kms
Key stringProject Id - Specifies the project ID to which the KMS key belongs. This field is valid
only when
kms_key_id
is specified. - Lifecycle
Rules List<ObsBucket Lifecycle Rule> - A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
- Loggings
List<Obs
Bucket Logging> - A settings of bucket logging. The logging object structure is documented below.
- Multi
Az bool - Whether enable the multi-AZ mode for the bucket. When the multi-AZ mode is enabled, data in the bucket is duplicated and stored in multiple AZs. Changing this creates a new bucket.
- Obs
Bucket stringId - The name of the bucket.
- Parallel
Fs bool Whether enable a bucket as a parallel file system. Changing this will create a new bucket.
The
logging
object supports:- Region string
- Specifies the region in which to create the bucket resource. If omitted, the provider-level region will be used. Changing this will create a new bucket resource.
- Storage
Class string - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- Versioning bool
- Whether enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
- Website
Obs
Bucket Website - A website object. The website object structure is documented below.
- Bucket string
- Specifies the name of the bucket. Changing this parameter will create a new
resource. A bucket must be named according to the globally applied DNS naming regulations as follows:
- The name must be globally unique in OBS.
- The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.
- The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.) or contain a period (.) and a hyphen (-) adjacent to each other.
- The name cannot be an IP address.
- If the name contains any periods (.), a security certificate verification message may appear when you access the bucket or its objects by entering a domain name.
- Acl string
- Specifies the ACL policy for a bucket. The predefined common policies are as follows:
"private", "public-read", "public-read-write" and "log-delivery-write". Defaults to
private
. - Cors
Rules []ObsBucket Cors Rule Args - A rule of Cross-Origin Resource Sharing. The cors_rule object structure is documented below.
- Encryption bool
- Whether enable default server-side encryption of the bucket in SSE-KMS mode.
- Force
Destroy bool - A boolean that indicates all objects should be deleted from the bucket so that
the bucket can be destroyed without error. Default to
false
. - Kms
Key stringId - Specifies the ID of a KMS key. If omitted, the default master key will be used.
- Kms
Key stringProject Id - Specifies the project ID to which the KMS key belongs. This field is valid
only when
kms_key_id
is specified. - Lifecycle
Rules []ObsBucket Lifecycle Rule Args - A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
- Loggings
[]Obs
Bucket Logging Args - A settings of bucket logging. The logging object structure is documented below.
- Multi
Az bool - Whether enable the multi-AZ mode for the bucket. When the multi-AZ mode is enabled, data in the bucket is duplicated and stored in multiple AZs. Changing this creates a new bucket.
- Obs
Bucket stringId - The name of the bucket.
- Parallel
Fs bool Whether enable a bucket as a parallel file system. Changing this will create a new bucket.
The
logging
object supports:- Region string
- Specifies the region in which to create the bucket resource. If omitted, the provider-level region will be used. Changing this will create a new bucket resource.
- Storage
Class string - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- Versioning bool
- Whether enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
- Website
Obs
Bucket Website Args - A website object. The website object structure is documented below.
- bucket String
- Specifies the name of the bucket. Changing this parameter will create a new
resource. A bucket must be named according to the globally applied DNS naming regulations as follows:
- The name must be globally unique in OBS.
- The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.
- The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.) or contain a period (.) and a hyphen (-) adjacent to each other.
- The name cannot be an IP address.
- If the name contains any periods (.), a security certificate verification message may appear when you access the bucket or its objects by entering a domain name.
- acl String
- Specifies the ACL policy for a bucket. The predefined common policies are as follows:
"private", "public-read", "public-read-write" and "log-delivery-write". Defaults to
private
. - cors
Rules List<ObsBucket Cors Rule> - A rule of Cross-Origin Resource Sharing. The cors_rule object structure is documented below.
- encryption Boolean
- Whether enable default server-side encryption of the bucket in SSE-KMS mode.
- force
Destroy Boolean - A boolean that indicates all objects should be deleted from the bucket so that
the bucket can be destroyed without error. Default to
false
. - kms
Key StringId - Specifies the ID of a KMS key. If omitted, the default master key will be used.
- kms
Key StringProject Id - Specifies the project ID to which the KMS key belongs. This field is valid
only when
kms_key_id
is specified. - lifecycle
Rules List<ObsBucket Lifecycle Rule> - A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
- loggings
List<Obs
Bucket Logging> - A settings of bucket logging. The logging object structure is documented below.
- multi
Az Boolean - Whether enable the multi-AZ mode for the bucket. When the multi-AZ mode is enabled, data in the bucket is duplicated and stored in multiple AZs. Changing this creates a new bucket.
- obs
Bucket StringId - The name of the bucket.
- parallel
Fs Boolean Whether enable a bucket as a parallel file system. Changing this will create a new bucket.
The
logging
object supports:- region String
- Specifies the region in which to create the bucket resource. If omitted, the provider-level region will be used. Changing this will create a new bucket resource.
- storage
Class String - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- versioning Boolean
- Whether enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
- website
Obs
Bucket Website - A website object. The website object structure is documented below.
- bucket string
- Specifies the name of the bucket. Changing this parameter will create a new
resource. A bucket must be named according to the globally applied DNS naming regulations as follows:
- The name must be globally unique in OBS.
- The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.
- The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.) or contain a period (.) and a hyphen (-) adjacent to each other.
- The name cannot be an IP address.
- If the name contains any periods (.), a security certificate verification message may appear when you access the bucket or its objects by entering a domain name.
- acl string
- Specifies the ACL policy for a bucket. The predefined common policies are as follows:
"private", "public-read", "public-read-write" and "log-delivery-write". Defaults to
private
. - cors
Rules ObsBucket Cors Rule[] - A rule of Cross-Origin Resource Sharing. The cors_rule object structure is documented below.
- encryption boolean
- Whether enable default server-side encryption of the bucket in SSE-KMS mode.
- force
Destroy boolean - A boolean that indicates all objects should be deleted from the bucket so that
the bucket can be destroyed without error. Default to
false
. - kms
Key stringId - Specifies the ID of a KMS key. If omitted, the default master key will be used.
- kms
Key stringProject Id - Specifies the project ID to which the KMS key belongs. This field is valid
only when
kms_key_id
is specified. - lifecycle
Rules ObsBucket Lifecycle Rule[] - A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
- loggings
Obs
Bucket Logging[] - A settings of bucket logging. The logging object structure is documented below.
- multi
Az boolean - Whether enable the multi-AZ mode for the bucket. When the multi-AZ mode is enabled, data in the bucket is duplicated and stored in multiple AZs. Changing this creates a new bucket.
- obs
Bucket stringId - The name of the bucket.
- parallel
Fs boolean Whether enable a bucket as a parallel file system. Changing this will create a new bucket.
The
logging
object supports:- region string
- Specifies the region in which to create the bucket resource. If omitted, the provider-level region will be used. Changing this will create a new bucket resource.
- storage
Class string - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- versioning boolean
- Whether enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
- website
Obs
Bucket Website - A website object. The website object structure is documented below.
- bucket str
- Specifies the name of the bucket. Changing this parameter will create a new
resource. A bucket must be named according to the globally applied DNS naming regulations as follows:
- The name must be globally unique in OBS.
- The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.
- The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.) or contain a period (.) and a hyphen (-) adjacent to each other.
- The name cannot be an IP address.
- If the name contains any periods (.), a security certificate verification message may appear when you access the bucket or its objects by entering a domain name.
- acl str
- Specifies the ACL policy for a bucket. The predefined common policies are as follows:
"private", "public-read", "public-read-write" and "log-delivery-write". Defaults to
private
. - cors_
rules Sequence[ObsBucket Cors Rule Args] - A rule of Cross-Origin Resource Sharing. The cors_rule object structure is documented below.
- encryption bool
- Whether enable default server-side encryption of the bucket in SSE-KMS mode.
- force_
destroy bool - A boolean that indicates all objects should be deleted from the bucket so that
the bucket can be destroyed without error. Default to
false
. - kms_
key_ strid - Specifies the ID of a KMS key. If omitted, the default master key will be used.
- kms_
key_ strproject_ id - Specifies the project ID to which the KMS key belongs. This field is valid
only when
kms_key_id
is specified. - lifecycle_
rules Sequence[ObsBucket Lifecycle Rule Args] - A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
- loggings
Sequence[Obs
Bucket Logging Args] - A settings of bucket logging. The logging object structure is documented below.
- multi_
az bool - Whether enable the multi-AZ mode for the bucket. When the multi-AZ mode is enabled, data in the bucket is duplicated and stored in multiple AZs. Changing this creates a new bucket.
- obs_
bucket_ strid - The name of the bucket.
- parallel_
fs bool Whether enable a bucket as a parallel file system. Changing this will create a new bucket.
The
logging
object supports:- region str
- Specifies the region in which to create the bucket resource. If omitted, the provider-level region will be used. Changing this will create a new bucket resource.
- storage_
class str - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- versioning bool
- Whether enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
- website
Obs
Bucket Website Args - A website object. The website object structure is documented below.
- bucket String
- Specifies the name of the bucket. Changing this parameter will create a new
resource. A bucket must be named according to the globally applied DNS naming regulations as follows:
- The name must be globally unique in OBS.
- The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.
- The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.) or contain a period (.) and a hyphen (-) adjacent to each other.
- The name cannot be an IP address.
- If the name contains any periods (.), a security certificate verification message may appear when you access the bucket or its objects by entering a domain name.
- acl String
- Specifies the ACL policy for a bucket. The predefined common policies are as follows:
"private", "public-read", "public-read-write" and "log-delivery-write". Defaults to
private
. - cors
Rules List<Property Map> - A rule of Cross-Origin Resource Sharing. The cors_rule object structure is documented below.
- encryption Boolean
- Whether enable default server-side encryption of the bucket in SSE-KMS mode.
- force
Destroy Boolean - A boolean that indicates all objects should be deleted from the bucket so that
the bucket can be destroyed without error. Default to
false
. - kms
Key StringId - Specifies the ID of a KMS key. If omitted, the default master key will be used.
- kms
Key StringProject Id - Specifies the project ID to which the KMS key belongs. This field is valid
only when
kms_key_id
is specified. - lifecycle
Rules List<Property Map> - A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
- loggings List<Property Map>
- A settings of bucket logging. The logging object structure is documented below.
- multi
Az Boolean - Whether enable the multi-AZ mode for the bucket. When the multi-AZ mode is enabled, data in the bucket is duplicated and stored in multiple AZs. Changing this creates a new bucket.
- obs
Bucket StringId - The name of the bucket.
- parallel
Fs Boolean Whether enable a bucket as a parallel file system. Changing this will create a new bucket.
The
logging
object supports:- region String
- Specifies the region in which to create the bucket resource. If omitted, the provider-level region will be used. Changing this will create a new bucket resource.
- storage
Class String - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- versioning Boolean
- Whether enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
- website Property Map
- A website object. The website object structure is documented below.
Outputs
All input properties are implicitly available as output properties. Additionally, the ObsBucket resource produces the following output properties:
- Bucket
Domain stringName - The bucket domain name. Will be of format
bucketname.oss.region.prod-cloud-ocb.orange-business.com
. - Id string
- The provider-assigned unique ID for this managed resource.
- Bucket
Domain stringName - The bucket domain name. Will be of format
bucketname.oss.region.prod-cloud-ocb.orange-business.com
. - Id string
- The provider-assigned unique ID for this managed resource.
- bucket
Domain StringName - The bucket domain name. Will be of format
bucketname.oss.region.prod-cloud-ocb.orange-business.com
. - id String
- The provider-assigned unique ID for this managed resource.
- bucket
Domain stringName - The bucket domain name. Will be of format
bucketname.oss.region.prod-cloud-ocb.orange-business.com
. - id string
- The provider-assigned unique ID for this managed resource.
- bucket_
domain_ strname - The bucket domain name. Will be of format
bucketname.oss.region.prod-cloud-ocb.orange-business.com
. - id str
- The provider-assigned unique ID for this managed resource.
- bucket
Domain StringName - The bucket domain name. Will be of format
bucketname.oss.region.prod-cloud-ocb.orange-business.com
. - id String
- The provider-assigned unique ID for this managed resource.
Look up Existing ObsBucket Resource
Get an existing ObsBucket resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ObsBucketState, opts?: CustomResourceOptions): ObsBucket
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
acl: Optional[str] = None,
bucket: Optional[str] = None,
bucket_domain_name: Optional[str] = None,
cors_rules: Optional[Sequence[ObsBucketCorsRuleArgs]] = None,
encryption: Optional[bool] = None,
force_destroy: Optional[bool] = None,
kms_key_id: Optional[str] = None,
kms_key_project_id: Optional[str] = None,
lifecycle_rules: Optional[Sequence[ObsBucketLifecycleRuleArgs]] = None,
loggings: Optional[Sequence[ObsBucketLoggingArgs]] = None,
multi_az: Optional[bool] = None,
obs_bucket_id: Optional[str] = None,
parallel_fs: Optional[bool] = None,
region: Optional[str] = None,
storage_class: Optional[str] = None,
versioning: Optional[bool] = None,
website: Optional[ObsBucketWebsiteArgs] = None) -> ObsBucket
func GetObsBucket(ctx *Context, name string, id IDInput, state *ObsBucketState, opts ...ResourceOption) (*ObsBucket, error)
public static ObsBucket Get(string name, Input<string> id, ObsBucketState? state, CustomResourceOptions? opts = null)
public static ObsBucket get(String name, Output<String> id, ObsBucketState state, CustomResourceOptions options)
resources: _: type: flexibleengine:ObsBucket get: id: ${id}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Acl string
- Specifies the ACL policy for a bucket. The predefined common policies are as follows:
"private", "public-read", "public-read-write" and "log-delivery-write". Defaults to
private
. - Bucket string
- Specifies the name of the bucket. Changing this parameter will create a new
resource. A bucket must be named according to the globally applied DNS naming regulations as follows:
- The name must be globally unique in OBS.
- The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.
- The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.) or contain a period (.) and a hyphen (-) adjacent to each other.
- The name cannot be an IP address.
- If the name contains any periods (.), a security certificate verification message may appear when you access the bucket or its objects by entering a domain name.
- Bucket
Domain stringName - The bucket domain name. Will be of format
bucketname.oss.region.prod-cloud-ocb.orange-business.com
. - Cors
Rules List<ObsBucket Cors Rule> - A rule of Cross-Origin Resource Sharing. The cors_rule object structure is documented below.
- Encryption bool
- Whether enable default server-side encryption of the bucket in SSE-KMS mode.
- Force
Destroy bool - A boolean that indicates all objects should be deleted from the bucket so that
the bucket can be destroyed without error. Default to
false
. - Kms
Key stringId - Specifies the ID of a KMS key. If omitted, the default master key will be used.
- Kms
Key stringProject Id - Specifies the project ID to which the KMS key belongs. This field is valid
only when
kms_key_id
is specified. - Lifecycle
Rules List<ObsBucket Lifecycle Rule> - A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
- Loggings
List<Obs
Bucket Logging> - A settings of bucket logging. The logging object structure is documented below.
- Multi
Az bool - Whether enable the multi-AZ mode for the bucket. When the multi-AZ mode is enabled, data in the bucket is duplicated and stored in multiple AZs. Changing this creates a new bucket.
- Obs
Bucket stringId - The name of the bucket.
- Parallel
Fs bool Whether enable a bucket as a parallel file system. Changing this will create a new bucket.
The
logging
object supports:- Region string
- Specifies the region in which to create the bucket resource. If omitted, the provider-level region will be used. Changing this will create a new bucket resource.
- Storage
Class string - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- Versioning bool
- Whether enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
- Website
Obs
Bucket Website - A website object. The website object structure is documented below.
- Acl string
- Specifies the ACL policy for a bucket. The predefined common policies are as follows:
"private", "public-read", "public-read-write" and "log-delivery-write". Defaults to
private
. - Bucket string
- Specifies the name of the bucket. Changing this parameter will create a new
resource. A bucket must be named according to the globally applied DNS naming regulations as follows:
- The name must be globally unique in OBS.
- The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.
- The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.) or contain a period (.) and a hyphen (-) adjacent to each other.
- The name cannot be an IP address.
- If the name contains any periods (.), a security certificate verification message may appear when you access the bucket or its objects by entering a domain name.
- Bucket
Domain stringName - The bucket domain name. Will be of format
bucketname.oss.region.prod-cloud-ocb.orange-business.com
. - Cors
Rules []ObsBucket Cors Rule Args - A rule of Cross-Origin Resource Sharing. The cors_rule object structure is documented below.
- Encryption bool
- Whether enable default server-side encryption of the bucket in SSE-KMS mode.
- Force
Destroy bool - A boolean that indicates all objects should be deleted from the bucket so that
the bucket can be destroyed without error. Default to
false
. - Kms
Key stringId - Specifies the ID of a KMS key. If omitted, the default master key will be used.
- Kms
Key stringProject Id - Specifies the project ID to which the KMS key belongs. This field is valid
only when
kms_key_id
is specified. - Lifecycle
Rules []ObsBucket Lifecycle Rule Args - A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
- Loggings
[]Obs
Bucket Logging Args - A settings of bucket logging. The logging object structure is documented below.
- Multi
Az bool - Whether enable the multi-AZ mode for the bucket. When the multi-AZ mode is enabled, data in the bucket is duplicated and stored in multiple AZs. Changing this creates a new bucket.
- Obs
Bucket stringId - The name of the bucket.
- Parallel
Fs bool Whether enable a bucket as a parallel file system. Changing this will create a new bucket.
The
logging
object supports:- Region string
- Specifies the region in which to create the bucket resource. If omitted, the provider-level region will be used. Changing this will create a new bucket resource.
- Storage
Class string - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- Versioning bool
- Whether enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
- Website
Obs
Bucket Website Args - A website object. The website object structure is documented below.
- acl String
- Specifies the ACL policy for a bucket. The predefined common policies are as follows:
"private", "public-read", "public-read-write" and "log-delivery-write". Defaults to
private
. - bucket String
- Specifies the name of the bucket. Changing this parameter will create a new
resource. A bucket must be named according to the globally applied DNS naming regulations as follows:
- The name must be globally unique in OBS.
- The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.
- The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.) or contain a period (.) and a hyphen (-) adjacent to each other.
- The name cannot be an IP address.
- If the name contains any periods (.), a security certificate verification message may appear when you access the bucket or its objects by entering a domain name.
- bucket
Domain StringName - The bucket domain name. Will be of format
bucketname.oss.region.prod-cloud-ocb.orange-business.com
. - cors
Rules List<ObsBucket Cors Rule> - A rule of Cross-Origin Resource Sharing. The cors_rule object structure is documented below.
- encryption Boolean
- Whether enable default server-side encryption of the bucket in SSE-KMS mode.
- force
Destroy Boolean - A boolean that indicates all objects should be deleted from the bucket so that
the bucket can be destroyed without error. Default to
false
. - kms
Key StringId - Specifies the ID of a KMS key. If omitted, the default master key will be used.
- kms
Key StringProject Id - Specifies the project ID to which the KMS key belongs. This field is valid
only when
kms_key_id
is specified. - lifecycle
Rules List<ObsBucket Lifecycle Rule> - A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
- loggings
List<Obs
Bucket Logging> - A settings of bucket logging. The logging object structure is documented below.
- multi
Az Boolean - Whether enable the multi-AZ mode for the bucket. When the multi-AZ mode is enabled, data in the bucket is duplicated and stored in multiple AZs. Changing this creates a new bucket.
- obs
Bucket StringId - The name of the bucket.
- parallel
Fs Boolean Whether enable a bucket as a parallel file system. Changing this will create a new bucket.
The
logging
object supports:- region String
- Specifies the region in which to create the bucket resource. If omitted, the provider-level region will be used. Changing this will create a new bucket resource.
- storage
Class String - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- versioning Boolean
- Whether enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
- website
Obs
Bucket Website - A website object. The website object structure is documented below.
- acl string
- Specifies the ACL policy for a bucket. The predefined common policies are as follows:
"private", "public-read", "public-read-write" and "log-delivery-write". Defaults to
private
. - bucket string
- Specifies the name of the bucket. Changing this parameter will create a new
resource. A bucket must be named according to the globally applied DNS naming regulations as follows:
- The name must be globally unique in OBS.
- The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.
- The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.) or contain a period (.) and a hyphen (-) adjacent to each other.
- The name cannot be an IP address.
- If the name contains any periods (.), a security certificate verification message may appear when you access the bucket or its objects by entering a domain name.
- bucket
Domain stringName - The bucket domain name. Will be of format
bucketname.oss.region.prod-cloud-ocb.orange-business.com
. - cors
Rules ObsBucket Cors Rule[] - A rule of Cross-Origin Resource Sharing. The cors_rule object structure is documented below.
- encryption boolean
- Whether enable default server-side encryption of the bucket in SSE-KMS mode.
- force
Destroy boolean - A boolean that indicates all objects should be deleted from the bucket so that
the bucket can be destroyed without error. Default to
false
. - kms
Key stringId - Specifies the ID of a KMS key. If omitted, the default master key will be used.
- kms
Key stringProject Id - Specifies the project ID to which the KMS key belongs. This field is valid
only when
kms_key_id
is specified. - lifecycle
Rules ObsBucket Lifecycle Rule[] - A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
- loggings
Obs
Bucket Logging[] - A settings of bucket logging. The logging object structure is documented below.
- multi
Az boolean - Whether enable the multi-AZ mode for the bucket. When the multi-AZ mode is enabled, data in the bucket is duplicated and stored in multiple AZs. Changing this creates a new bucket.
- obs
Bucket stringId - The name of the bucket.
- parallel
Fs boolean Whether enable a bucket as a parallel file system. Changing this will create a new bucket.
The
logging
object supports:- region string
- Specifies the region in which to create the bucket resource. If omitted, the provider-level region will be used. Changing this will create a new bucket resource.
- storage
Class string - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- versioning boolean
- Whether enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
- website
Obs
Bucket Website - A website object. The website object structure is documented below.
- acl str
- Specifies the ACL policy for a bucket. The predefined common policies are as follows:
"private", "public-read", "public-read-write" and "log-delivery-write". Defaults to
private
. - bucket str
- Specifies the name of the bucket. Changing this parameter will create a new
resource. A bucket must be named according to the globally applied DNS naming regulations as follows:
- The name must be globally unique in OBS.
- The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.
- The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.) or contain a period (.) and a hyphen (-) adjacent to each other.
- The name cannot be an IP address.
- If the name contains any periods (.), a security certificate verification message may appear when you access the bucket or its objects by entering a domain name.
- bucket_
domain_ strname - The bucket domain name. Will be of format
bucketname.oss.region.prod-cloud-ocb.orange-business.com
. - cors_
rules Sequence[ObsBucket Cors Rule Args] - A rule of Cross-Origin Resource Sharing. The cors_rule object structure is documented below.
- encryption bool
- Whether enable default server-side encryption of the bucket in SSE-KMS mode.
- force_
destroy bool - A boolean that indicates all objects should be deleted from the bucket so that
the bucket can be destroyed without error. Default to
false
. - kms_
key_ strid - Specifies the ID of a KMS key. If omitted, the default master key will be used.
- kms_
key_ strproject_ id - Specifies the project ID to which the KMS key belongs. This field is valid
only when
kms_key_id
is specified. - lifecycle_
rules Sequence[ObsBucket Lifecycle Rule Args] - A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
- loggings
Sequence[Obs
Bucket Logging Args] - A settings of bucket logging. The logging object structure is documented below.
- multi_
az bool - Whether enable the multi-AZ mode for the bucket. When the multi-AZ mode is enabled, data in the bucket is duplicated and stored in multiple AZs. Changing this creates a new bucket.
- obs_
bucket_ strid - The name of the bucket.
- parallel_
fs bool Whether enable a bucket as a parallel file system. Changing this will create a new bucket.
The
logging
object supports:- region str
- Specifies the region in which to create the bucket resource. If omitted, the provider-level region will be used. Changing this will create a new bucket resource.
- storage_
class str - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- versioning bool
- Whether enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
- website
Obs
Bucket Website Args - A website object. The website object structure is documented below.
- acl String
- Specifies the ACL policy for a bucket. The predefined common policies are as follows:
"private", "public-read", "public-read-write" and "log-delivery-write". Defaults to
private
. - bucket String
- Specifies the name of the bucket. Changing this parameter will create a new
resource. A bucket must be named according to the globally applied DNS naming regulations as follows:
- The name must be globally unique in OBS.
- The name must contain 3 to 63 characters. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed.
- The name cannot start or end with a period (.) or hyphen (-), and cannot contain two consecutive periods (.) or contain a period (.) and a hyphen (-) adjacent to each other.
- The name cannot be an IP address.
- If the name contains any periods (.), a security certificate verification message may appear when you access the bucket or its objects by entering a domain name.
- bucket
Domain StringName - The bucket domain name. Will be of format
bucketname.oss.region.prod-cloud-ocb.orange-business.com
. - cors
Rules List<Property Map> - A rule of Cross-Origin Resource Sharing. The cors_rule object structure is documented below.
- encryption Boolean
- Whether enable default server-side encryption of the bucket in SSE-KMS mode.
- force
Destroy Boolean - A boolean that indicates all objects should be deleted from the bucket so that
the bucket can be destroyed without error. Default to
false
. - kms
Key StringId - Specifies the ID of a KMS key. If omitted, the default master key will be used.
- kms
Key StringProject Id - Specifies the project ID to which the KMS key belongs. This field is valid
only when
kms_key_id
is specified. - lifecycle
Rules List<Property Map> - A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
- loggings List<Property Map>
- A settings of bucket logging. The logging object structure is documented below.
- multi
Az Boolean - Whether enable the multi-AZ mode for the bucket. When the multi-AZ mode is enabled, data in the bucket is duplicated and stored in multiple AZs. Changing this creates a new bucket.
- obs
Bucket StringId - The name of the bucket.
- parallel
Fs Boolean Whether enable a bucket as a parallel file system. Changing this will create a new bucket.
The
logging
object supports:- region String
- Specifies the region in which to create the bucket resource. If omitted, the provider-level region will be used. Changing this will create a new bucket resource.
- storage
Class String - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- versioning Boolean
- Whether enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
- website Property Map
- A website object. The website object structure is documented below.
Supporting Types
ObsBucketCorsRule, ObsBucketCorsRuleArgs
- Allowed
Methods List<string> - Specifies the acceptable operation type of buckets and objects.
The methods include
GET
,PUT
,POST
,DELETE
orHEAD
. - Allowed
Origins List<string> - Requests from this origin can access the bucket. Multiple matching rules are allowed. One rule occupies one line, and allows one wildcard character (*) at most.
- Allowed
Headers List<string> - Specifies the allowed header of cross-origin requests. Only CORS requests matching the allowed header are valid.
- Expose
Headers List<string> - Specifies the exposed header in CORS responses, providing additional information for clients.
- Max
Age doubleSeconds Specifies the duration that your browser can cache CORS responses, expressed in seconds. The default value is 100.
The
lifecycle_rule
object supports:
- Allowed
Methods []string - Specifies the acceptable operation type of buckets and objects.
The methods include
GET
,PUT
,POST
,DELETE
orHEAD
. - Allowed
Origins []string - Requests from this origin can access the bucket. Multiple matching rules are allowed. One rule occupies one line, and allows one wildcard character (*) at most.
- Allowed
Headers []string - Specifies the allowed header of cross-origin requests. Only CORS requests matching the allowed header are valid.
- Expose
Headers []string - Specifies the exposed header in CORS responses, providing additional information for clients.
- Max
Age float64Seconds Specifies the duration that your browser can cache CORS responses, expressed in seconds. The default value is 100.
The
lifecycle_rule
object supports:
- allowed
Methods List<String> - Specifies the acceptable operation type of buckets and objects.
The methods include
GET
,PUT
,POST
,DELETE
orHEAD
. - allowed
Origins List<String> - Requests from this origin can access the bucket. Multiple matching rules are allowed. One rule occupies one line, and allows one wildcard character (*) at most.
- allowed
Headers List<String> - Specifies the allowed header of cross-origin requests. Only CORS requests matching the allowed header are valid.
- expose
Headers List<String> - Specifies the exposed header in CORS responses, providing additional information for clients.
- max
Age DoubleSeconds Specifies the duration that your browser can cache CORS responses, expressed in seconds. The default value is 100.
The
lifecycle_rule
object supports:
- allowed
Methods string[] - Specifies the acceptable operation type of buckets and objects.
The methods include
GET
,PUT
,POST
,DELETE
orHEAD
. - allowed
Origins string[] - Requests from this origin can access the bucket. Multiple matching rules are allowed. One rule occupies one line, and allows one wildcard character (*) at most.
- allowed
Headers string[] - Specifies the allowed header of cross-origin requests. Only CORS requests matching the allowed header are valid.
- expose
Headers string[] - Specifies the exposed header in CORS responses, providing additional information for clients.
- max
Age numberSeconds Specifies the duration that your browser can cache CORS responses, expressed in seconds. The default value is 100.
The
lifecycle_rule
object supports:
- allowed_
methods Sequence[str] - Specifies the acceptable operation type of buckets and objects.
The methods include
GET
,PUT
,POST
,DELETE
orHEAD
. - allowed_
origins Sequence[str] - Requests from this origin can access the bucket. Multiple matching rules are allowed. One rule occupies one line, and allows one wildcard character (*) at most.
- allowed_
headers Sequence[str] - Specifies the allowed header of cross-origin requests. Only CORS requests matching the allowed header are valid.
- expose_
headers Sequence[str] - Specifies the exposed header in CORS responses, providing additional information for clients.
- max_
age_ floatseconds Specifies the duration that your browser can cache CORS responses, expressed in seconds. The default value is 100.
The
lifecycle_rule
object supports:
- allowed
Methods List<String> - Specifies the acceptable operation type of buckets and objects.
The methods include
GET
,PUT
,POST
,DELETE
orHEAD
. - allowed
Origins List<String> - Requests from this origin can access the bucket. Multiple matching rules are allowed. One rule occupies one line, and allows one wildcard character (*) at most.
- allowed
Headers List<String> - Specifies the allowed header of cross-origin requests. Only CORS requests matching the allowed header are valid.
- expose
Headers List<String> - Specifies the exposed header in CORS responses, providing additional information for clients.
- max
Age NumberSeconds Specifies the duration that your browser can cache CORS responses, expressed in seconds. The default value is 100.
The
lifecycle_rule
object supports:
ObsBucketLifecycleRule, ObsBucketLifecycleRuleArgs
- Enabled bool
- Specifies lifecycle rule status.
- Name string
- Unique identifier for lifecycle rules. The Rule Name contains a maximum of 255 characters.
- Expirations
List<Obs
Bucket Lifecycle Rule Expiration> - Specifies a period when objects that have been last updated are automatically deleted. The expiration object structure is documented below.
- Noncurrent
Version List<ObsExpirations Bucket Lifecycle Rule Noncurrent Version Expiration> - Specifies a period when noncurrent object versions are automatically deleted. The noncurrent_version_expiration object structure is documented below.
- Noncurrent
Version List<ObsTransitions Bucket Lifecycle Rule Noncurrent Version Transition> Specifies a period when noncurrent object versions are automatically transitioned to
STANDARD_IA
orGLACIER
storage class. The noncurrent_version_transition object structure is documented below.At least one of
expiration
,transition
,noncurrent_version_expiration
,noncurrent_version_transition
must be specified.The
expiration
object supports:- Prefix string
- Object key prefix identifying one or more objects to which the rule applies. If omitted, all objects in the bucket will be managed by the lifecycle rule. The prefix cannot start or end with a slash (/), cannot have consecutive slashes (/), and cannot contain the following special characters: :*?"<>|.
- Transitions
List<Obs
Bucket Lifecycle Rule Transition> - Specifies a period when objects that have been last updated are automatically
transitioned to
STANDARD_IA
orGLACIER
storage class. The transition object structure is documented below.
- Enabled bool
- Specifies lifecycle rule status.
- Name string
- Unique identifier for lifecycle rules. The Rule Name contains a maximum of 255 characters.
- Expirations
[]Obs
Bucket Lifecycle Rule Expiration - Specifies a period when objects that have been last updated are automatically deleted. The expiration object structure is documented below.
- Noncurrent
Version []ObsExpirations Bucket Lifecycle Rule Noncurrent Version Expiration - Specifies a period when noncurrent object versions are automatically deleted. The noncurrent_version_expiration object structure is documented below.
- Noncurrent
Version []ObsTransitions Bucket Lifecycle Rule Noncurrent Version Transition Specifies a period when noncurrent object versions are automatically transitioned to
STANDARD_IA
orGLACIER
storage class. The noncurrent_version_transition object structure is documented below.At least one of
expiration
,transition
,noncurrent_version_expiration
,noncurrent_version_transition
must be specified.The
expiration
object supports:- Prefix string
- Object key prefix identifying one or more objects to which the rule applies. If omitted, all objects in the bucket will be managed by the lifecycle rule. The prefix cannot start or end with a slash (/), cannot have consecutive slashes (/), and cannot contain the following special characters: :*?"<>|.
- Transitions
[]Obs
Bucket Lifecycle Rule Transition - Specifies a period when objects that have been last updated are automatically
transitioned to
STANDARD_IA
orGLACIER
storage class. The transition object structure is documented below.
- enabled Boolean
- Specifies lifecycle rule status.
- name String
- Unique identifier for lifecycle rules. The Rule Name contains a maximum of 255 characters.
- expirations
List<Obs
Bucket Lifecycle Rule Expiration> - Specifies a period when objects that have been last updated are automatically deleted. The expiration object structure is documented below.
- noncurrent
Version List<ObsExpirations Bucket Lifecycle Rule Noncurrent Version Expiration> - Specifies a period when noncurrent object versions are automatically deleted. The noncurrent_version_expiration object structure is documented below.
- noncurrent
Version List<ObsTransitions Bucket Lifecycle Rule Noncurrent Version Transition> Specifies a period when noncurrent object versions are automatically transitioned to
STANDARD_IA
orGLACIER
storage class. The noncurrent_version_transition object structure is documented below.At least one of
expiration
,transition
,noncurrent_version_expiration
,noncurrent_version_transition
must be specified.The
expiration
object supports:- prefix String
- Object key prefix identifying one or more objects to which the rule applies. If omitted, all objects in the bucket will be managed by the lifecycle rule. The prefix cannot start or end with a slash (/), cannot have consecutive slashes (/), and cannot contain the following special characters: :*?"<>|.
- transitions
List<Obs
Bucket Lifecycle Rule Transition> - Specifies a period when objects that have been last updated are automatically
transitioned to
STANDARD_IA
orGLACIER
storage class. The transition object structure is documented below.
- enabled boolean
- Specifies lifecycle rule status.
- name string
- Unique identifier for lifecycle rules. The Rule Name contains a maximum of 255 characters.
- expirations
Obs
Bucket Lifecycle Rule Expiration[] - Specifies a period when objects that have been last updated are automatically deleted. The expiration object structure is documented below.
- noncurrent
Version ObsExpirations Bucket Lifecycle Rule Noncurrent Version Expiration[] - Specifies a period when noncurrent object versions are automatically deleted. The noncurrent_version_expiration object structure is documented below.
- noncurrent
Version ObsTransitions Bucket Lifecycle Rule Noncurrent Version Transition[] Specifies a period when noncurrent object versions are automatically transitioned to
STANDARD_IA
orGLACIER
storage class. The noncurrent_version_transition object structure is documented below.At least one of
expiration
,transition
,noncurrent_version_expiration
,noncurrent_version_transition
must be specified.The
expiration
object supports:- prefix string
- Object key prefix identifying one or more objects to which the rule applies. If omitted, all objects in the bucket will be managed by the lifecycle rule. The prefix cannot start or end with a slash (/), cannot have consecutive slashes (/), and cannot contain the following special characters: :*?"<>|.
- transitions
Obs
Bucket Lifecycle Rule Transition[] - Specifies a period when objects that have been last updated are automatically
transitioned to
STANDARD_IA
orGLACIER
storage class. The transition object structure is documented below.
- enabled bool
- Specifies lifecycle rule status.
- name str
- Unique identifier for lifecycle rules. The Rule Name contains a maximum of 255 characters.
- expirations
Sequence[Obs
Bucket Lifecycle Rule Expiration] - Specifies a period when objects that have been last updated are automatically deleted. The expiration object structure is documented below.
- noncurrent_
version_ Sequence[Obsexpirations Bucket Lifecycle Rule Noncurrent Version Expiration] - Specifies a period when noncurrent object versions are automatically deleted. The noncurrent_version_expiration object structure is documented below.
- noncurrent_
version_ Sequence[Obstransitions Bucket Lifecycle Rule Noncurrent Version Transition] Specifies a period when noncurrent object versions are automatically transitioned to
STANDARD_IA
orGLACIER
storage class. The noncurrent_version_transition object structure is documented below.At least one of
expiration
,transition
,noncurrent_version_expiration
,noncurrent_version_transition
must be specified.The
expiration
object supports:- prefix str
- Object key prefix identifying one or more objects to which the rule applies. If omitted, all objects in the bucket will be managed by the lifecycle rule. The prefix cannot start or end with a slash (/), cannot have consecutive slashes (/), and cannot contain the following special characters: :*?"<>|.
- transitions
Sequence[Obs
Bucket Lifecycle Rule Transition] - Specifies a period when objects that have been last updated are automatically
transitioned to
STANDARD_IA
orGLACIER
storage class. The transition object structure is documented below.
- enabled Boolean
- Specifies lifecycle rule status.
- name String
- Unique identifier for lifecycle rules. The Rule Name contains a maximum of 255 characters.
- expirations List<Property Map>
- Specifies a period when objects that have been last updated are automatically deleted. The expiration object structure is documented below.
- noncurrent
Version List<Property Map>Expirations - Specifies a period when noncurrent object versions are automatically deleted. The noncurrent_version_expiration object structure is documented below.
- noncurrent
Version List<Property Map>Transitions Specifies a period when noncurrent object versions are automatically transitioned to
STANDARD_IA
orGLACIER
storage class. The noncurrent_version_transition object structure is documented below.At least one of
expiration
,transition
,noncurrent_version_expiration
,noncurrent_version_transition
must be specified.The
expiration
object supports:- prefix String
- Object key prefix identifying one or more objects to which the rule applies. If omitted, all objects in the bucket will be managed by the lifecycle rule. The prefix cannot start or end with a slash (/), cannot have consecutive slashes (/), and cannot contain the following special characters: :*?"<>|.
- transitions List<Property Map>
- Specifies a period when objects that have been last updated are automatically
transitioned to
STANDARD_IA
orGLACIER
storage class. The transition object structure is documented below.
ObsBucketLifecycleRuleExpiration, ObsBucketLifecycleRuleExpirationArgs
- Days double
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- Days float64
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- days Double
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- days number
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- days float
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- days Number
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
ObsBucketLifecycleRuleNoncurrentVersionExpiration, ObsBucketLifecycleRuleNoncurrentVersionExpirationArgs
- Days double
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- Days float64
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- days Double
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- days number
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- days float
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- days Number
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
ObsBucketLifecycleRuleNoncurrentVersionTransition, ObsBucketLifecycleRuleNoncurrentVersionTransitionArgs
- Days double
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- Storage
Class string - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- Days float64
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- Storage
Class string - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- days Double
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- storage
Class String - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- days number
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- storage
Class string - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- days float
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- storage_
class str - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- days Number
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- storage
Class String - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
ObsBucketLifecycleRuleTransition, ObsBucketLifecycleRuleTransitionArgs
- Days double
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- Storage
Class string - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- Days float64
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- Storage
Class string - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- days Double
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- storage
Class String - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- days number
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- storage
Class string - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- days float
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- storage_
class str - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
- days Number
- Specifies the number of days when noncurrent object versions are automatically transitioned to the specified storage class.
- storage
Class String - The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.
ObsBucketLogging, ObsBucketLoggingArgs
- Target
Bucket string - The name of the bucket that will receive the log objects.
The acl policy of the target bucket should be
log-delivery-write
. - Agency string
Specifies the IAM agency of OBS cloud service.
The IAM agency requires the
PutObject
permission for the target bucket. If default encryption is enabled for the target bucket, the agency also requires theKMS Administrator
permission in the region where the target bucket is located.The
website
object supports:- Target
Prefix string - To specify a key prefix for log objects.
- Target
Bucket string - The name of the bucket that will receive the log objects.
The acl policy of the target bucket should be
log-delivery-write
. - Agency string
Specifies the IAM agency of OBS cloud service.
The IAM agency requires the
PutObject
permission for the target bucket. If default encryption is enabled for the target bucket, the agency also requires theKMS Administrator
permission in the region where the target bucket is located.The
website
object supports:- Target
Prefix string - To specify a key prefix for log objects.
- target
Bucket String - The name of the bucket that will receive the log objects.
The acl policy of the target bucket should be
log-delivery-write
. - agency String
Specifies the IAM agency of OBS cloud service.
The IAM agency requires the
PutObject
permission for the target bucket. If default encryption is enabled for the target bucket, the agency also requires theKMS Administrator
permission in the region where the target bucket is located.The
website
object supports:- target
Prefix String - To specify a key prefix for log objects.
- target
Bucket string - The name of the bucket that will receive the log objects.
The acl policy of the target bucket should be
log-delivery-write
. - agency string
Specifies the IAM agency of OBS cloud service.
The IAM agency requires the
PutObject
permission for the target bucket. If default encryption is enabled for the target bucket, the agency also requires theKMS Administrator
permission in the region where the target bucket is located.The
website
object supports:- target
Prefix string - To specify a key prefix for log objects.
- target_
bucket str - The name of the bucket that will receive the log objects.
The acl policy of the target bucket should be
log-delivery-write
. - agency str
Specifies the IAM agency of OBS cloud service.
The IAM agency requires the
PutObject
permission for the target bucket. If default encryption is enabled for the target bucket, the agency also requires theKMS Administrator
permission in the region where the target bucket is located.The
website
object supports:- target_
prefix str - To specify a key prefix for log objects.
- target
Bucket String - The name of the bucket that will receive the log objects.
The acl policy of the target bucket should be
log-delivery-write
. - agency String
Specifies the IAM agency of OBS cloud service.
The IAM agency requires the
PutObject
permission for the target bucket. If default encryption is enabled for the target bucket, the agency also requires theKMS Administrator
permission in the region where the target bucket is located.The
website
object supports:- target
Prefix String - To specify a key prefix for log objects.
ObsBucketWebsite, ObsBucketWebsiteArgs
- Error
Document string - Specifies the error page returned when an error occurs during static website access. Only HTML, JPG, PNG, BMP, and WEBP files under the root directory are supported.
- Index
Document string - Specifies the default homepage of the static website, only HTML web pages are
supported. It is Optional if using
redirect_all_requests_to
. OBS only allows files such asindex.html
in the root directory of a bucket to function as the default homepage. That is to say, do not set the default homepage with a multi-level directory structure (for example, /page/index.html). - Redirect
All stringRequests To - A hostname to redirect all website requests for this bucket to.
Hostname can optionally be prefixed with a protocol (
http://
orhttps://
) to use when redirecting requests. The default is the protocol that is used in the original request. - Routing
Rules string A JSON or XML format containing routing rules describing redirect behavior and when redirects are applied. Each rule contains a
Condition
and aRedirect
as shown in the following table:Parameter | Key --- | --- Condition | KeyPrefixEquals, HttpErrorCodeReturnedEquals Redirect | Protocol, HostName, ReplaceKeyPrefixWith, ReplaceKeyWith, HttpRedirectCode
The
cors_rule
object supports:
- Error
Document string - Specifies the error page returned when an error occurs during static website access. Only HTML, JPG, PNG, BMP, and WEBP files under the root directory are supported.
- Index
Document string - Specifies the default homepage of the static website, only HTML web pages are
supported. It is Optional if using
redirect_all_requests_to
. OBS only allows files such asindex.html
in the root directory of a bucket to function as the default homepage. That is to say, do not set the default homepage with a multi-level directory structure (for example, /page/index.html). - Redirect
All stringRequests To - A hostname to redirect all website requests for this bucket to.
Hostname can optionally be prefixed with a protocol (
http://
orhttps://
) to use when redirecting requests. The default is the protocol that is used in the original request. - Routing
Rules string A JSON or XML format containing routing rules describing redirect behavior and when redirects are applied. Each rule contains a
Condition
and aRedirect
as shown in the following table:Parameter | Key --- | --- Condition | KeyPrefixEquals, HttpErrorCodeReturnedEquals Redirect | Protocol, HostName, ReplaceKeyPrefixWith, ReplaceKeyWith, HttpRedirectCode
The
cors_rule
object supports:
- error
Document String - Specifies the error page returned when an error occurs during static website access. Only HTML, JPG, PNG, BMP, and WEBP files under the root directory are supported.
- index
Document String - Specifies the default homepage of the static website, only HTML web pages are
supported. It is Optional if using
redirect_all_requests_to
. OBS only allows files such asindex.html
in the root directory of a bucket to function as the default homepage. That is to say, do not set the default homepage with a multi-level directory structure (for example, /page/index.html). - redirect
All StringRequests To - A hostname to redirect all website requests for this bucket to.
Hostname can optionally be prefixed with a protocol (
http://
orhttps://
) to use when redirecting requests. The default is the protocol that is used in the original request. - routing
Rules String A JSON or XML format containing routing rules describing redirect behavior and when redirects are applied. Each rule contains a
Condition
and aRedirect
as shown in the following table:Parameter | Key --- | --- Condition | KeyPrefixEquals, HttpErrorCodeReturnedEquals Redirect | Protocol, HostName, ReplaceKeyPrefixWith, ReplaceKeyWith, HttpRedirectCode
The
cors_rule
object supports:
- error
Document string - Specifies the error page returned when an error occurs during static website access. Only HTML, JPG, PNG, BMP, and WEBP files under the root directory are supported.
- index
Document string - Specifies the default homepage of the static website, only HTML web pages are
supported. It is Optional if using
redirect_all_requests_to
. OBS only allows files such asindex.html
in the root directory of a bucket to function as the default homepage. That is to say, do not set the default homepage with a multi-level directory structure (for example, /page/index.html). - redirect
All stringRequests To - A hostname to redirect all website requests for this bucket to.
Hostname can optionally be prefixed with a protocol (
http://
orhttps://
) to use when redirecting requests. The default is the protocol that is used in the original request. - routing
Rules string A JSON or XML format containing routing rules describing redirect behavior and when redirects are applied. Each rule contains a
Condition
and aRedirect
as shown in the following table:Parameter | Key --- | --- Condition | KeyPrefixEquals, HttpErrorCodeReturnedEquals Redirect | Protocol, HostName, ReplaceKeyPrefixWith, ReplaceKeyWith, HttpRedirectCode
The
cors_rule
object supports:
- error_
document str - Specifies the error page returned when an error occurs during static website access. Only HTML, JPG, PNG, BMP, and WEBP files under the root directory are supported.
- index_
document str - Specifies the default homepage of the static website, only HTML web pages are
supported. It is Optional if using
redirect_all_requests_to
. OBS only allows files such asindex.html
in the root directory of a bucket to function as the default homepage. That is to say, do not set the default homepage with a multi-level directory structure (for example, /page/index.html). - redirect_
all_ strrequests_ to - A hostname to redirect all website requests for this bucket to.
Hostname can optionally be prefixed with a protocol (
http://
orhttps://
) to use when redirecting requests. The default is the protocol that is used in the original request. - routing_
rules str A JSON or XML format containing routing rules describing redirect behavior and when redirects are applied. Each rule contains a
Condition
and aRedirect
as shown in the following table:Parameter | Key --- | --- Condition | KeyPrefixEquals, HttpErrorCodeReturnedEquals Redirect | Protocol, HostName, ReplaceKeyPrefixWith, ReplaceKeyWith, HttpRedirectCode
The
cors_rule
object supports:
- error
Document String - Specifies the error page returned when an error occurs during static website access. Only HTML, JPG, PNG, BMP, and WEBP files under the root directory are supported.
- index
Document String - Specifies the default homepage of the static website, only HTML web pages are
supported. It is Optional if using
redirect_all_requests_to
. OBS only allows files such asindex.html
in the root directory of a bucket to function as the default homepage. That is to say, do not set the default homepage with a multi-level directory structure (for example, /page/index.html). - redirect
All StringRequests To - A hostname to redirect all website requests for this bucket to.
Hostname can optionally be prefixed with a protocol (
http://
orhttps://
) to use when redirecting requests. The default is the protocol that is used in the original request. - routing
Rules String A JSON or XML format containing routing rules describing redirect behavior and when redirects are applied. Each rule contains a
Condition
and aRedirect
as shown in the following table:Parameter | Key --- | --- Condition | KeyPrefixEquals, HttpErrorCodeReturnedEquals Redirect | Protocol, HostName, ReplaceKeyPrefixWith, ReplaceKeyWith, HttpRedirectCode
The
cors_rule
object supports:
Import
OBS bucket can be imported using the bucket
, e.g.
$ pulumi import flexibleengine:index/obsBucket:ObsBucket bucket bucket-name
Note that the imported state may not be identical to your resource definition, due to some attributes
missing from the API response. The missing attributes include acl
and force_destroy
.
It is generally recommended running pulumi preview
after importing an OBS bucket.
Also, you can ignore changes as below.
hcl
resource “flexibleengine_obs_bucket” “bucket” {
...
lifecycle {
ignore_changes = [
acl, force_destroy,
]
}
}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- flexibleengine flexibleenginecloud/terraform-provider-flexibleengine
- License
- Notes
- This Pulumi package is based on the
flexibleengine
Terraform Provider.