
com.pulumi.aws.sfn.outputs.StateMachineEncryptionConfiguration 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.sfn.outputs;
import com.pulumi.core.annotations.CustomType;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class StateMachineEncryptionConfiguration {
/**
* @return Maximum duration for which Step Functions will reuse data keys. When the period expires, Step Functions will call GenerateDataKey. This setting only applies to customer managed KMS key and does not apply when `type` is `AWS_OWNED_KEY`.
*
*/
private @Nullable Integer kmsDataKeyReusePeriodSeconds;
/**
* @return The alias, alias ARN, key ID, or key ARN of the symmetric encryption KMS key that encrypts the data key. To specify a KMS key in a different AWS account, the customer must use the key ARN or alias ARN. For more information regarding kms_key_id, see [KeyId](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the KMS documentation.
*
*/
private @Nullable String kmsKeyId;
/**
* @return The encryption option specified for the state machine. Valid values: `AWS_OWNED_KEY`, `CUSTOMER_MANAGED_KMS_KEY`
*
*/
private @Nullable String type;
private StateMachineEncryptionConfiguration() {}
/**
* @return Maximum duration for which Step Functions will reuse data keys. When the period expires, Step Functions will call GenerateDataKey. This setting only applies to customer managed KMS key and does not apply when `type` is `AWS_OWNED_KEY`.
*
*/
public Optional kmsDataKeyReusePeriodSeconds() {
return Optional.ofNullable(this.kmsDataKeyReusePeriodSeconds);
}
/**
* @return The alias, alias ARN, key ID, or key ARN of the symmetric encryption KMS key that encrypts the data key. To specify a KMS key in a different AWS account, the customer must use the key ARN or alias ARN. For more information regarding kms_key_id, see [KeyId](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the KMS documentation.
*
*/
public Optional kmsKeyId() {
return Optional.ofNullable(this.kmsKeyId);
}
/**
* @return The encryption option specified for the state machine. Valid values: `AWS_OWNED_KEY`, `CUSTOMER_MANAGED_KMS_KEY`
*
*/
public Optional type() {
return Optional.ofNullable(this.type);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(StateMachineEncryptionConfiguration defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable Integer kmsDataKeyReusePeriodSeconds;
private @Nullable String kmsKeyId;
private @Nullable String type;
public Builder() {}
public Builder(StateMachineEncryptionConfiguration defaults) {
Objects.requireNonNull(defaults);
this.kmsDataKeyReusePeriodSeconds = defaults.kmsDataKeyReusePeriodSeconds;
this.kmsKeyId = defaults.kmsKeyId;
this.type = defaults.type;
}
@CustomType.Setter
public Builder kmsDataKeyReusePeriodSeconds(@Nullable Integer kmsDataKeyReusePeriodSeconds) {
this.kmsDataKeyReusePeriodSeconds = kmsDataKeyReusePeriodSeconds;
return this;
}
@CustomType.Setter
public Builder kmsKeyId(@Nullable String kmsKeyId) {
this.kmsKeyId = kmsKeyId;
return this;
}
@CustomType.Setter
public Builder type(@Nullable String type) {
this.type = type;
return this;
}
public StateMachineEncryptionConfiguration build() {
final var _resultValue = new StateMachineEncryptionConfiguration();
_resultValue.kmsDataKeyReusePeriodSeconds = kmsDataKeyReusePeriodSeconds;
_resultValue.kmsKeyId = kmsKeyId;
_resultValue.type = type;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy