com.pulumi.aws.dms.outputs.ReplicationConfigComputeConfig 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.
The newest version!
// *** 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.dms.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class ReplicationConfigComputeConfig {
/**
* @return The Availability Zone where the DMS Serverless replication using this configuration will run. The default value is a random.
*
*/
private @Nullable String availabilityZone;
/**
* @return A list of custom DNS name servers supported for the DMS Serverless replication to access your source or target database.
*
*/
private @Nullable String dnsNameServers;
/**
* @return An Key Management Service (KMS) key Amazon Resource Name (ARN) that is used to encrypt the data during DMS Serverless replication. If you don't specify a value for the KmsKeyId parameter, DMS uses your default encryption key.
*
*/
private @Nullable String kmsKeyId;
/**
* @return Specifies the maximum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 2 DCUs as the minimum value allowed. The list of valid DCU values includes 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384.
*
*/
private @Nullable Integer maxCapacityUnits;
/**
* @return Specifies the minimum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. The list of valid DCU values includes 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. If this value isn't set DMS scans the current activity of available source tables to identify an optimum setting for this parameter.
*
*/
private @Nullable Integer minCapacityUnits;
/**
* @return Specifies if the replication instance is a multi-az deployment. You cannot set the `availability_zone` parameter if the `multi_az` parameter is set to `true`.
*
*/
private @Nullable Boolean multiAz;
/**
* @return The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
*
* - Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week.
* - Format: `ddd:hh24:mi-ddd:hh24:mi`
* - Valid Days: `mon, tue, wed, thu, fri, sat, sun`
* - Constraints: Minimum 30-minute window.
*
*/
private @Nullable String preferredMaintenanceWindow;
/**
* @return Specifies a subnet group identifier to associate with the DMS Serverless replication.
*
*/
private String replicationSubnetGroupId;
/**
* @return Specifies the virtual private cloud (VPC) security group to use with the DMS Serverless replication. The VPC security group must work with the VPC containing the replication.
*
*/
private @Nullable List vpcSecurityGroupIds;
private ReplicationConfigComputeConfig() {}
/**
* @return The Availability Zone where the DMS Serverless replication using this configuration will run. The default value is a random.
*
*/
public Optional availabilityZone() {
return Optional.ofNullable(this.availabilityZone);
}
/**
* @return A list of custom DNS name servers supported for the DMS Serverless replication to access your source or target database.
*
*/
public Optional dnsNameServers() {
return Optional.ofNullable(this.dnsNameServers);
}
/**
* @return An Key Management Service (KMS) key Amazon Resource Name (ARN) that is used to encrypt the data during DMS Serverless replication. If you don't specify a value for the KmsKeyId parameter, DMS uses your default encryption key.
*
*/
public Optional kmsKeyId() {
return Optional.ofNullable(this.kmsKeyId);
}
/**
* @return Specifies the maximum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 2 DCUs as the minimum value allowed. The list of valid DCU values includes 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384.
*
*/
public Optional maxCapacityUnits() {
return Optional.ofNullable(this.maxCapacityUnits);
}
/**
* @return Specifies the minimum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. The list of valid DCU values includes 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. If this value isn't set DMS scans the current activity of available source tables to identify an optimum setting for this parameter.
*
*/
public Optional minCapacityUnits() {
return Optional.ofNullable(this.minCapacityUnits);
}
/**
* @return Specifies if the replication instance is a multi-az deployment. You cannot set the `availability_zone` parameter if the `multi_az` parameter is set to `true`.
*
*/
public Optional multiAz() {
return Optional.ofNullable(this.multiAz);
}
/**
* @return The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
*
* - Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week.
* - Format: `ddd:hh24:mi-ddd:hh24:mi`
* - Valid Days: `mon, tue, wed, thu, fri, sat, sun`
* - Constraints: Minimum 30-minute window.
*
*/
public Optional preferredMaintenanceWindow() {
return Optional.ofNullable(this.preferredMaintenanceWindow);
}
/**
* @return Specifies a subnet group identifier to associate with the DMS Serverless replication.
*
*/
public String replicationSubnetGroupId() {
return this.replicationSubnetGroupId;
}
/**
* @return Specifies the virtual private cloud (VPC) security group to use with the DMS Serverless replication. The VPC security group must work with the VPC containing the replication.
*
*/
public List vpcSecurityGroupIds() {
return this.vpcSecurityGroupIds == null ? List.of() : this.vpcSecurityGroupIds;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ReplicationConfigComputeConfig defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable String availabilityZone;
private @Nullable String dnsNameServers;
private @Nullable String kmsKeyId;
private @Nullable Integer maxCapacityUnits;
private @Nullable Integer minCapacityUnits;
private @Nullable Boolean multiAz;
private @Nullable String preferredMaintenanceWindow;
private String replicationSubnetGroupId;
private @Nullable List vpcSecurityGroupIds;
public Builder() {}
public Builder(ReplicationConfigComputeConfig defaults) {
Objects.requireNonNull(defaults);
this.availabilityZone = defaults.availabilityZone;
this.dnsNameServers = defaults.dnsNameServers;
this.kmsKeyId = defaults.kmsKeyId;
this.maxCapacityUnits = defaults.maxCapacityUnits;
this.minCapacityUnits = defaults.minCapacityUnits;
this.multiAz = defaults.multiAz;
this.preferredMaintenanceWindow = defaults.preferredMaintenanceWindow;
this.replicationSubnetGroupId = defaults.replicationSubnetGroupId;
this.vpcSecurityGroupIds = defaults.vpcSecurityGroupIds;
}
@CustomType.Setter
public Builder availabilityZone(@Nullable String availabilityZone) {
this.availabilityZone = availabilityZone;
return this;
}
@CustomType.Setter
public Builder dnsNameServers(@Nullable String dnsNameServers) {
this.dnsNameServers = dnsNameServers;
return this;
}
@CustomType.Setter
public Builder kmsKeyId(@Nullable String kmsKeyId) {
this.kmsKeyId = kmsKeyId;
return this;
}
@CustomType.Setter
public Builder maxCapacityUnits(@Nullable Integer maxCapacityUnits) {
this.maxCapacityUnits = maxCapacityUnits;
return this;
}
@CustomType.Setter
public Builder minCapacityUnits(@Nullable Integer minCapacityUnits) {
this.minCapacityUnits = minCapacityUnits;
return this;
}
@CustomType.Setter
public Builder multiAz(@Nullable Boolean multiAz) {
this.multiAz = multiAz;
return this;
}
@CustomType.Setter
public Builder preferredMaintenanceWindow(@Nullable String preferredMaintenanceWindow) {
this.preferredMaintenanceWindow = preferredMaintenanceWindow;
return this;
}
@CustomType.Setter
public Builder replicationSubnetGroupId(String replicationSubnetGroupId) {
if (replicationSubnetGroupId == null) {
throw new MissingRequiredPropertyException("ReplicationConfigComputeConfig", "replicationSubnetGroupId");
}
this.replicationSubnetGroupId = replicationSubnetGroupId;
return this;
}
@CustomType.Setter
public Builder vpcSecurityGroupIds(@Nullable List vpcSecurityGroupIds) {
this.vpcSecurityGroupIds = vpcSecurityGroupIds;
return this;
}
public Builder vpcSecurityGroupIds(String... vpcSecurityGroupIds) {
return vpcSecurityGroupIds(List.of(vpcSecurityGroupIds));
}
public ReplicationConfigComputeConfig build() {
final var _resultValue = new ReplicationConfigComputeConfig();
_resultValue.availabilityZone = availabilityZone;
_resultValue.dnsNameServers = dnsNameServers;
_resultValue.kmsKeyId = kmsKeyId;
_resultValue.maxCapacityUnits = maxCapacityUnits;
_resultValue.minCapacityUnits = minCapacityUnits;
_resultValue.multiAz = multiAz;
_resultValue.preferredMaintenanceWindow = preferredMaintenanceWindow;
_resultValue.replicationSubnetGroupId = replicationSubnetGroupId;
_resultValue.vpcSecurityGroupIds = vpcSecurityGroupIds;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy