com.pulumi.aws.codebuild.outputs.ReportGroupExportConfigS3Destination Maven / Gradle / Ivy
// *** 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.codebuild.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class ReportGroupExportConfigS3Destination {
/**
* @return The name of the S3 bucket where the raw data of a report are exported.
*
*/
private String bucket;
/**
* @return A boolean value that specifies if the results of a report are encrypted.
* **Note: the API does not currently allow setting encryption as disabled**
*
*/
private @Nullable Boolean encryptionDisabled;
/**
* @return The encryption key for the report's encrypted raw data. The KMS key ARN.
*
*/
private String encryptionKey;
/**
* @return The type of build output artifact to create. Valid values are: `NONE` (default) and `ZIP`.
*
*/
private @Nullable String packaging;
/**
* @return The path to the exported report's raw data results.
*
*/
private @Nullable String path;
private ReportGroupExportConfigS3Destination() {}
/**
* @return The name of the S3 bucket where the raw data of a report are exported.
*
*/
public String bucket() {
return this.bucket;
}
/**
* @return A boolean value that specifies if the results of a report are encrypted.
* **Note: the API does not currently allow setting encryption as disabled**
*
*/
public Optional encryptionDisabled() {
return Optional.ofNullable(this.encryptionDisabled);
}
/**
* @return The encryption key for the report's encrypted raw data. The KMS key ARN.
*
*/
public String encryptionKey() {
return this.encryptionKey;
}
/**
* @return The type of build output artifact to create. Valid values are: `NONE` (default) and `ZIP`.
*
*/
public Optional packaging() {
return Optional.ofNullable(this.packaging);
}
/**
* @return The path to the exported report's raw data results.
*
*/
public Optional path() {
return Optional.ofNullable(this.path);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ReportGroupExportConfigS3Destination defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private String bucket;
private @Nullable Boolean encryptionDisabled;
private String encryptionKey;
private @Nullable String packaging;
private @Nullable String path;
public Builder() {}
public Builder(ReportGroupExportConfigS3Destination defaults) {
Objects.requireNonNull(defaults);
this.bucket = defaults.bucket;
this.encryptionDisabled = defaults.encryptionDisabled;
this.encryptionKey = defaults.encryptionKey;
this.packaging = defaults.packaging;
this.path = defaults.path;
}
@CustomType.Setter
public Builder bucket(String bucket) {
if (bucket == null) {
throw new MissingRequiredPropertyException("ReportGroupExportConfigS3Destination", "bucket");
}
this.bucket = bucket;
return this;
}
@CustomType.Setter
public Builder encryptionDisabled(@Nullable Boolean encryptionDisabled) {
this.encryptionDisabled = encryptionDisabled;
return this;
}
@CustomType.Setter
public Builder encryptionKey(String encryptionKey) {
if (encryptionKey == null) {
throw new MissingRequiredPropertyException("ReportGroupExportConfigS3Destination", "encryptionKey");
}
this.encryptionKey = encryptionKey;
return this;
}
@CustomType.Setter
public Builder packaging(@Nullable String packaging) {
this.packaging = packaging;
return this;
}
@CustomType.Setter
public Builder path(@Nullable String path) {
this.path = path;
return this;
}
public ReportGroupExportConfigS3Destination build() {
final var _resultValue = new ReportGroupExportConfigS3Destination();
_resultValue.bucket = bucket;
_resultValue.encryptionDisabled = encryptionDisabled;
_resultValue.encryptionKey = encryptionKey;
_resultValue.packaging = packaging;
_resultValue.path = path;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy