com.pulumi.aws.s3.outputs.BucketV2ServerSideEncryptionConfigurationRule Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws Show documentation
Show all versions of aws Show documentation
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.s3.outputs;
import com.pulumi.aws.s3.outputs.BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class BucketV2ServerSideEncryptionConfigurationRule {
/**
* @return Single object for setting server-side encryption by default. (documented below)
*
*/
private List applyServerSideEncryptionByDefaults;
/**
* @return Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.
*
*/
private @Nullable Boolean bucketKeyEnabled;
private BucketV2ServerSideEncryptionConfigurationRule() {}
/**
* @return Single object for setting server-side encryption by default. (documented below)
*
*/
public List applyServerSideEncryptionByDefaults() {
return this.applyServerSideEncryptionByDefaults;
}
/**
* @return Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.
*
*/
public Optional bucketKeyEnabled() {
return Optional.ofNullable(this.bucketKeyEnabled);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(BucketV2ServerSideEncryptionConfigurationRule defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private List applyServerSideEncryptionByDefaults;
private @Nullable Boolean bucketKeyEnabled;
public Builder() {}
public Builder(BucketV2ServerSideEncryptionConfigurationRule defaults) {
Objects.requireNonNull(defaults);
this.applyServerSideEncryptionByDefaults = defaults.applyServerSideEncryptionByDefaults;
this.bucketKeyEnabled = defaults.bucketKeyEnabled;
}
@CustomType.Setter
public Builder applyServerSideEncryptionByDefaults(List applyServerSideEncryptionByDefaults) {
if (applyServerSideEncryptionByDefaults == null) {
throw new MissingRequiredPropertyException("BucketV2ServerSideEncryptionConfigurationRule", "applyServerSideEncryptionByDefaults");
}
this.applyServerSideEncryptionByDefaults = applyServerSideEncryptionByDefaults;
return this;
}
public Builder applyServerSideEncryptionByDefaults(BucketV2ServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault... applyServerSideEncryptionByDefaults) {
return applyServerSideEncryptionByDefaults(List.of(applyServerSideEncryptionByDefaults));
}
@CustomType.Setter
public Builder bucketKeyEnabled(@Nullable Boolean bucketKeyEnabled) {
this.bucketKeyEnabled = bucketKeyEnabled;
return this;
}
public BucketV2ServerSideEncryptionConfigurationRule build() {
final var _resultValue = new BucketV2ServerSideEncryptionConfigurationRule();
_resultValue.applyServerSideEncryptionByDefaults = applyServerSideEncryptionByDefaults;
_resultValue.bucketKeyEnabled = bucketKeyEnabled;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy