/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.databasemigrationservice.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Configuration parameters for provisioning an DMS Serverless replication. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ComputeConfig implements Serializable, Cloneable, StructuredPojo { /** *
* The Availability Zone where the DMS Serverless replication using this configuration will run. The default value
* is a random, system-chosen Availability Zone in the configuration's Amazon Web Services Region, for example,
* "us-west-2"
. You can't set this parameter if the MultiAZ
parameter is set to
* true
.
*
* A list of custom DNS name servers supported for the DMS Serverless replication to access your source or target
* database. This list overrides the default name servers supported by the DMS Serverless replication. You can
* specify a comma-separated list of internet addresses for up to four DNS name servers. For example:
* "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"
*
* 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.
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has * a different default encryption key for each Amazon Web Services Region. *
*/ private String kmsKeyId; /** *
* 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. So, the maximum value that you can specify for DMS
* Serverless is 384. The MaxCapacityUnits
parameter is the only DCU parameter you are required to
* specify.
*
* Specifies the minimum 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. So, the minimum DCU value that you can specify for DMS
* Serverless is 2. You don't have to specify a value for the MinCapacityUnits
parameter. If you don't
* set this value, DMS scans the current activity of available source tables to identify an optimum setting for this
* parameter. If there is no current source activity or DMS can't otherwise identify a more appropriate value, it
* sets this parameter to the minimum DCU value allowed, 2.
*
* Specifies whether the DMS Serverless replication is a Multi-AZ deployment. You can't set the
* AvailabilityZone
parameter if the MultiAZ
parameter is set to true
.
*
* The weekly time range during which system maintenance can occur for the DMS Serverless replication, in Universal
* Coordinated Time (UTC). The format is ddd:hh24:mi-ddd:hh24:mi
.
*
* The default is a 30-minute window selected at random from an 8-hour block of time per Amazon Web Services Region.
* This maintenance occurs on a random day of the week. Valid values for days of the week include Mon
,
* Tue
, Wed
, Thu
, Fri
, Sat
, and Sun
.
*
* Constraints include a minimum 30-minute window. *
*/ private String preferredMaintenanceWindow; /** ** Specifies a subnet group identifier to associate with the DMS Serverless replication. *
*/ private String replicationSubnetGroupId; /** ** 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 java.util.List
* The Availability Zone where the DMS Serverless replication using this configuration will run. The default value
* is a random, system-chosen Availability Zone in the configuration's Amazon Web Services Region, for example,
* "us-west-2"
. You can't set this parameter if the MultiAZ
parameter is set to
* true
.
*
"us-west-2"
. You can't set this parameter if the MultiAZ
parameter is
* set to true
.
*/
public void setAvailabilityZone(String availabilityZone) {
this.availabilityZone = availabilityZone;
}
/**
*
* The Availability Zone where the DMS Serverless replication using this configuration will run. The default value
* is a random, system-chosen Availability Zone in the configuration's Amazon Web Services Region, for example,
* "us-west-2"
. You can't set this parameter if the MultiAZ
parameter is set to
* true
.
*
"us-west-2"
. You can't set this parameter if the MultiAZ
parameter is
* set to true
.
*/
public String getAvailabilityZone() {
return this.availabilityZone;
}
/**
*
* The Availability Zone where the DMS Serverless replication using this configuration will run. The default value
* is a random, system-chosen Availability Zone in the configuration's Amazon Web Services Region, for example,
* "us-west-2"
. You can't set this parameter if the MultiAZ
parameter is set to
* true
.
*
"us-west-2"
. You can't set this parameter if the MultiAZ
parameter is
* set to true
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ComputeConfig withAvailabilityZone(String availabilityZone) {
setAvailabilityZone(availabilityZone);
return this;
}
/**
*
* A list of custom DNS name servers supported for the DMS Serverless replication to access your source or target
* database. This list overrides the default name servers supported by the DMS Serverless replication. You can
* specify a comma-separated list of internet addresses for up to four DNS name servers. For example:
* "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"
*
"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"
*/
public void setDnsNameServers(String dnsNameServers) {
this.dnsNameServers = dnsNameServers;
}
/**
*
* A list of custom DNS name servers supported for the DMS Serverless replication to access your source or target
* database. This list overrides the default name servers supported by the DMS Serverless replication. You can
* specify a comma-separated list of internet addresses for up to four DNS name servers. For example:
* "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"
*
"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"
*/
public String getDnsNameServers() {
return this.dnsNameServers;
}
/**
*
* A list of custom DNS name servers supported for the DMS Serverless replication to access your source or target
* database. This list overrides the default name servers supported by the DMS Serverless replication. You can
* specify a comma-separated list of internet addresses for up to four DNS name servers. For example:
* "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"
*
"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ComputeConfig withDnsNameServers(String dnsNameServers) {
setDnsNameServers(dnsNameServers);
return this;
}
/**
* * 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.
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has * a different default encryption key for each Amazon Web Services Region. *
* * @param kmsKeyId * 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.
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services * account has a different default encryption key for each Amazon Web Services Region. */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** *
* 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.
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has * a different default encryption key for each Amazon Web Services Region. *
* * @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.
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services * account has a different default encryption key for each Amazon Web Services Region. */ public String getKmsKeyId() { return this.kmsKeyId; } /** *
* 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.
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has * a different default encryption key for each Amazon Web Services Region. *
* * @param kmsKeyId * 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.
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services * account has a different default encryption key for each Amazon Web Services Region. * @return Returns a reference to this object so that method calls can be chained together. */ public ComputeConfig withKmsKeyId(String kmsKeyId) { setKmsKeyId(kmsKeyId); return this; } /** *
* 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. So, the maximum value that you can specify for DMS
* Serverless is 384. The MaxCapacityUnits
parameter is the only DCU parameter you are required to
* specify.
*
MaxCapacityUnits
parameter is the only DCU parameter
* you are required to specify.
*/
public void setMaxCapacityUnits(Integer maxCapacityUnits) {
this.maxCapacityUnits = maxCapacityUnits;
}
/**
*
* 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. So, the maximum value that you can specify for DMS
* Serverless is 384. The MaxCapacityUnits
parameter is the only DCU parameter you are required to
* specify.
*
MaxCapacityUnits
parameter is the only DCU parameter
* you are required to specify.
*/
public Integer getMaxCapacityUnits() {
return this.maxCapacityUnits;
}
/**
*
* 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. So, the maximum value that you can specify for DMS
* Serverless is 384. The MaxCapacityUnits
parameter is the only DCU parameter you are required to
* specify.
*
MaxCapacityUnits
parameter is the only DCU parameter
* you are required to specify.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ComputeConfig withMaxCapacityUnits(Integer maxCapacityUnits) {
setMaxCapacityUnits(maxCapacityUnits);
return this;
}
/**
*
* Specifies the minimum 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. So, the minimum DCU value that you can specify for DMS
* Serverless is 2. You don't have to specify a value for the MinCapacityUnits
parameter. If you don't
* set this value, DMS scans the current activity of available source tables to identify an optimum setting for this
* parameter. If there is no current source activity or DMS can't otherwise identify a more appropriate value, it
* sets this parameter to the minimum DCU value allowed, 2.
*
MinCapacityUnits
parameter. If you don't set this value, DMS scans the current activity of
* available source tables to identify an optimum setting for this parameter. If there is no current source
* activity or DMS can't otherwise identify a more appropriate value, it sets this parameter to the minimum
* DCU value allowed, 2.
*/
public void setMinCapacityUnits(Integer minCapacityUnits) {
this.minCapacityUnits = minCapacityUnits;
}
/**
*
* Specifies the minimum 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. So, the minimum DCU value that you can specify for DMS
* Serverless is 2. You don't have to specify a value for the MinCapacityUnits
parameter. If you don't
* set this value, DMS scans the current activity of available source tables to identify an optimum setting for this
* parameter. If there is no current source activity or DMS can't otherwise identify a more appropriate value, it
* sets this parameter to the minimum DCU value allowed, 2.
*
MinCapacityUnits
parameter. If you don't set this value, DMS scans the current activity of
* available source tables to identify an optimum setting for this parameter. If there is no current source
* activity or DMS can't otherwise identify a more appropriate value, it sets this parameter to the minimum
* DCU value allowed, 2.
*/
public Integer getMinCapacityUnits() {
return this.minCapacityUnits;
}
/**
*
* Specifies the minimum 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. So, the minimum DCU value that you can specify for DMS
* Serverless is 2. You don't have to specify a value for the MinCapacityUnits
parameter. If you don't
* set this value, DMS scans the current activity of available source tables to identify an optimum setting for this
* parameter. If there is no current source activity or DMS can't otherwise identify a more appropriate value, it
* sets this parameter to the minimum DCU value allowed, 2.
*
MinCapacityUnits
parameter. If you don't set this value, DMS scans the current activity of
* available source tables to identify an optimum setting for this parameter. If there is no current source
* activity or DMS can't otherwise identify a more appropriate value, it sets this parameter to the minimum
* DCU value allowed, 2.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ComputeConfig withMinCapacityUnits(Integer minCapacityUnits) {
setMinCapacityUnits(minCapacityUnits);
return this;
}
/**
*
* Specifies whether the DMS Serverless replication is a Multi-AZ deployment. You can't set the
* AvailabilityZone
parameter if the MultiAZ
parameter is set to true
.
*
AvailabilityZone
parameter if the MultiAZ
parameter is set to true
.
*/
public void setMultiAZ(Boolean multiAZ) {
this.multiAZ = multiAZ;
}
/**
*
* Specifies whether the DMS Serverless replication is a Multi-AZ deployment. You can't set the
* AvailabilityZone
parameter if the MultiAZ
parameter is set to true
.
*
AvailabilityZone
parameter if the MultiAZ
parameter is set to true
* .
*/
public Boolean getMultiAZ() {
return this.multiAZ;
}
/**
*
* Specifies whether the DMS Serverless replication is a Multi-AZ deployment. You can't set the
* AvailabilityZone
parameter if the MultiAZ
parameter is set to true
.
*
AvailabilityZone
parameter if the MultiAZ
parameter is set to true
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ComputeConfig withMultiAZ(Boolean multiAZ) {
setMultiAZ(multiAZ);
return this;
}
/**
*
* Specifies whether the DMS Serverless replication is a Multi-AZ deployment. You can't set the
* AvailabilityZone
parameter if the MultiAZ
parameter is set to true
.
*
AvailabilityZone
parameter if the MultiAZ
parameter is set to true
* .
*/
public Boolean isMultiAZ() {
return this.multiAZ;
}
/**
*
* The weekly time range during which system maintenance can occur for the DMS Serverless replication, in Universal
* Coordinated Time (UTC). The format is ddd:hh24:mi-ddd:hh24:mi
.
*
* The default is a 30-minute window selected at random from an 8-hour block of time per Amazon Web Services Region.
* This maintenance occurs on a random day of the week. Valid values for days of the week include Mon
,
* Tue
, Wed
, Thu
, Fri
, Sat
, and Sun
.
*
* Constraints include a minimum 30-minute window. *
* * @param preferredMaintenanceWindow * The weekly time range during which system maintenance can occur for the DMS Serverless replication, in * Universal Coordinated Time (UTC). The format isddd:hh24:mi-ddd:hh24:mi
.
*
* The default is a 30-minute window selected at random from an 8-hour block of time per Amazon Web Services
* Region. This maintenance occurs on a random day of the week. Valid values for days of the week include
* Mon
, Tue
, Wed
, Thu
, Fri
, Sat
* , and Sun
.
*
* Constraints include a minimum 30-minute window. */ public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = preferredMaintenanceWindow; } /** *
* The weekly time range during which system maintenance can occur for the DMS Serverless replication, in Universal
* Coordinated Time (UTC). The format is ddd:hh24:mi-ddd:hh24:mi
.
*
* The default is a 30-minute window selected at random from an 8-hour block of time per Amazon Web Services Region.
* This maintenance occurs on a random day of the week. Valid values for days of the week include Mon
,
* Tue
, Wed
, Thu
, Fri
, Sat
, and Sun
.
*
* Constraints include a minimum 30-minute window. *
* * @return The weekly time range during which system maintenance can occur for the DMS Serverless replication, in * Universal Coordinated Time (UTC). The format isddd:hh24:mi-ddd:hh24:mi
.
*
* The default is a 30-minute window selected at random from an 8-hour block of time per Amazon Web Services
* Region. This maintenance occurs on a random day of the week. Valid values for days of the week include
* Mon
, Tue
, Wed
, Thu
, Fri
,
* Sat
, and Sun
.
*
* Constraints include a minimum 30-minute window. */ public String getPreferredMaintenanceWindow() { return this.preferredMaintenanceWindow; } /** *
* The weekly time range during which system maintenance can occur for the DMS Serverless replication, in Universal
* Coordinated Time (UTC). The format is ddd:hh24:mi-ddd:hh24:mi
.
*
* The default is a 30-minute window selected at random from an 8-hour block of time per Amazon Web Services Region.
* This maintenance occurs on a random day of the week. Valid values for days of the week include Mon
,
* Tue
, Wed
, Thu
, Fri
, Sat
, and Sun
.
*
* Constraints include a minimum 30-minute window. *
* * @param preferredMaintenanceWindow * The weekly time range during which system maintenance can occur for the DMS Serverless replication, in * Universal Coordinated Time (UTC). The format isddd:hh24:mi-ddd:hh24:mi
.
*
* The default is a 30-minute window selected at random from an 8-hour block of time per Amazon Web Services
* Region. This maintenance occurs on a random day of the week. Valid values for days of the week include
* Mon
, Tue
, Wed
, Thu
, Fri
, Sat
* , and Sun
.
*
* Constraints include a minimum 30-minute window. * @return Returns a reference to this object so that method calls can be chained together. */ public ComputeConfig withPreferredMaintenanceWindow(String preferredMaintenanceWindow) { setPreferredMaintenanceWindow(preferredMaintenanceWindow); return this; } /** *
* Specifies a subnet group identifier to associate with the DMS Serverless replication. *
* * @param replicationSubnetGroupId * Specifies a subnet group identifier to associate with the DMS Serverless replication. */ public void setReplicationSubnetGroupId(String replicationSubnetGroupId) { this.replicationSubnetGroupId = replicationSubnetGroupId; } /** ** Specifies a subnet group identifier to associate with the DMS Serverless replication. *
* * @return Specifies a subnet group identifier to associate with the DMS Serverless replication. */ public String getReplicationSubnetGroupId() { return this.replicationSubnetGroupId; } /** ** Specifies a subnet group identifier to associate with the DMS Serverless replication. *
* * @param replicationSubnetGroupId * Specifies a subnet group identifier to associate with the DMS Serverless replication. * @return Returns a reference to this object so that method calls can be chained together. */ public ComputeConfig withReplicationSubnetGroupId(String replicationSubnetGroupId) { setReplicationSubnetGroupId(replicationSubnetGroupId); return this; } /** ** 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. *
* * @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 java.util.List* 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. *
* * @param vpcSecurityGroupIds * 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 void setVpcSecurityGroupIds(java.util.Collection* 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. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setVpcSecurityGroupIds(java.util.Collection)} or {@link #withVpcSecurityGroupIds(java.util.Collection)} * if you want to override the existing values. *
* * @param vpcSecurityGroupIds * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ComputeConfig withVpcSecurityGroupIds(String... vpcSecurityGroupIds) { if (this.vpcSecurityGroupIds == null) { setVpcSecurityGroupIds(new java.util.ArrayList* 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. *
* * @param vpcSecurityGroupIds * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ComputeConfig withVpcSecurityGroupIds(java.util.Collection