com.pulumi.gcp.storage.kotlin.Bucket.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.storage.kotlin
import com.pulumi.core.Output
import com.pulumi.gcp.storage.kotlin.outputs.BucketAutoclass
import com.pulumi.gcp.storage.kotlin.outputs.BucketCor
import com.pulumi.gcp.storage.kotlin.outputs.BucketCustomPlacementConfig
import com.pulumi.gcp.storage.kotlin.outputs.BucketEncryption
import com.pulumi.gcp.storage.kotlin.outputs.BucketLifecycleRule
import com.pulumi.gcp.storage.kotlin.outputs.BucketLogging
import com.pulumi.gcp.storage.kotlin.outputs.BucketRetentionPolicy
import com.pulumi.gcp.storage.kotlin.outputs.BucketSoftDeletePolicy
import com.pulumi.gcp.storage.kotlin.outputs.BucketVersioning
import com.pulumi.gcp.storage.kotlin.outputs.BucketWebsite
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import com.pulumi.gcp.storage.kotlin.outputs.BucketAutoclass.Companion.toKotlin as bucketAutoclassToKotlin
import com.pulumi.gcp.storage.kotlin.outputs.BucketCor.Companion.toKotlin as bucketCorToKotlin
import com.pulumi.gcp.storage.kotlin.outputs.BucketCustomPlacementConfig.Companion.toKotlin as bucketCustomPlacementConfigToKotlin
import com.pulumi.gcp.storage.kotlin.outputs.BucketEncryption.Companion.toKotlin as bucketEncryptionToKotlin
import com.pulumi.gcp.storage.kotlin.outputs.BucketLifecycleRule.Companion.toKotlin as bucketLifecycleRuleToKotlin
import com.pulumi.gcp.storage.kotlin.outputs.BucketLogging.Companion.toKotlin as bucketLoggingToKotlin
import com.pulumi.gcp.storage.kotlin.outputs.BucketRetentionPolicy.Companion.toKotlin as bucketRetentionPolicyToKotlin
import com.pulumi.gcp.storage.kotlin.outputs.BucketSoftDeletePolicy.Companion.toKotlin as bucketSoftDeletePolicyToKotlin
import com.pulumi.gcp.storage.kotlin.outputs.BucketVersioning.Companion.toKotlin as bucketVersioningToKotlin
import com.pulumi.gcp.storage.kotlin.outputs.BucketWebsite.Companion.toKotlin as bucketWebsiteToKotlin
/**
* Builder for [Bucket].
*/
@PulumiTagMarker
public class BucketResourceBuilder internal constructor() {
public var name: String? = null
public var args: BucketArgs = BucketArgs()
public var opts: CustomResourceOptions = CustomResourceOptions()
/**
* @param name The _unique_ name of the resulting resource.
*/
public fun name(`value`: String) {
this.name = value
}
/**
* @param block The arguments to use to populate this resource's properties.
*/
public suspend fun args(block: suspend BucketArgsBuilder.() -> Unit) {
val builder = BucketArgsBuilder()
block(builder)
this.args = builder.build()
}
/**
* @param block A bag of options that control this resource's behavior.
*/
public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
}
internal fun build(): Bucket {
val builtJavaResource = com.pulumi.gcp.storage.Bucket(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return Bucket(builtJavaResource)
}
}
/**
* Creates a new bucket in Google cloud storage service (GCS).
* Once a bucket has been created, its location can't be changed.
* For more information see
* [the official documentation](https://cloud.google.com/storage/docs/overview)
* and
* [API](https://cloud.google.com/storage/docs/json_api/v1/buckets).
* **Note**: If the project id is not set on the resource or in the provider block it will be dynamically
* determined which will require enabling the compute api.
* ## Example Usage
* ### Creating A Private Bucket In Standard Storage, In The EU Region. Bucket Configured As Static Website And CORS Configurations
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
* const static_site = new gcp.storage.Bucket("static-site", {
* name: "image-store.com",
* location: "EU",
* forceDestroy: true,
* uniformBucketLevelAccess: true,
* website: {
* mainPageSuffix: "index.html",
* notFoundPage: "404.html",
* },
* cors: [{
* origins: ["http://image-store.com"],
* methods: [
* "GET",
* "HEAD",
* "PUT",
* "POST",
* "DELETE",
* ],
* responseHeaders: ["*"],
* maxAgeSeconds: 3600,
* }],
* });
* ```
* ```python
* import pulumi
* import pulumi_gcp as gcp
* static_site = gcp.storage.Bucket("static-site",
* name="image-store.com",
* location="EU",
* force_destroy=True,
* uniform_bucket_level_access=True,
* website=gcp.storage.BucketWebsiteArgs(
* main_page_suffix="index.html",
* not_found_page="404.html",
* ),
* cors=[gcp.storage.BucketCorArgs(
* origins=["http://image-store.com"],
* methods=[
* "GET",
* "HEAD",
* "PUT",
* "POST",
* "DELETE",
* ],
* response_headers=["*"],
* max_age_seconds=3600,
* )])
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Gcp = Pulumi.Gcp;
* return await Deployment.RunAsync(() =>
* {
* var static_site = new Gcp.Storage.Bucket("static-site", new()
* {
* Name = "image-store.com",
* Location = "EU",
* ForceDestroy = true,
* UniformBucketLevelAccess = true,
* Website = new Gcp.Storage.Inputs.BucketWebsiteArgs
* {
* MainPageSuffix = "index.html",
* NotFoundPage = "404.html",
* },
* Cors = new[]
* {
* new Gcp.Storage.Inputs.BucketCorArgs
* {
* Origins = new[]
* {
* "http://image-store.com",
* },
* Methods = new[]
* {
* "GET",
* "HEAD",
* "PUT",
* "POST",
* "DELETE",
* },
* ResponseHeaders = new[]
* {
* "*",
* },
* MaxAgeSeconds = 3600,
* },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/storage"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := storage.NewBucket(ctx, "static-site", &storage.BucketArgs{
* Name: pulumi.String("image-store.com"),
* Location: pulumi.String("EU"),
* ForceDestroy: pulumi.Bool(true),
* UniformBucketLevelAccess: pulumi.Bool(true),
* Website: &storage.BucketWebsiteArgs{
* MainPageSuffix: pulumi.String("index.html"),
* NotFoundPage: pulumi.String("404.html"),
* },
* Cors: storage.BucketCorArray{
* &storage.BucketCorArgs{
* Origins: pulumi.StringArray{
* pulumi.String("http://image-store.com"),
* },
* Methods: pulumi.StringArray{
* pulumi.String("GET"),
* pulumi.String("HEAD"),
* pulumi.String("PUT"),
* pulumi.String("POST"),
* pulumi.String("DELETE"),
* },
* ResponseHeaders: pulumi.StringArray{
* pulumi.String("*"),
* },
* MaxAgeSeconds: pulumi.Int(3600),
* },
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.gcp.storage.Bucket;
* import com.pulumi.gcp.storage.BucketArgs;
* import com.pulumi.gcp.storage.inputs.BucketWebsiteArgs;
* import com.pulumi.gcp.storage.inputs.BucketCorArgs;
* 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 static_site = new Bucket("static-site", BucketArgs.builder()
* .name("image-store.com")
* .location("EU")
* .forceDestroy(true)
* .uniformBucketLevelAccess(true)
* .website(BucketWebsiteArgs.builder()
* .mainPageSuffix("index.html")
* .notFoundPage("404.html")
* .build())
* .cors(BucketCorArgs.builder()
* .origins("http://image-store.com")
* .methods(
* "GET",
* "HEAD",
* "PUT",
* "POST",
* "DELETE")
* .responseHeaders("*")
* .maxAgeSeconds(3600)
* .build())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* static-site:
* type: gcp:storage:Bucket
* properties:
* name: image-store.com
* location: EU
* forceDestroy: true
* uniformBucketLevelAccess: true
* website:
* mainPageSuffix: index.html
* notFoundPage: 404.html
* cors:
* - origins:
* - http://image-store.com
* methods:
* - GET
* - HEAD
* - PUT
* - POST
* - DELETE
* responseHeaders:
* - '*'
* maxAgeSeconds: 3600
* ```
*
* ### Life Cycle Settings For Storage Bucket Objects
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
* const auto_expire = new gcp.storage.Bucket("auto-expire", {
* name: "auto-expiring-bucket",
* location: "US",
* forceDestroy: true,
* lifecycleRules: [
* {
* condition: {
* age: 3,
* },
* action: {
* type: "Delete",
* },
* },
* {
* condition: {
* age: 1,
* },
* action: {
* type: "AbortIncompleteMultipartUpload",
* },
* },
* ],
* });
* ```
* ```python
* import pulumi
* import pulumi_gcp as gcp
* auto_expire = gcp.storage.Bucket("auto-expire",
* name="auto-expiring-bucket",
* location="US",
* force_destroy=True,
* lifecycle_rules=[
* gcp.storage.BucketLifecycleRuleArgs(
* condition=gcp.storage.BucketLifecycleRuleConditionArgs(
* age=3,
* ),
* action=gcp.storage.BucketLifecycleRuleActionArgs(
* type="Delete",
* ),
* ),
* gcp.storage.BucketLifecycleRuleArgs(
* condition=gcp.storage.BucketLifecycleRuleConditionArgs(
* age=1,
* ),
* action=gcp.storage.BucketLifecycleRuleActionArgs(
* type="AbortIncompleteMultipartUpload",
* ),
* ),
* ])
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Gcp = Pulumi.Gcp;
* return await Deployment.RunAsync(() =>
* {
* var auto_expire = new Gcp.Storage.Bucket("auto-expire", new()
* {
* Name = "auto-expiring-bucket",
* Location = "US",
* ForceDestroy = true,
* LifecycleRules = new[]
* {
* new Gcp.Storage.Inputs.BucketLifecycleRuleArgs
* {
* Condition = new Gcp.Storage.Inputs.BucketLifecycleRuleConditionArgs
* {
* Age = 3,
* },
* Action = new Gcp.Storage.Inputs.BucketLifecycleRuleActionArgs
* {
* Type = "Delete",
* },
* },
* new Gcp.Storage.Inputs.BucketLifecycleRuleArgs
* {
* Condition = new Gcp.Storage.Inputs.BucketLifecycleRuleConditionArgs
* {
* Age = 1,
* },
* Action = new Gcp.Storage.Inputs.BucketLifecycleRuleActionArgs
* {
* Type = "AbortIncompleteMultipartUpload",
* },
* },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/storage"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := storage.NewBucket(ctx, "auto-expire", &storage.BucketArgs{
* Name: pulumi.String("auto-expiring-bucket"),
* Location: pulumi.String("US"),
* ForceDestroy: pulumi.Bool(true),
* LifecycleRules: storage.BucketLifecycleRuleArray{
* &storage.BucketLifecycleRuleArgs{
* Condition: &storage.BucketLifecycleRuleConditionArgs{
* Age: pulumi.Int(3),
* },
* Action: &storage.BucketLifecycleRuleActionArgs{
* Type: pulumi.String("Delete"),
* },
* },
* &storage.BucketLifecycleRuleArgs{
* Condition: &storage.BucketLifecycleRuleConditionArgs{
* Age: pulumi.Int(1),
* },
* Action: &storage.BucketLifecycleRuleActionArgs{
* Type: pulumi.String("AbortIncompleteMultipartUpload"),
* },
* },
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.gcp.storage.Bucket;
* import com.pulumi.gcp.storage.BucketArgs;
* import com.pulumi.gcp.storage.inputs.BucketLifecycleRuleArgs;
* import com.pulumi.gcp.storage.inputs.BucketLifecycleRuleConditionArgs;
* import com.pulumi.gcp.storage.inputs.BucketLifecycleRuleActionArgs;
* 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 auto_expire = new Bucket("auto-expire", BucketArgs.builder()
* .name("auto-expiring-bucket")
* .location("US")
* .forceDestroy(true)
* .lifecycleRules(
* BucketLifecycleRuleArgs.builder()
* .condition(BucketLifecycleRuleConditionArgs.builder()
* .age(3)
* .build())
* .action(BucketLifecycleRuleActionArgs.builder()
* .type("Delete")
* .build())
* .build(),
* BucketLifecycleRuleArgs.builder()
* .condition(BucketLifecycleRuleConditionArgs.builder()
* .age(1)
* .build())
* .action(BucketLifecycleRuleActionArgs.builder()
* .type("AbortIncompleteMultipartUpload")
* .build())
* .build())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* auto-expire:
* type: gcp:storage:Bucket
* properties:
* name: auto-expiring-bucket
* location: US
* forceDestroy: true
* lifecycleRules:
* - condition:
* age: 3
* action:
* type: Delete
* - condition:
* age: 1
* action:
* type: AbortIncompleteMultipartUpload
* ```
*
* ### Life Cycle Settings For Storage Bucket Objects With `No_age` Enabled
* When creating a life cycle condition that does not also include an `age` field, a default `age` of 0 will be set. Set the `no_age` flag to `true` to prevent this and avoid any potentially unintended interactions.
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
* const no_age_enabled = new gcp.storage.Bucket("no-age-enabled", {
* name: "no-age-enabled-bucket",
* location: "US",
* forceDestroy: true,
* lifecycleRules: [{
* action: {
* type: "Delete",
* },
* condition: {
* daysSinceNoncurrentTime: 3,
* noAge: true,
* },
* }],
* });
* ```
* ```python
* import pulumi
* import pulumi_gcp as gcp
* no_age_enabled = gcp.storage.Bucket("no-age-enabled",
* name="no-age-enabled-bucket",
* location="US",
* force_destroy=True,
* lifecycle_rules=[gcp.storage.BucketLifecycleRuleArgs(
* action=gcp.storage.BucketLifecycleRuleActionArgs(
* type="Delete",
* ),
* condition=gcp.storage.BucketLifecycleRuleConditionArgs(
* days_since_noncurrent_time=3,
* no_age=True,
* ),
* )])
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Gcp = Pulumi.Gcp;
* return await Deployment.RunAsync(() =>
* {
* var no_age_enabled = new Gcp.Storage.Bucket("no-age-enabled", new()
* {
* Name = "no-age-enabled-bucket",
* Location = "US",
* ForceDestroy = true,
* LifecycleRules = new[]
* {
* new Gcp.Storage.Inputs.BucketLifecycleRuleArgs
* {
* Action = new Gcp.Storage.Inputs.BucketLifecycleRuleActionArgs
* {
* Type = "Delete",
* },
* Condition = new Gcp.Storage.Inputs.BucketLifecycleRuleConditionArgs
* {
* DaysSinceNoncurrentTime = 3,
* NoAge = true,
* },
* },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/storage"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := storage.NewBucket(ctx, "no-age-enabled", &storage.BucketArgs{
* Name: pulumi.String("no-age-enabled-bucket"),
* Location: pulumi.String("US"),
* ForceDestroy: pulumi.Bool(true),
* LifecycleRules: storage.BucketLifecycleRuleArray{
* &storage.BucketLifecycleRuleArgs{
* Action: &storage.BucketLifecycleRuleActionArgs{
* Type: pulumi.String("Delete"),
* },
* Condition: &storage.BucketLifecycleRuleConditionArgs{
* DaysSinceNoncurrentTime: pulumi.Int(3),
* NoAge: pulumi.Bool(true),
* },
* },
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.gcp.storage.Bucket;
* import com.pulumi.gcp.storage.BucketArgs;
* import com.pulumi.gcp.storage.inputs.BucketLifecycleRuleArgs;
* import com.pulumi.gcp.storage.inputs.BucketLifecycleRuleActionArgs;
* import com.pulumi.gcp.storage.inputs.BucketLifecycleRuleConditionArgs;
* 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 no_age_enabled = new Bucket("no-age-enabled", BucketArgs.builder()
* .name("no-age-enabled-bucket")
* .location("US")
* .forceDestroy(true)
* .lifecycleRules(BucketLifecycleRuleArgs.builder()
* .action(BucketLifecycleRuleActionArgs.builder()
* .type("Delete")
* .build())
* .condition(BucketLifecycleRuleConditionArgs.builder()
* .daysSinceNoncurrentTime(3)
* .noAge(true)
* .build())
* .build())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* no-age-enabled:
* type: gcp:storage:Bucket
* properties:
* name: no-age-enabled-bucket
* location: US
* forceDestroy: true
* lifecycleRules:
* - action:
* type: Delete
* condition:
* daysSinceNoncurrentTime: 3
* noAge: true
* ```
*
* ### Enabling Public Access Prevention
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
* const auto_expire = new gcp.storage.Bucket("auto-expire", {
* name: "no-public-access-bucket",
* location: "US",
* forceDestroy: true,
* publicAccessPrevention: "enforced",
* });
* ```
* ```python
* import pulumi
* import pulumi_gcp as gcp
* auto_expire = gcp.storage.Bucket("auto-expire",
* name="no-public-access-bucket",
* location="US",
* force_destroy=True,
* public_access_prevention="enforced")
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Gcp = Pulumi.Gcp;
* return await Deployment.RunAsync(() =>
* {
* var auto_expire = new Gcp.Storage.Bucket("auto-expire", new()
* {
* Name = "no-public-access-bucket",
* Location = "US",
* ForceDestroy = true,
* PublicAccessPrevention = "enforced",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/storage"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := storage.NewBucket(ctx, "auto-expire", &storage.BucketArgs{
* Name: pulumi.String("no-public-access-bucket"),
* Location: pulumi.String("US"),
* ForceDestroy: pulumi.Bool(true),
* PublicAccessPrevention: pulumi.String("enforced"),
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.gcp.storage.Bucket;
* import com.pulumi.gcp.storage.BucketArgs;
* 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 auto_expire = new Bucket("auto-expire", BucketArgs.builder()
* .name("no-public-access-bucket")
* .location("US")
* .forceDestroy(true)
* .publicAccessPrevention("enforced")
* .build());
* }
* }
* ```
* ```yaml
* resources:
* auto-expire:
* type: gcp:storage:Bucket
* properties:
* name: no-public-access-bucket
* location: US
* forceDestroy: true
* publicAccessPrevention: enforced
* ```
*
* ## Import
* Storage buckets can be imported using the `name` or `project/name`. If the project is not
* passed to the import command it will be inferred from the provider block or environment variables.
* If it cannot be inferred it will be queried from the Compute API (this will fail if the API is
* not enabled).
* * `{{project_id}}/{{bucket}}`
* * `{{bucket}}`
* When using the `pulumi import` command, Storage buckets can be imported using one of the formats above. For example:
* ```sh
* $ pulumi import gcp:storage/bucket:Bucket default {{bucket}}
* ```
* ```sh
* $ pulumi import gcp:storage/bucket:Bucket default {{project_id}}/{{bucket}}
* ```
* `false` in state. If you've set it to `true` in config, run `pulumi up` to
* update the value set in state. If you delete this resource before updating the
* value, objects in the bucket will not be destroyed.
*/
public class Bucket internal constructor(
override val javaResource: com.pulumi.gcp.storage.Bucket,
) : KotlinCustomResource(javaResource, BucketMapper) {
/**
* The bucket's [Autoclass](https://cloud.google.com/storage/docs/autoclass) configuration. Structure is documented below.
*/
public val autoclass: Output?
get() = javaResource.autoclass().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
bucketAutoclassToKotlin(args0)
})
}).orElse(null)
})
/**
* The bucket's [Cross-Origin Resource Sharing (CORS)](https://www.w3.org/TR/cors/) configuration. Multiple blocks of this type are permitted. Structure is documented below.
*/
public val cors: Output>?
get() = javaResource.cors().applyValue({ args0 ->
args0.map({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> bucketCorToKotlin(args0) })
})
}).orElse(null)
})
/**
* The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
*/
public val customPlacementConfig: Output?
get() = javaResource.customPlacementConfig().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> bucketCustomPlacementConfigToKotlin(args0) })
}).orElse(null)
})
/**
* Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
*/
public val defaultEventBasedHold: Output?
get() = javaResource.defaultEventBasedHold().applyValue({ args0 ->
args0.map({ args0 ->
args0
}).orElse(null)
})
public val effectiveLabels: Output
© 2015 - 2024 Weber Informatics LLC | Privacy Policy