All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.dms.kotlin.outputs.ReplicationConfigComputeConfig.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.dms.kotlin.outputs

import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 * Configuration parameters for provisioning a AWS DMS Serverless replication
 * @property availabilityZone The Availability Zone where the AWS DMS Serverless replication using this configuration will run. The default value is a random, system-chosen Availability Zone in the configuration's AWS Region , for example, `"us-west-2"` . You can't set this parameter if the `MultiAZ` parameter is set to `true` .
 * @property dnsNameServers A list of custom DNS name servers supported for the AWS DMS Serverless replication to access your source or target database. This list overrides the default name servers supported by the AWS 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"`
 * @property kmsKeyId An AWS Key Management Service ( AWS KMS ) key Amazon Resource Name (ARN) that is used to encrypt the data during AWS DMS Serverless replication.
 * If you don't specify a value for the `KmsKeyId` parameter, AWS DMS uses your default encryption key.
 * AWS KMS creates the default encryption key for your Amazon Web Services account. Your AWS account has a different default encryption key for each AWS Region .
 * @property maxCapacityUnits Specifies the maximum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the maximum value that you can specify for AWS DMS Serverless is 384. The `MaxCapacityUnits` parameter is the only DCU parameter you are required to specify.
 * @property minCapacityUnits Specifies the minimum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the minimum DCU value that you can specify for AWS DMS Serverless is 1. If you don't set this value, AWS DMS sets this parameter to the minimum DCU value allowed, 1. If there is no current source activity, AWS DMS scales down your replication until it reaches the value specified in `MinCapacityUnits` .
 * @property multiAz Specifies whether the AWS DMS Serverless replication is a Multi-AZ deployment. You can't set the `AvailabilityZone` parameter if the `MultiAZ` parameter is set to `true` .
 * @property preferredMaintenanceWindow The weekly time range during which system maintenance can occur for the AWS 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 AWS 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.
 * @property replicationSubnetGroupId Specifies a subnet group identifier to associate with the AWS DMS Serverless replication.
 * @property vpcSecurityGroupIds Specifies the virtual private cloud (VPC) security group to use with the AWS DMS Serverless replication. The VPC security group must work with the VPC containing the replication.
 */
public data class ReplicationConfigComputeConfig(
    public val availabilityZone: String? = null,
    public val dnsNameServers: String? = null,
    public val kmsKeyId: String? = null,
    public val maxCapacityUnits: Int,
    public val minCapacityUnits: Int? = null,
    public val multiAz: Boolean? = null,
    public val preferredMaintenanceWindow: String? = null,
    public val replicationSubnetGroupId: String? = null,
    public val vpcSecurityGroupIds: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.dms.outputs.ReplicationConfigComputeConfig): ReplicationConfigComputeConfig = ReplicationConfigComputeConfig(
            availabilityZone = javaType.availabilityZone().map({ args0 -> args0 }).orElse(null),
            dnsNameServers = javaType.dnsNameServers().map({ args0 -> args0 }).orElse(null),
            kmsKeyId = javaType.kmsKeyId().map({ args0 -> args0 }).orElse(null),
            maxCapacityUnits = javaType.maxCapacityUnits(),
            minCapacityUnits = javaType.minCapacityUnits().map({ args0 -> args0 }).orElse(null),
            multiAz = javaType.multiAz().map({ args0 -> args0 }).orElse(null),
            preferredMaintenanceWindow = javaType.preferredMaintenanceWindow().map({ args0 ->
                args0
            }).orElse(null),
            replicationSubnetGroupId = javaType.replicationSubnetGroupId().map({ args0 -> args0 }).orElse(null),
            vpcSecurityGroupIds = javaType.vpcSecurityGroupIds().map({ args0 -> args0 }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy