1. Packages
  2. Flexibleengine Provider
  3. API Docs
  4. ObsBucket
flexibleengine 1.46.0 published on Monday, Apr 14, 2025 by flexibleenginecloud

flexibleengine.ObsBucket

Explore with Pulumi AI

flexibleengine logo
flexibleengine 1.46.0 published on Monday, Apr 14, 2025 by flexibleenginecloud

    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.
    CorsRules List<ObsBucketCorsRule>
    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.
    ForceDestroy 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.
    KmsKeyId string
    Specifies the ID of a KMS key. If omitted, the default master key will be used.
    KmsKeyProjectId string
    Specifies the project ID to which the KMS key belongs. This field is valid only when kms_key_id is specified.
    LifecycleRules List<ObsBucketLifecycleRule>
    A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
    Loggings List<ObsBucketLogging>
    A settings of bucket logging. The logging object structure is documented below.
    MultiAz 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.
    ObsBucketId string
    The name of the bucket.
    ParallelFs 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.
    StorageClass 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 ObsBucketWebsite
    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.
    CorsRules []ObsBucketCorsRuleArgs
    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.
    ForceDestroy 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.
    KmsKeyId string
    Specifies the ID of a KMS key. If omitted, the default master key will be used.
    KmsKeyProjectId string
    Specifies the project ID to which the KMS key belongs. This field is valid only when kms_key_id is specified.
    LifecycleRules []ObsBucketLifecycleRuleArgs
    A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
    Loggings []ObsBucketLoggingArgs
    A settings of bucket logging. The logging object structure is documented below.
    MultiAz 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.
    ObsBucketId string
    The name of the bucket.
    ParallelFs 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.
    StorageClass 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 ObsBucketWebsiteArgs
    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.
    corsRules List<ObsBucketCorsRule>
    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.
    forceDestroy 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.
    kmsKeyId String
    Specifies the ID of a KMS key. If omitted, the default master key will be used.
    kmsKeyProjectId String
    Specifies the project ID to which the KMS key belongs. This field is valid only when kms_key_id is specified.
    lifecycleRules List<ObsBucketLifecycleRule>
    A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
    loggings List<ObsBucketLogging>
    A settings of bucket logging. The logging object structure is documented below.
    multiAz 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.
    obsBucketId String
    The name of the bucket.
    parallelFs 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.
    storageClass 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 ObsBucketWebsite
    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.
    corsRules ObsBucketCorsRule[]
    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.
    forceDestroy 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.
    kmsKeyId string
    Specifies the ID of a KMS key. If omitted, the default master key will be used.
    kmsKeyProjectId string
    Specifies the project ID to which the KMS key belongs. This field is valid only when kms_key_id is specified.
    lifecycleRules ObsBucketLifecycleRule[]
    A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
    loggings ObsBucketLogging[]
    A settings of bucket logging. The logging object structure is documented below.
    multiAz 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.
    obsBucketId string
    The name of the bucket.
    parallelFs 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.
    storageClass 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 ObsBucketWebsite
    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[ObsBucketCorsRuleArgs]
    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_id str
    Specifies the ID of a KMS key. If omitted, the default master key will be used.
    kms_key_project_id str
    Specifies the project ID to which the KMS key belongs. This field is valid only when kms_key_id is specified.
    lifecycle_rules Sequence[ObsBucketLifecycleRuleArgs]
    A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
    loggings Sequence[ObsBucketLoggingArgs]
    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_id str
    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 ObsBucketWebsiteArgs
    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.
    corsRules 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.
    forceDestroy 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.
    kmsKeyId String
    Specifies the ID of a KMS key. If omitted, the default master key will be used.
    kmsKeyProjectId String
    Specifies the project ID to which the KMS key belongs. This field is valid only when kms_key_id is specified.
    lifecycleRules 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.
    multiAz 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.
    obsBucketId String
    The name of the bucket.
    parallelFs 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.
    storageClass 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:

    BucketDomainName string
    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.
    BucketDomainName string
    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.
    bucketDomainName String
    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.
    bucketDomainName string
    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_name str
    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.
    bucketDomainName String
    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.
    The following state arguments are supported:
    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.
    BucketDomainName string
    The bucket domain name. Will be of format bucketname.oss.region.prod-cloud-ocb.orange-business.com.
    CorsRules List<ObsBucketCorsRule>
    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.
    ForceDestroy 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.
    KmsKeyId string
    Specifies the ID of a KMS key. If omitted, the default master key will be used.
    KmsKeyProjectId string
    Specifies the project ID to which the KMS key belongs. This field is valid only when kms_key_id is specified.
    LifecycleRules List<ObsBucketLifecycleRule>
    A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
    Loggings List<ObsBucketLogging>
    A settings of bucket logging. The logging object structure is documented below.
    MultiAz 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.
    ObsBucketId string
    The name of the bucket.
    ParallelFs 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.
    StorageClass 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 ObsBucketWebsite
    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.
    BucketDomainName string
    The bucket domain name. Will be of format bucketname.oss.region.prod-cloud-ocb.orange-business.com.
    CorsRules []ObsBucketCorsRuleArgs
    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.
    ForceDestroy 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.
    KmsKeyId string
    Specifies the ID of a KMS key. If omitted, the default master key will be used.
    KmsKeyProjectId string
    Specifies the project ID to which the KMS key belongs. This field is valid only when kms_key_id is specified.
    LifecycleRules []ObsBucketLifecycleRuleArgs
    A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
    Loggings []ObsBucketLoggingArgs
    A settings of bucket logging. The logging object structure is documented below.
    MultiAz 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.
    ObsBucketId string
    The name of the bucket.
    ParallelFs 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.
    StorageClass 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 ObsBucketWebsiteArgs
    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.
    bucketDomainName String
    The bucket domain name. Will be of format bucketname.oss.region.prod-cloud-ocb.orange-business.com.
    corsRules List<ObsBucketCorsRule>
    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.
    forceDestroy 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.
    kmsKeyId String
    Specifies the ID of a KMS key. If omitted, the default master key will be used.
    kmsKeyProjectId String
    Specifies the project ID to which the KMS key belongs. This field is valid only when kms_key_id is specified.
    lifecycleRules List<ObsBucketLifecycleRule>
    A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
    loggings List<ObsBucketLogging>
    A settings of bucket logging. The logging object structure is documented below.
    multiAz 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.
    obsBucketId String
    The name of the bucket.
    parallelFs 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.
    storageClass 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 ObsBucketWebsite
    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.
    bucketDomainName string
    The bucket domain name. Will be of format bucketname.oss.region.prod-cloud-ocb.orange-business.com.
    corsRules ObsBucketCorsRule[]
    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.
    forceDestroy 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.
    kmsKeyId string
    Specifies the ID of a KMS key. If omitted, the default master key will be used.
    kmsKeyProjectId string
    Specifies the project ID to which the KMS key belongs. This field is valid only when kms_key_id is specified.
    lifecycleRules ObsBucketLifecycleRule[]
    A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
    loggings ObsBucketLogging[]
    A settings of bucket logging. The logging object structure is documented below.
    multiAz 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.
    obsBucketId string
    The name of the bucket.
    parallelFs 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.
    storageClass 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 ObsBucketWebsite
    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_name str
    The bucket domain name. Will be of format bucketname.oss.region.prod-cloud-ocb.orange-business.com.
    cors_rules Sequence[ObsBucketCorsRuleArgs]
    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_id str
    Specifies the ID of a KMS key. If omitted, the default master key will be used.
    kms_key_project_id str
    Specifies the project ID to which the KMS key belongs. This field is valid only when kms_key_id is specified.
    lifecycle_rules Sequence[ObsBucketLifecycleRuleArgs]
    A configuration of object lifecycle management. The lifecycle_rule object structure is documented below.
    loggings Sequence[ObsBucketLoggingArgs]
    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_id str
    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 ObsBucketWebsiteArgs
    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.
    bucketDomainName String
    The bucket domain name. Will be of format bucketname.oss.region.prod-cloud-ocb.orange-business.com.
    corsRules 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.
    forceDestroy 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.
    kmsKeyId String
    Specifies the ID of a KMS key. If omitted, the default master key will be used.
    kmsKeyProjectId String
    Specifies the project ID to which the KMS key belongs. This field is valid only when kms_key_id is specified.
    lifecycleRules 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.
    multiAz 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.
    obsBucketId String
    The name of the bucket.
    parallelFs 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.
    storageClass 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

    AllowedMethods List<string>
    Specifies the acceptable operation type of buckets and objects. The methods include GET, PUT, POST, DELETE or HEAD.
    AllowedOrigins 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.
    AllowedHeaders List<string>
    Specifies the allowed header of cross-origin requests. Only CORS requests matching the allowed header are valid.
    ExposeHeaders List<string>
    Specifies the exposed header in CORS responses, providing additional information for clients.
    MaxAgeSeconds double

    Specifies the duration that your browser can cache CORS responses, expressed in seconds. The default value is 100.

    The lifecycle_rule object supports:

    AllowedMethods []string
    Specifies the acceptable operation type of buckets and objects. The methods include GET, PUT, POST, DELETE or HEAD.
    AllowedOrigins []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.
    AllowedHeaders []string
    Specifies the allowed header of cross-origin requests. Only CORS requests matching the allowed header are valid.
    ExposeHeaders []string
    Specifies the exposed header in CORS responses, providing additional information for clients.
    MaxAgeSeconds float64

    Specifies the duration that your browser can cache CORS responses, expressed in seconds. The default value is 100.

    The lifecycle_rule object supports:

    allowedMethods List<String>
    Specifies the acceptable operation type of buckets and objects. The methods include GET, PUT, POST, DELETE or HEAD.
    allowedOrigins 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.
    allowedHeaders List<String>
    Specifies the allowed header of cross-origin requests. Only CORS requests matching the allowed header are valid.
    exposeHeaders List<String>
    Specifies the exposed header in CORS responses, providing additional information for clients.
    maxAgeSeconds Double

    Specifies the duration that your browser can cache CORS responses, expressed in seconds. The default value is 100.

    The lifecycle_rule object supports:

    allowedMethods string[]
    Specifies the acceptable operation type of buckets and objects. The methods include GET, PUT, POST, DELETE or HEAD.
    allowedOrigins 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.
    allowedHeaders string[]
    Specifies the allowed header of cross-origin requests. Only CORS requests matching the allowed header are valid.
    exposeHeaders string[]
    Specifies the exposed header in CORS responses, providing additional information for clients.
    maxAgeSeconds number

    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 or HEAD.
    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_seconds float

    Specifies the duration that your browser can cache CORS responses, expressed in seconds. The default value is 100.

    The lifecycle_rule object supports:

    allowedMethods List<String>
    Specifies the acceptable operation type of buckets and objects. The methods include GET, PUT, POST, DELETE or HEAD.
    allowedOrigins 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.
    allowedHeaders List<String>
    Specifies the allowed header of cross-origin requests. Only CORS requests matching the allowed header are valid.
    exposeHeaders List<String>
    Specifies the exposed header in CORS responses, providing additional information for clients.
    maxAgeSeconds Number

    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<ObsBucketLifecycleRuleExpiration>
    Specifies a period when objects that have been last updated are automatically deleted. The expiration object structure is documented below.
    NoncurrentVersionExpirations List<ObsBucketLifecycleRuleNoncurrentVersionExpiration>
    Specifies a period when noncurrent object versions are automatically deleted. The noncurrent_version_expiration object structure is documented below.
    NoncurrentVersionTransitions List<ObsBucketLifecycleRuleNoncurrentVersionTransition>

    Specifies a period when noncurrent object versions are automatically transitioned to STANDARD_IA or GLACIER 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<ObsBucketLifecycleRuleTransition>
    Specifies a period when objects that have been last updated are automatically transitioned to STANDARD_IA or GLACIER 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 []ObsBucketLifecycleRuleExpiration
    Specifies a period when objects that have been last updated are automatically deleted. The expiration object structure is documented below.
    NoncurrentVersionExpirations []ObsBucketLifecycleRuleNoncurrentVersionExpiration
    Specifies a period when noncurrent object versions are automatically deleted. The noncurrent_version_expiration object structure is documented below.
    NoncurrentVersionTransitions []ObsBucketLifecycleRuleNoncurrentVersionTransition

    Specifies a period when noncurrent object versions are automatically transitioned to STANDARD_IA or GLACIER 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 []ObsBucketLifecycleRuleTransition
    Specifies a period when objects that have been last updated are automatically transitioned to STANDARD_IA or GLACIER 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<ObsBucketLifecycleRuleExpiration>
    Specifies a period when objects that have been last updated are automatically deleted. The expiration object structure is documented below.
    noncurrentVersionExpirations List<ObsBucketLifecycleRuleNoncurrentVersionExpiration>
    Specifies a period when noncurrent object versions are automatically deleted. The noncurrent_version_expiration object structure is documented below.
    noncurrentVersionTransitions List<ObsBucketLifecycleRuleNoncurrentVersionTransition>

    Specifies a period when noncurrent object versions are automatically transitioned to STANDARD_IA or GLACIER 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<ObsBucketLifecycleRuleTransition>
    Specifies a period when objects that have been last updated are automatically transitioned to STANDARD_IA or GLACIER 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 ObsBucketLifecycleRuleExpiration[]
    Specifies a period when objects that have been last updated are automatically deleted. The expiration object structure is documented below.
    noncurrentVersionExpirations ObsBucketLifecycleRuleNoncurrentVersionExpiration[]
    Specifies a period when noncurrent object versions are automatically deleted. The noncurrent_version_expiration object structure is documented below.
    noncurrentVersionTransitions ObsBucketLifecycleRuleNoncurrentVersionTransition[]

    Specifies a period when noncurrent object versions are automatically transitioned to STANDARD_IA or GLACIER 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 ObsBucketLifecycleRuleTransition[]
    Specifies a period when objects that have been last updated are automatically transitioned to STANDARD_IA or GLACIER 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[ObsBucketLifecycleRuleExpiration]
    Specifies a period when objects that have been last updated are automatically deleted. The expiration object structure is documented below.
    noncurrent_version_expirations Sequence[ObsBucketLifecycleRuleNoncurrentVersionExpiration]
    Specifies a period when noncurrent object versions are automatically deleted. The noncurrent_version_expiration object structure is documented below.
    noncurrent_version_transitions Sequence[ObsBucketLifecycleRuleNoncurrentVersionTransition]

    Specifies a period when noncurrent object versions are automatically transitioned to STANDARD_IA or GLACIER 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[ObsBucketLifecycleRuleTransition]
    Specifies a period when objects that have been last updated are automatically transitioned to STANDARD_IA or GLACIER 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.
    noncurrentVersionExpirations List<Property Map>
    Specifies a period when noncurrent object versions are automatically deleted. The noncurrent_version_expiration object structure is documented below.
    noncurrentVersionTransitions List<Property Map>

    Specifies a period when noncurrent object versions are automatically transitioned to STANDARD_IA or GLACIER 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 or GLACIER 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.
    StorageClass 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.
    StorageClass 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.
    storageClass 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.
    storageClass 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.
    storageClass 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.
    StorageClass 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.
    StorageClass 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.
    storageClass 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.
    storageClass 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.
    storageClass String
    The class of storage used to store the object. Only "STANDARD_IA" and "GLACIER" are supported.

    ObsBucketLogging, ObsBucketLoggingArgs

    TargetBucket 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 the KMS Administrator permission in the region where the target bucket is located.

    The website object supports:

    TargetPrefix string
    To specify a key prefix for log objects.
    TargetBucket 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 the KMS Administrator permission in the region where the target bucket is located.

    The website object supports:

    TargetPrefix string
    To specify a key prefix for log objects.
    targetBucket 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 the KMS Administrator permission in the region where the target bucket is located.

    The website object supports:

    targetPrefix String
    To specify a key prefix for log objects.
    targetBucket 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 the KMS Administrator permission in the region where the target bucket is located.

    The website object supports:

    targetPrefix 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 the KMS 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.
    targetBucket 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 the KMS Administrator permission in the region where the target bucket is located.

    The website object supports:

    targetPrefix String
    To specify a key prefix for log objects.

    ObsBucketWebsite, ObsBucketWebsiteArgs

    ErrorDocument 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.
    IndexDocument 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 as index.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).
    RedirectAllRequestsTo string
    A hostname to redirect all website requests for this bucket to. Hostname can optionally be prefixed with a protocol (http:// or https://) to use when redirecting requests. The default is the protocol that is used in the original request.
    RoutingRules string

    A JSON or XML format containing routing rules describing redirect behavior and when redirects are applied. Each rule contains a Condition and a Redirect as shown in the following table:

    Parameter | Key --- | --- Condition | KeyPrefixEquals, HttpErrorCodeReturnedEquals Redirect | Protocol, HostName, ReplaceKeyPrefixWith, ReplaceKeyWith, HttpRedirectCode

    The cors_rule object supports:

    ErrorDocument 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.
    IndexDocument 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 as index.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).
    RedirectAllRequestsTo string
    A hostname to redirect all website requests for this bucket to. Hostname can optionally be prefixed with a protocol (http:// or https://) to use when redirecting requests. The default is the protocol that is used in the original request.
    RoutingRules string

    A JSON or XML format containing routing rules describing redirect behavior and when redirects are applied. Each rule contains a Condition and a Redirect as shown in the following table:

    Parameter | Key --- | --- Condition | KeyPrefixEquals, HttpErrorCodeReturnedEquals Redirect | Protocol, HostName, ReplaceKeyPrefixWith, ReplaceKeyWith, HttpRedirectCode

    The cors_rule object supports:

    errorDocument 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.
    indexDocument 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 as index.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).
    redirectAllRequestsTo String
    A hostname to redirect all website requests for this bucket to. Hostname can optionally be prefixed with a protocol (http:// or https://) to use when redirecting requests. The default is the protocol that is used in the original request.
    routingRules String

    A JSON or XML format containing routing rules describing redirect behavior and when redirects are applied. Each rule contains a Condition and a Redirect as shown in the following table:

    Parameter | Key --- | --- Condition | KeyPrefixEquals, HttpErrorCodeReturnedEquals Redirect | Protocol, HostName, ReplaceKeyPrefixWith, ReplaceKeyWith, HttpRedirectCode

    The cors_rule object supports:

    errorDocument 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.
    indexDocument 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 as index.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).
    redirectAllRequestsTo string
    A hostname to redirect all website requests for this bucket to. Hostname can optionally be prefixed with a protocol (http:// or https://) to use when redirecting requests. The default is the protocol that is used in the original request.
    routingRules string

    A JSON or XML format containing routing rules describing redirect behavior and when redirects are applied. Each rule contains a Condition and a Redirect 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 as index.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_requests_to str
    A hostname to redirect all website requests for this bucket to. Hostname can optionally be prefixed with a protocol (http:// or https://) 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 a Redirect as shown in the following table:

    Parameter | Key --- | --- Condition | KeyPrefixEquals, HttpErrorCodeReturnedEquals Redirect | Protocol, HostName, ReplaceKeyPrefixWith, ReplaceKeyWith, HttpRedirectCode

    The cors_rule object supports:

    errorDocument 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.
    indexDocument 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 as index.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).
    redirectAllRequestsTo String
    A hostname to redirect all website requests for this bucket to. Hostname can optionally be prefixed with a protocol (http:// or https://) to use when redirecting requests. The default is the protocol that is used in the original request.
    routingRules String

    A JSON or XML format containing routing rules describing redirect behavior and when redirects are applied. Each rule contains a Condition and a Redirect 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.
    flexibleengine logo
    flexibleengine 1.46.0 published on Monday, Apr 14, 2025 by flexibleenginecloud