AWS SDK

AWS SDK

rev. 2493670155f3f484f4055f00c7816463c1a2ced2..ac5e22252d1e170d05dd8b11ceb2a7a284cd7f2e

Files changed:

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/ClientVpnEndpoint.kt

@@ -1,1 +41,42 @@
    2      2   
    3      3   
package aws.sdk.kotlin.services.ec2.model
    4      4   
    5      5   
import aws.smithy.kotlin.runtime.SdkDsl
    6      6   
    7      7   
private val awsSdkKotlinServicesEc2ModelClientConnectResponseOptionsDslBuilderRef = aws.sdk.kotlin.services.ec2.model.ClientConnectResponseOptions
    8      8   
private val awsSdkKotlinServicesEc2ModelClientLoginBannerResponseOptionsDslBuilderRef = aws.sdk.kotlin.services.ec2.model.ClientLoginBannerResponseOptions
    9      9   
private val awsSdkKotlinServicesEc2ModelClientRouteEnforcementResponseOptionsDslBuilderRef = aws.sdk.kotlin.services.ec2.model.ClientRouteEnforcementResponseOptions
   10     10   
private val awsSdkKotlinServicesEc2ModelConnectionLogResponseOptionsDslBuilderRef = aws.sdk.kotlin.services.ec2.model.ConnectionLogResponseOptions
   11     11   
private val awsSdkKotlinServicesEc2ModelClientVpnEndpointStatusDslBuilderRef = aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatus
          12  +
private val awsSdkKotlinServicesEc2ModelTransitGatewayConfigurationDescribeEndpointStructureDslBuilderRef = aws.sdk.kotlin.services.ec2.model.TransitGatewayConfigurationDescribeEndpointStructure
   12     13   
   13     14   
/**
   14     15   
 * Describes a Client VPN endpoint.
   15     16   
 */
   16     17   
public class ClientVpnEndpoint private constructor(builder: Builder) {
   17     18   
    /**
   18     19   
     * Information about the associated target networks. A target network is a subnet in a VPC.
   19     20   
     */
   20     21   
    @Deprecated("This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element.")
   21     22   
    public val associatedTargetNetworks: List<AssociatedTargetNetwork>? = builder.associatedTargetNetworks
@@ -88,89 +260,268 @@
  108    109   
     */
  109    110   
    public val status: aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatus? = builder.status
  110    111   
    /**
  111    112   
     * Any tags assigned to the Client VPN endpoint.
  112    113   
     */
  113    114   
    public val tags: List<Tag>? = builder.tags
  114    115   
    /**
  115    116   
     * The IP address type of the Client VPN endpoint. Possible values are either `ipv4` for IPv4 addressing only, `ipv6` for IPv6 addressing only, or `dual-stack` for both IPv4 and IPv6 addressing.
  116    117   
     */
  117    118   
    public val trafficIpAddressType: aws.sdk.kotlin.services.ec2.model.TrafficIpAddressType? = builder.trafficIpAddressType
         119  +
    /**
         120  +
     * The Transit Gateway configuration for the Client VPN endpoint.
         121  +
     */
         122  +
    public val transitGatewayConfiguration: aws.sdk.kotlin.services.ec2.model.TransitGatewayConfigurationDescribeEndpointStructure? = builder.transitGatewayConfiguration
  118    123   
    /**
  119    124   
     * The transport protocol used by the Client VPN endpoint.
  120    125   
     */
  121    126   
    public val transportProtocol: aws.sdk.kotlin.services.ec2.model.TransportProtocol? = builder.transportProtocol
  122    127   
    /**
  123    128   
     * The ID of the VPC.
  124    129   
     */
  125    130   
    public val vpcId: kotlin.String? = builder.vpcId
  126    131   
    /**
  127    132   
     * The port number for the Client VPN endpoint.
  128    133   
     */
  129    134   
    public val vpnPort: kotlin.Int? = builder.vpnPort
  130    135   
    /**
  131    136   
     * The protocol used by the VPN session.
  132    137   
     */
  133    138   
    public val vpnProtocol: aws.sdk.kotlin.services.ec2.model.VpnProtocol? = builder.vpnProtocol
  134    139   
  135    140   
    public companion object {
  136    141   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.ClientVpnEndpoint = Builder().apply(block).build()
  137    142   
    }
  138    143   
  139    144   
    override fun toString(): kotlin.String = buildString {
  140    145   
        append("ClientVpnEndpoint(")
  141    146   
        append("associatedTargetNetworks=$associatedTargetNetworks,")
  142    147   
        append("authenticationOptions=$authenticationOptions,")
  143    148   
        append("clientCidrBlock=$clientCidrBlock,")
  144    149   
        append("clientConnectOptions=$clientConnectOptions,")
  145    150   
        append("clientLoginBannerOptions=$clientLoginBannerOptions,")
  146    151   
        append("clientRouteEnforcementOptions=$clientRouteEnforcementOptions,")
  147    152   
        append("clientVpnEndpointId=$clientVpnEndpointId,")
  148    153   
        append("connectionLogOptions=$connectionLogOptions,")
  149    154   
        append("creationTime=$creationTime,")
  150    155   
        append("deletionTime=$deletionTime,")
  151    156   
        append("description=$description,")
  152    157   
        append("disconnectOnSessionTimeout=$disconnectOnSessionTimeout,")
  153    158   
        append("dnsName=$dnsName,")
  154    159   
        append("dnsServers=$dnsServers,")
  155    160   
        append("endpointIpAddressType=$endpointIpAddressType,")
  156    161   
        append("securityGroupIds=$securityGroupIds,")
  157    162   
        append("selfServicePortalUrl=$selfServicePortalUrl,")
  158    163   
        append("serverCertificateArn=$serverCertificateArn,")
  159    164   
        append("sessionTimeoutHours=$sessionTimeoutHours,")
  160    165   
        append("splitTunnel=$splitTunnel,")
  161    166   
        append("status=$status,")
  162    167   
        append("tags=$tags,")
  163    168   
        append("trafficIpAddressType=$trafficIpAddressType,")
         169  +
        append("transitGatewayConfiguration=$transitGatewayConfiguration,")
  164    170   
        append("transportProtocol=$transportProtocol,")
  165    171   
        append("vpcId=$vpcId,")
  166    172   
        append("vpnPort=$vpnPort,")
  167    173   
        append("vpnProtocol=$vpnProtocol")
  168    174   
        append(")")
  169    175   
    }
  170    176   
  171    177   
    override fun hashCode(): kotlin.Int {
  172    178   
        var result = associatedTargetNetworks?.hashCode() ?: 0
  173    179   
        result = 31 * result + (this.authenticationOptions?.hashCode() ?: 0)
  174    180   
        result = 31 * result + (this.clientCidrBlock?.hashCode() ?: 0)
  175    181   
        result = 31 * result + (this.clientConnectOptions?.hashCode() ?: 0)
  176    182   
        result = 31 * result + (this.clientLoginBannerOptions?.hashCode() ?: 0)
  177    183   
        result = 31 * result + (this.clientRouteEnforcementOptions?.hashCode() ?: 0)
  178    184   
        result = 31 * result + (this.clientVpnEndpointId?.hashCode() ?: 0)
  179    185   
        result = 31 * result + (this.connectionLogOptions?.hashCode() ?: 0)
  180    186   
        result = 31 * result + (this.creationTime?.hashCode() ?: 0)
  181    187   
        result = 31 * result + (this.deletionTime?.hashCode() ?: 0)
  182    188   
        result = 31 * result + (this.description?.hashCode() ?: 0)
  183    189   
        result = 31 * result + (this.disconnectOnSessionTimeout?.hashCode() ?: 0)
  184    190   
        result = 31 * result + (this.dnsName?.hashCode() ?: 0)
  185    191   
        result = 31 * result + (this.dnsServers?.hashCode() ?: 0)
  186    192   
        result = 31 * result + (this.endpointIpAddressType?.hashCode() ?: 0)
  187    193   
        result = 31 * result + (this.securityGroupIds?.hashCode() ?: 0)
  188    194   
        result = 31 * result + (this.selfServicePortalUrl?.hashCode() ?: 0)
  189    195   
        result = 31 * result + (this.serverCertificateArn?.hashCode() ?: 0)
  190    196   
        result = 31 * result + (this.sessionTimeoutHours ?: 0)
  191    197   
        result = 31 * result + (this.splitTunnel?.hashCode() ?: 0)
  192    198   
        result = 31 * result + (this.status?.hashCode() ?: 0)
  193    199   
        result = 31 * result + (this.tags?.hashCode() ?: 0)
  194    200   
        result = 31 * result + (this.trafficIpAddressType?.hashCode() ?: 0)
         201  +
        result = 31 * result + (this.transitGatewayConfiguration?.hashCode() ?: 0)
  195    202   
        result = 31 * result + (this.transportProtocol?.hashCode() ?: 0)
  196    203   
        result = 31 * result + (this.vpcId?.hashCode() ?: 0)
  197    204   
        result = 31 * result + (this.vpnPort ?: 0)
  198    205   
        result = 31 * result + (this.vpnProtocol?.hashCode() ?: 0)
  199    206   
        return result
  200    207   
    }
  201    208   
  202    209   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
  203    210   
        if (this === other) return true
  204    211   
        if (other == null || this::class != other::class) return false
  205    212   
  206    213   
        other as ClientVpnEndpoint
  207    214   
  208    215   
        if (associatedTargetNetworks != other.associatedTargetNetworks) return false
  209    216   
        if (authenticationOptions != other.authenticationOptions) return false
  210    217   
        if (clientCidrBlock != other.clientCidrBlock) return false
  211    218   
        if (clientConnectOptions != other.clientConnectOptions) return false
  212    219   
        if (clientLoginBannerOptions != other.clientLoginBannerOptions) return false
  213    220   
        if (clientRouteEnforcementOptions != other.clientRouteEnforcementOptions) return false
  214    221   
        if (clientVpnEndpointId != other.clientVpnEndpointId) return false
  215    222   
        if (connectionLogOptions != other.connectionLogOptions) return false
  216    223   
        if (creationTime != other.creationTime) return false
  217    224   
        if (deletionTime != other.deletionTime) return false
  218    225   
        if (description != other.description) return false
  219    226   
        if (disconnectOnSessionTimeout != other.disconnectOnSessionTimeout) return false
  220    227   
        if (dnsName != other.dnsName) return false
  221    228   
        if (dnsServers != other.dnsServers) return false
  222    229   
        if (endpointIpAddressType != other.endpointIpAddressType) return false
  223    230   
        if (securityGroupIds != other.securityGroupIds) return false
  224    231   
        if (selfServicePortalUrl != other.selfServicePortalUrl) return false
  225    232   
        if (serverCertificateArn != other.serverCertificateArn) return false
  226    233   
        if (sessionTimeoutHours != other.sessionTimeoutHours) return false
  227    234   
        if (splitTunnel != other.splitTunnel) return false
  228    235   
        if (status != other.status) return false
  229    236   
        if (tags != other.tags) return false
  230    237   
        if (trafficIpAddressType != other.trafficIpAddressType) return false
         238  +
        if (transitGatewayConfiguration != other.transitGatewayConfiguration) return false
  231    239   
        if (transportProtocol != other.transportProtocol) return false
  232    240   
        if (vpcId != other.vpcId) return false
  233    241   
        if (vpnPort != other.vpnPort) return false
  234    242   
        if (vpnProtocol != other.vpnProtocol) return false
  235    243   
  236    244   
        return true
  237    245   
    }
  238    246   
  239    247   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.ClientVpnEndpoint = Builder(this).apply(block).build()
  240    248   
@@ -314,322 +436,456 @@
  334    342   
         */
  335    343   
        public var status: aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatus? = null
  336    344   
        /**
  337    345   
         * Any tags assigned to the Client VPN endpoint.
  338    346   
         */
  339    347   
        public var tags: List<Tag>? = null
  340    348   
        /**
  341    349   
         * The IP address type of the Client VPN endpoint. Possible values are either `ipv4` for IPv4 addressing only, `ipv6` for IPv6 addressing only, or `dual-stack` for both IPv4 and IPv6 addressing.
  342    350   
         */
  343    351   
        public var trafficIpAddressType: aws.sdk.kotlin.services.ec2.model.TrafficIpAddressType? = null
         352  +
        /**
         353  +
         * The Transit Gateway configuration for the Client VPN endpoint.
         354  +
         */
         355  +
        public var transitGatewayConfiguration: aws.sdk.kotlin.services.ec2.model.TransitGatewayConfigurationDescribeEndpointStructure? = null
  344    356   
        /**
  345    357   
         * The transport protocol used by the Client VPN endpoint.
  346    358   
         */
  347    359   
        public var transportProtocol: aws.sdk.kotlin.services.ec2.model.TransportProtocol? = null
  348    360   
        /**
  349    361   
         * The ID of the VPC.
  350    362   
         */
  351    363   
        public var vpcId: kotlin.String? = null
  352    364   
        /**
  353    365   
         * The port number for the Client VPN endpoint.
  354    366   
         */
  355    367   
        public var vpnPort: kotlin.Int? = null
  356    368   
        /**
  357    369   
         * The protocol used by the VPN session.
  358    370   
         */
  359    371   
        public var vpnProtocol: aws.sdk.kotlin.services.ec2.model.VpnProtocol? = null
  360    372   
  361    373   
        @PublishedApi
  362    374   
        internal constructor()
  363    375   
        @PublishedApi
  364    376   
        internal constructor(x: aws.sdk.kotlin.services.ec2.model.ClientVpnEndpoint) : this() {
  365    377   
            this.associatedTargetNetworks = x.associatedTargetNetworks
  366    378   
            this.authenticationOptions = x.authenticationOptions
  367    379   
            this.clientCidrBlock = x.clientCidrBlock
  368    380   
            this.clientConnectOptions = x.clientConnectOptions
  369    381   
            this.clientLoginBannerOptions = x.clientLoginBannerOptions
  370    382   
            this.clientRouteEnforcementOptions = x.clientRouteEnforcementOptions
  371    383   
            this.clientVpnEndpointId = x.clientVpnEndpointId
  372    384   
            this.connectionLogOptions = x.connectionLogOptions
  373    385   
            this.creationTime = x.creationTime
  374    386   
            this.deletionTime = x.deletionTime
  375    387   
            this.description = x.description
  376    388   
            this.disconnectOnSessionTimeout = x.disconnectOnSessionTimeout
  377    389   
            this.dnsName = x.dnsName
  378    390   
            this.dnsServers = x.dnsServers
  379    391   
            this.endpointIpAddressType = x.endpointIpAddressType
  380    392   
            this.securityGroupIds = x.securityGroupIds
  381    393   
            this.selfServicePortalUrl = x.selfServicePortalUrl
  382    394   
            this.serverCertificateArn = x.serverCertificateArn
  383    395   
            this.sessionTimeoutHours = x.sessionTimeoutHours
  384    396   
            this.splitTunnel = x.splitTunnel
  385    397   
            this.status = x.status
  386    398   
            this.tags = x.tags
  387    399   
            this.trafficIpAddressType = x.trafficIpAddressType
         400  +
            this.transitGatewayConfiguration = x.transitGatewayConfiguration
  388    401   
            this.transportProtocol = x.transportProtocol
  389    402   
            this.vpcId = x.vpcId
  390    403   
            this.vpnPort = x.vpnPort
  391    404   
            this.vpnProtocol = x.vpnProtocol
  392    405   
        }
  393    406   
  394    407   
        @PublishedApi
  395    408   
        internal fun build(): aws.sdk.kotlin.services.ec2.model.ClientVpnEndpoint = ClientVpnEndpoint(this)
  396    409   
  397    410   
        /**
  398    411   
         * construct an [aws.sdk.kotlin.services.ec2.model.ClientConnectResponseOptions] inside the given [block]
  399    412   
         */
  400    413   
        public fun clientConnectOptions(block: aws.sdk.kotlin.services.ec2.model.ClientConnectResponseOptions.Builder.() -> kotlin.Unit) {
  401    414   
            this.clientConnectOptions = awsSdkKotlinServicesEc2ModelClientConnectResponseOptionsDslBuilderRef(block)
  402    415   
        }
  403    416   
  404    417   
        /**
  405    418   
         * construct an [aws.sdk.kotlin.services.ec2.model.ClientLoginBannerResponseOptions] inside the given [block]
  406    419   
         */
  407    420   
        public fun clientLoginBannerOptions(block: aws.sdk.kotlin.services.ec2.model.ClientLoginBannerResponseOptions.Builder.() -> kotlin.Unit) {
  408    421   
            this.clientLoginBannerOptions = awsSdkKotlinServicesEc2ModelClientLoginBannerResponseOptionsDslBuilderRef(block)
  409    422   
        }
  410    423   
  411    424   
        /**
  412    425   
         * construct an [aws.sdk.kotlin.services.ec2.model.ClientRouteEnforcementResponseOptions] inside the given [block]
  413    426   
         */
  414    427   
        public fun clientRouteEnforcementOptions(block: aws.sdk.kotlin.services.ec2.model.ClientRouteEnforcementResponseOptions.Builder.() -> kotlin.Unit) {
  415    428   
            this.clientRouteEnforcementOptions = awsSdkKotlinServicesEc2ModelClientRouteEnforcementResponseOptionsDslBuilderRef(block)
  416    429   
        }
  417    430   
  418    431   
        /**
  419    432   
         * construct an [aws.sdk.kotlin.services.ec2.model.ConnectionLogResponseOptions] inside the given [block]
  420    433   
         */
  421    434   
        public fun connectionLogOptions(block: aws.sdk.kotlin.services.ec2.model.ConnectionLogResponseOptions.Builder.() -> kotlin.Unit) {
  422    435   
            this.connectionLogOptions = awsSdkKotlinServicesEc2ModelConnectionLogResponseOptionsDslBuilderRef(block)
  423    436   
        }
  424    437   
  425    438   
        /**
  426    439   
         * construct an [aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatus] inside the given [block]
  427    440   
         */
  428    441   
        public fun status(block: aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatus.Builder.() -> kotlin.Unit) {
  429    442   
            this.status = awsSdkKotlinServicesEc2ModelClientVpnEndpointStatusDslBuilderRef(block)
  430    443   
        }
  431    444   
         445  +
        /**
         446  +
         * construct an [aws.sdk.kotlin.services.ec2.model.TransitGatewayConfigurationDescribeEndpointStructure] inside the given [block]
         447  +
         */
         448  +
        public fun transitGatewayConfiguration(block: aws.sdk.kotlin.services.ec2.model.TransitGatewayConfigurationDescribeEndpointStructure.Builder.() -> kotlin.Unit) {
         449  +
            this.transitGatewayConfiguration = awsSdkKotlinServicesEc2ModelTransitGatewayConfigurationDescribeEndpointStructureDslBuilderRef(block)
         450  +
        }
         451  +
  432    452   
        internal fun correctErrors(): Builder {
  433    453   
            return this
  434    454   
        }
  435    455   
    }
  436    456   
}

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/ClientVpnEndpointAttributeStatusCode.kt

@@ -9,9 +44,44 @@
   29     29   
            "applied" -> Applied
   30     30   
            "applying" -> Applying
   31     31   
            else -> SdkUnknown(value)
   32     32   
        }
   33     33   
   34     34   
        /**
   35     35   
         * Get a list of all possible variants
   36     36   
         */
   37     37   
        public fun values(): kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointAttributeStatusCode> = values
   38     38   
   39         -
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointAttributeStatusCode> = listOf(
          39  +
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointAttributeStatusCode> by lazy { listOf(
   40     40   
            Applied,
   41     41   
            Applying,
   42         -
        )
          42  +
        ) }
   43     43   
    }
   44     44   
}

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/ClientVpnEndpointStatus.kt

@@ -1,1 +86,88 @@
    8      8   
/**
    9      9   
 * Describes the state of a Client VPN endpoint.
   10     10   
 */
   11     11   
public class ClientVpnEndpointStatus private constructor(builder: Builder) {
   12     12   
    /**
   13     13   
     * The state of the Client VPN endpoint. Possible states include:
   14     14   
     * + `pending-associate` - The Client VPN endpoint has been created but no target networks have been associated. The Client VPN endpoint cannot accept connections.
   15     15   
     * + `available` - The Client VPN endpoint has been created and a target network has been associated. The Client VPN endpoint can accept connections.
   16     16   
     * + `deleting` - The Client VPN endpoint is being deleted. The Client VPN endpoint cannot accept connections.
   17     17   
     * + `deleted` - The Client VPN endpoint has been deleted. The Client VPN endpoint cannot accept connections.
          18  +
     * + `pending` - The Client VPN endpoint has been created with a Transit Gateway configuration and is waiting for the Transit Gateway attachment to be accepted. The Client VPN endpoint cannot accept connections.
   18     19   
     */
   19     20   
    public val code: aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatusCode? = builder.code
   20     21   
    /**
   21     22   
     * A message about the status of the Client VPN endpoint.
   22     23   
     */
   23     24   
    public val message: kotlin.String? = builder.message
   24     25   
   25     26   
    public companion object {
   26     27   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatus = Builder().apply(block).build()
   27     28   
    }
   28     29   
   29     30   
    override fun toString(): kotlin.String = buildString {
   30     31   
        append("ClientVpnEndpointStatus(")
   31     32   
        append("code=$code,")
   32     33   
        append("message=$message")
   33     34   
        append(")")
   34     35   
    }
   35     36   
   36     37   
    override fun hashCode(): kotlin.Int {
   37     38   
        var result = code?.hashCode() ?: 0
   38     39   
        result = 31 * result + (this.message?.hashCode() ?: 0)
   39     40   
        return result
   40     41   
    }
   41     42   
   42     43   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   43     44   
        if (this === other) return true
   44     45   
        if (other == null || this::class != other::class) return false
   45     46   
   46     47   
        other as ClientVpnEndpointStatus
   47     48   
   48     49   
        if (code != other.code) return false
   49     50   
        if (message != other.message) return false
   50     51   
   51     52   
        return true
   52     53   
    }
   53     54   
   54     55   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatus = Builder(this).apply(block).build()
   55     56   
   56     57   
    @SdkDsl
   57     58   
    public class Builder {
   58     59   
        /**
   59     60   
         * The state of the Client VPN endpoint. Possible states include:
   60     61   
         * + `pending-associate` - The Client VPN endpoint has been created but no target networks have been associated. The Client VPN endpoint cannot accept connections.
   61     62   
         * + `available` - The Client VPN endpoint has been created and a target network has been associated. The Client VPN endpoint can accept connections.
   62     63   
         * + `deleting` - The Client VPN endpoint is being deleted. The Client VPN endpoint cannot accept connections.
   63     64   
         * + `deleted` - The Client VPN endpoint has been deleted. The Client VPN endpoint cannot accept connections.
          65  +
         * + `pending` - The Client VPN endpoint has been created with a Transit Gateway configuration and is waiting for the Transit Gateway attachment to be accepted. The Client VPN endpoint cannot accept connections.
   64     66   
         */
   65     67   
        public var code: aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatusCode? = null
   66     68   
        /**
   67     69   
         * A message about the status of the Client VPN endpoint.
   68     70   
         */
   69     71   
        public var message: kotlin.String? = null
   70     72   
   71     73   
        @PublishedApi
   72     74   
        internal constructor()
   73     75   
        @PublishedApi

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/ClientVpnEndpointStatusCode.kt

@@ -1,1 +58,65 @@
   15     15   
    public object Deleted : aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatusCode() {
   16     16   
        override val value: kotlin.String = "deleted"
   17     17   
        override fun toString(): kotlin.String = "Deleted"
   18     18   
    }
   19     19   
   20     20   
    public object Deleting : aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatusCode() {
   21     21   
        override val value: kotlin.String = "deleting"
   22     22   
        override fun toString(): kotlin.String = "Deleting"
   23     23   
    }
   24     24   
          25  +
    public object Pending : aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatusCode() {
          26  +
        override val value: kotlin.String = "pending"
          27  +
        override fun toString(): kotlin.String = "Pending"
          28  +
    }
          29  +
   25     30   
    public object PendingAssociate : aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatusCode() {
   26     31   
        override val value: kotlin.String = "pending-associate"
   27     32   
        override fun toString(): kotlin.String = "PendingAssociate"
   28     33   
    }
   29     34   
   30     35   
    public data class SdkUnknown(override val value: kotlin.String) : aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatusCode() {
   31     36   
        override fun toString(): kotlin.String = "SdkUnknown($value)"
   32     37   
    }
   33     38   
   34     39   
    public companion object {
   35     40   
        /**
   36     41   
         * Convert a raw value to one of the sealed variants or [SdkUnknown]
   37     42   
         */
   38     43   
        public fun fromValue(value: kotlin.String): aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatusCode = when (value) {
   39     44   
            "available" -> Available
   40     45   
            "deleted" -> Deleted
   41     46   
            "deleting" -> Deleting
          47  +
            "pending" -> Pending
   42     48   
            "pending-associate" -> PendingAssociate
   43     49   
            else -> SdkUnknown(value)
   44     50   
        }
   45     51   
   46     52   
        /**
   47     53   
         * Get a list of all possible variants
   48     54   
         */
   49     55   
        public fun values(): kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatusCode> = values
   50     56   
   51         -
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatusCode> = listOf(
          57  +
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ClientVpnEndpointStatusCode> by lazy { listOf(
   52     58   
            Available,
   53     59   
            Deleted,
   54     60   
            Deleting,
          61  +
            Pending,
   55     62   
            PendingAssociate,
   56         -
        )
          63  +
        ) }
   57     64   
    }
   58     65   
}

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/ClientVpnRoute.kt

@@ -7,7 +146,158 @@
   27     27   
     */
   28     28   
    public val origin: kotlin.String? = builder.origin
   29     29   
    /**
   30     30   
     * The current state of the route.
   31     31   
     */
   32     32   
    public val status: aws.sdk.kotlin.services.ec2.model.ClientVpnRouteStatus? = builder.status
   33     33   
    /**
   34     34   
     * The ID of the subnet through which traffic is routed.
   35     35   
     */
   36     36   
    public val targetSubnet: kotlin.String? = builder.targetSubnet
          37  +
    /**
          38  +
     * The ID of the Transit Gateway attachment, if the route targets a Transit Gateway.
          39  +
     */
          40  +
    public val transitGatewayAttachmentId: kotlin.String? = builder.transitGatewayAttachmentId
   37     41   
    /**
   38     42   
     * The route type.
   39     43   
     */
   40     44   
    public val type: kotlin.String? = builder.type
   41     45   
   42     46   
    public companion object {
   43     47   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.ClientVpnRoute = Builder().apply(block).build()
   44     48   
    }
   45     49   
   46     50   
    override fun toString(): kotlin.String = buildString {
   47     51   
        append("ClientVpnRoute(")
   48     52   
        append("clientVpnEndpointId=$clientVpnEndpointId,")
   49     53   
        append("description=$description,")
   50     54   
        append("destinationCidr=$destinationCidr,")
   51     55   
        append("origin=$origin,")
   52     56   
        append("status=$status,")
   53     57   
        append("targetSubnet=$targetSubnet,")
          58  +
        append("transitGatewayAttachmentId=$transitGatewayAttachmentId,")
   54     59   
        append("type=$type")
   55     60   
        append(")")
   56     61   
    }
   57     62   
   58     63   
    override fun hashCode(): kotlin.Int {
   59     64   
        var result = clientVpnEndpointId?.hashCode() ?: 0
   60     65   
        result = 31 * result + (this.description?.hashCode() ?: 0)
   61     66   
        result = 31 * result + (this.destinationCidr?.hashCode() ?: 0)
   62     67   
        result = 31 * result + (this.origin?.hashCode() ?: 0)
   63     68   
        result = 31 * result + (this.status?.hashCode() ?: 0)
   64     69   
        result = 31 * result + (this.targetSubnet?.hashCode() ?: 0)
          70  +
        result = 31 * result + (this.transitGatewayAttachmentId?.hashCode() ?: 0)
   65     71   
        result = 31 * result + (this.type?.hashCode() ?: 0)
   66     72   
        return result
   67     73   
    }
   68     74   
   69     75   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   70     76   
        if (this === other) return true
   71     77   
        if (other == null || this::class != other::class) return false
   72     78   
   73     79   
        other as ClientVpnRoute
   74     80   
   75     81   
        if (clientVpnEndpointId != other.clientVpnEndpointId) return false
   76     82   
        if (description != other.description) return false
   77     83   
        if (destinationCidr != other.destinationCidr) return false
   78     84   
        if (origin != other.origin) return false
   79     85   
        if (status != other.status) return false
   80     86   
        if (targetSubnet != other.targetSubnet) return false
          87  +
        if (transitGatewayAttachmentId != other.transitGatewayAttachmentId) return false
   81     88   
        if (type != other.type) return false
   82     89   
   83     90   
        return true
   84     91   
    }
   85     92   
   86     93   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.ClientVpnRoute = Builder(this).apply(block).build()
   87     94   
   88     95   
    @SdkDsl
   89     96   
    public class Builder {
   90     97   
        /**
   91     98   
         * The ID of the Client VPN endpoint with which the route is associated.
   92     99   
         */
   93    100   
        public var clientVpnEndpointId: kotlin.String? = null
   94    101   
        /**
   95    102   
         * A brief description of the route.
   96    103   
         */
   97    104   
        public var description: kotlin.String? = null
   98    105   
        /**
   99    106   
         * The IPv4 address range, in CIDR notation, of the route destination.
  100    107   
         */
  101    108   
        public var destinationCidr: kotlin.String? = null
  102    109   
        /**
  103    110   
         * Indicates how the route was associated with the Client VPN endpoint. `associate` indicates that the route was automatically added when the target network was associated with the Client VPN endpoint. `add-route` indicates that the route was manually added using the **CreateClientVpnRoute** action.
  104    111   
         */
  105    112   
        public var origin: kotlin.String? = null
  106    113   
        /**
  107    114   
         * The current state of the route.
  108    115   
         */
  109    116   
        public var status: aws.sdk.kotlin.services.ec2.model.ClientVpnRouteStatus? = null
  110    117   
        /**
  111    118   
         * The ID of the subnet through which traffic is routed.
  112    119   
         */
  113    120   
        public var targetSubnet: kotlin.String? = null
         121  +
        /**
         122  +
         * The ID of the Transit Gateway attachment, if the route targets a Transit Gateway.
         123  +
         */
         124  +
        public var transitGatewayAttachmentId: kotlin.String? = null
  114    125   
        /**
  115    126   
         * The route type.
  116    127   
         */
  117    128   
        public var type: kotlin.String? = null
  118    129   
  119    130   
        @PublishedApi
  120    131   
        internal constructor()
  121    132   
        @PublishedApi
  122    133   
        internal constructor(x: aws.sdk.kotlin.services.ec2.model.ClientVpnRoute) : this() {
  123    134   
            this.clientVpnEndpointId = x.clientVpnEndpointId
  124    135   
            this.description = x.description
  125    136   
            this.destinationCidr = x.destinationCidr
  126    137   
            this.origin = x.origin
  127    138   
            this.status = x.status
  128    139   
            this.targetSubnet = x.targetSubnet
         140  +
            this.transitGatewayAttachmentId = x.transitGatewayAttachmentId
  129    141   
            this.type = x.type
  130    142   
        }
  131    143   
  132    144   
        @PublishedApi
  133    145   
        internal fun build(): aws.sdk.kotlin.services.ec2.model.ClientVpnRoute = ClientVpnRoute(this)
  134    146   
  135    147   
        /**
  136    148   
         * construct an [aws.sdk.kotlin.services.ec2.model.ClientVpnRouteStatus] inside the given [block]
  137    149   
         */
  138    150   
        public fun status(block: aws.sdk.kotlin.services.ec2.model.ClientVpnRouteStatus.Builder.() -> kotlin.Unit) {

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/ClientVpnRouteStatusCode.kt

@@ -21,21 +58,58 @@
   41     41   
            "deleting" -> Deleting
   42     42   
            "failed" -> Failed
   43     43   
            else -> SdkUnknown(value)
   44     44   
        }
   45     45   
   46     46   
        /**
   47     47   
         * Get a list of all possible variants
   48     48   
         */
   49     49   
        public fun values(): kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ClientVpnRouteStatusCode> = values
   50     50   
   51         -
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ClientVpnRouteStatusCode> = listOf(
          51  +
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ClientVpnRouteStatusCode> by lazy { listOf(
   52     52   
            Active,
   53     53   
            Creating,
   54     54   
            Deleting,
   55     55   
            Failed,
   56         -
        )
          56  +
        ) }
   57     57   
    }
   58     58   
}

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/Comparison.kt

@@ -9,9 +44,44 @@
   29     29   
            "equals" -> Equals
   30     30   
            "in" -> In
   31     31   
            else -> SdkUnknown(value)
   32     32   
        }
   33     33   
   34     34   
        /**
   35     35   
         * Get a list of all possible variants
   36     36   
         */
   37     37   
        public fun values(): kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.Comparison> = values
   38     38   
   39         -
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.Comparison> = listOf(
          39  +
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.Comparison> by lazy { listOf(
   40     40   
            Equals,
   41     41   
            In,
   42         -
        )
          42  +
        ) }
   43     43   
    }
   44     44   
}

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/ConnectionNotificationState.kt

@@ -9,9 +44,44 @@
   29     29   
            "Disabled" -> Disabled
   30     30   
            "Enabled" -> Enabled
   31     31   
            else -> SdkUnknown(value)
   32     32   
        }
   33     33   
   34     34   
        /**
   35     35   
         * Get a list of all possible variants
   36     36   
         */
   37     37   
        public fun values(): kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ConnectionNotificationState> = values
   38     38   
   39         -
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ConnectionNotificationState> = listOf(
          39  +
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ConnectionNotificationState> by lazy { listOf(
   40     40   
            Disabled,
   41     41   
            Enabled,
   42         -
        )
          42  +
        ) }
   43     43   
    }
   44     44   
}

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/ConnectionNotificationType.kt

@@ -3,3 +37,37 @@
   23     23   
        public fun fromValue(value: kotlin.String): aws.sdk.kotlin.services.ec2.model.ConnectionNotificationType = when (value) {
   24     24   
            "Topic" -> Topic
   25     25   
            else -> SdkUnknown(value)
   26     26   
        }
   27     27   
   28     28   
        /**
   29     29   
         * Get a list of all possible variants
   30     30   
         */
   31     31   
        public fun values(): kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ConnectionNotificationType> = values
   32     32   
   33         -
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ConnectionNotificationType> = listOf(
          33  +
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ConnectionNotificationType> by lazy { listOf(
   34     34   
            Topic,
   35         -
        )
          35  +
        ) }
   36     36   
    }
   37     37   
}

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/ConnectivityType.kt

@@ -9,9 +44,44 @@
   29     29   
            "private" -> Private
   30     30   
            "public" -> Public
   31     31   
            else -> SdkUnknown(value)
   32     32   
        }
   33     33   
   34     34   
        /**
   35     35   
         * Get a list of all possible variants
   36     36   
         */
   37     37   
        public fun values(): kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ConnectivityType> = values
   38     38   
   39         -
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ConnectivityType> = listOf(
          39  +
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ConnectivityType> by lazy { listOf(
   40     40   
            Private,
   41     41   
            Public,
   42         -
        )
          42  +
        ) }
   43     43   
    }
   44     44   
}

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/ContainerFormat.kt

@@ -3,3 +37,37 @@
   23     23   
        public fun fromValue(value: kotlin.String): aws.sdk.kotlin.services.ec2.model.ContainerFormat = when (value) {
   24     24   
            "ova" -> Ova
   25     25   
            else -> SdkUnknown(value)
   26     26   
        }
   27     27   
   28     28   
        /**
   29     29   
         * Get a list of all possible variants
   30     30   
         */
   31     31   
        public fun values(): kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ContainerFormat> = values
   32     32   
   33         -
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ContainerFormat> = listOf(
          33  +
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ContainerFormat> by lazy { listOf(
   34     34   
            Ova,
   35         -
        )
          35  +
        ) }
   36     36   
    }
   37     37   
}

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/ConversionTaskState.kt

@@ -21,21 +58,58 @@
   41     41   
            "cancelling" -> Cancelling
   42     42   
            "completed" -> Completed
   43     43   
            else -> SdkUnknown(value)
   44     44   
        }
   45     45   
   46     46   
        /**
   47     47   
         * Get a list of all possible variants
   48     48   
         */
   49     49   
        public fun values(): kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ConversionTaskState> = values
   50     50   
   51         -
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ConversionTaskState> = listOf(
          51  +
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.ConversionTaskState> by lazy { listOf(
   52     52   
            Active,
   53     53   
            Cancelled,
   54     54   
            Cancelling,
   55     55   
            Completed,
   56         -
        )
          56  +
        ) }
   57     57   
    }
   58     58   
}

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/CopyTagsFromSource.kt

@@ -3,3 +37,37 @@
   23     23   
        public fun fromValue(value: kotlin.String): aws.sdk.kotlin.services.ec2.model.CopyTagsFromSource = when (value) {
   24     24   
            "volume" -> Volume
   25     25   
            else -> SdkUnknown(value)
   26     26   
        }
   27     27   
   28     28   
        /**
   29     29   
         * Get a list of all possible variants
   30     30   
         */
   31     31   
        public fun values(): kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.CopyTagsFromSource> = values
   32     32   
   33         -
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.CopyTagsFromSource> = listOf(
          33  +
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.CopyTagsFromSource> by lazy { listOf(
   34     34   
            Volume,
   35         -
        )
          35  +
        ) }
   36     36   
    }
   37     37   
}

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/CpuManufacturer.kt

@@ -21,21 +58,58 @@
   41     41   
            "apple" -> Apple
   42     42   
            "intel" -> Intel
   43     43   
            else -> SdkUnknown(value)
   44     44   
        }
   45     45   
   46     46   
        /**
   47     47   
         * Get a list of all possible variants
   48     48   
         */
   49     49   
        public fun values(): kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.CpuManufacturer> = values
   50     50   
   51         -
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.CpuManufacturer> = listOf(
          51  +
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.CpuManufacturer> by lazy { listOf(
   52     52   
            AmazonWebServices,
   53     53   
            Amd,
   54     54   
            Apple,
   55     55   
            Intel,
   56         -
        )
          56  +
        ) }
   57     57   
    }
   58     58   
}

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/CreateClientVpnEndpointRequest.kt

@@ -1,1 +40,41 @@
    1      1   
// Code generated by smithy-kotlin codegen. DO NOT EDIT!
    2      2   
    3      3   
package aws.sdk.kotlin.services.ec2.model
    4      4   
    5      5   
import aws.smithy.kotlin.runtime.SdkDsl
    6      6   
    7      7   
private val awsSdkKotlinServicesEc2ModelClientConnectOptionsDslBuilderRef = aws.sdk.kotlin.services.ec2.model.ClientConnectOptions
    8      8   
private val awsSdkKotlinServicesEc2ModelClientLoginBannerOptionsDslBuilderRef = aws.sdk.kotlin.services.ec2.model.ClientLoginBannerOptions
    9      9   
private val awsSdkKotlinServicesEc2ModelClientRouteEnforcementOptionsDslBuilderRef = aws.sdk.kotlin.services.ec2.model.ClientRouteEnforcementOptions
   10     10   
private val awsSdkKotlinServicesEc2ModelConnectionLogOptionsDslBuilderRef = aws.sdk.kotlin.services.ec2.model.ConnectionLogOptions
          11  +
private val awsSdkKotlinServicesEc2ModelTransitGatewayConfigurationInputStructureDslBuilderRef = aws.sdk.kotlin.services.ec2.model.TransitGatewayConfigurationInputStructure
   11     12   
   12     13   
public class CreateClientVpnEndpointRequest private constructor(builder: Builder) {
   13     14   
    /**
   14     15   
     * Information about the authentication method to be used to authenticate clients.
   15     16   
     */
   16     17   
    public val authenticationOptions: List<ClientVpnAuthenticationRequest>? = builder.authenticationOptions
   17     18   
    /**
   18     19   
     * The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12.
   19     20   
     */
   20     21   
    public val clientCidrBlock: kotlin.String? = builder.clientCidrBlock
@@ -77,78 +237,245 @@
   97     98   
     */
   98     99   
    public val splitTunnel: kotlin.Boolean? = builder.splitTunnel
   99    100   
    /**
  100    101   
     * The tags to apply to the Client VPN endpoint during creation.
  101    102   
     */
  102    103   
    public val tagSpecifications: List<TagSpecification>? = builder.tagSpecifications
  103    104   
    /**
  104    105   
     * The IP address type for traffic within the Client VPN tunnel. Valid values are `ipv4` (default) for IPv4 traffic only, `ipv6` for IPv6 addressing only, or `dual-stack` for both IPv4 and IPv6 traffic. When set to `dual-stack`, clients can access both IPv4 and IPv6 resources through the VPN .
  105    106   
     */
  106    107   
    public val trafficIpAddressType: aws.sdk.kotlin.services.ec2.model.TrafficIpAddressType? = builder.trafficIpAddressType
         108  +
    /**
         109  +
     * The Transit Gateway configuration for the Client VPN endpoint. Use this parameter to associate the endpoint with a Transit Gateway instead of a VPC. You cannot specify both `TransitGatewayConfiguration` and `VpcId`/`SecurityGroupIds`.
         110  +
     */
         111  +
    public val transitGatewayConfiguration: aws.sdk.kotlin.services.ec2.model.TransitGatewayConfigurationInputStructure? = builder.transitGatewayConfiguration
  107    112   
    /**
  108    113   
     * The transport protocol to be used by the VPN session.
  109    114   
     *
  110    115   
     * Default value: `udp`
  111    116   
     */
  112    117   
    public val transportProtocol: aws.sdk.kotlin.services.ec2.model.TransportProtocol? = builder.transportProtocol
  113    118   
    /**
  114    119   
     * The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.
  115    120   
     */
  116    121   
    public val vpcId: kotlin.String? = builder.vpcId
  117    122   
    /**
  118    123   
     * The port number to assign to the Client VPN endpoint for TCP and UDP traffic.
  119    124   
     *
  120    125   
     * Valid Values: `443` | `1194`
  121    126   
     *
  122    127   
     * Default Value: `443`
  123    128   
     */
  124    129   
    public val vpnPort: kotlin.Int? = builder.vpnPort
  125    130   
  126    131   
    public companion object {
  127    132   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.CreateClientVpnEndpointRequest = Builder().apply(block).build()
  128    133   
    }
  129    134   
  130    135   
    override fun toString(): kotlin.String = buildString {
  131    136   
        append("CreateClientVpnEndpointRequest(")
  132    137   
        append("authenticationOptions=$authenticationOptions,")
  133    138   
        append("clientCidrBlock=$clientCidrBlock,")
  134    139   
        append("clientConnectOptions=$clientConnectOptions,")
  135    140   
        append("clientLoginBannerOptions=$clientLoginBannerOptions,")
  136    141   
        append("clientRouteEnforcementOptions=$clientRouteEnforcementOptions,")
  137    142   
        append("clientToken=$clientToken,")
  138    143   
        append("connectionLogOptions=$connectionLogOptions,")
  139    144   
        append("description=$description,")
  140    145   
        append("disconnectOnSessionTimeout=$disconnectOnSessionTimeout,")
  141    146   
        append("dnsServers=$dnsServers,")
  142    147   
        append("dryRun=$dryRun,")
  143    148   
        append("endpointIpAddressType=$endpointIpAddressType,")
  144    149   
        append("securityGroupIds=$securityGroupIds,")
  145    150   
        append("selfServicePortal=$selfServicePortal,")
  146    151   
        append("serverCertificateArn=$serverCertificateArn,")
  147    152   
        append("sessionTimeoutHours=$sessionTimeoutHours,")
  148    153   
        append("splitTunnel=$splitTunnel,")
  149    154   
        append("tagSpecifications=$tagSpecifications,")
  150    155   
        append("trafficIpAddressType=$trafficIpAddressType,")
         156  +
        append("transitGatewayConfiguration=$transitGatewayConfiguration,")
  151    157   
        append("transportProtocol=$transportProtocol,")
  152    158   
        append("vpcId=$vpcId,")
  153    159   
        append("vpnPort=$vpnPort")
  154    160   
        append(")")
  155    161   
    }
  156    162   
  157    163   
    override fun hashCode(): kotlin.Int {
  158    164   
        var result = authenticationOptions?.hashCode() ?: 0
  159    165   
        result = 31 * result + (this.clientCidrBlock?.hashCode() ?: 0)
  160    166   
        result = 31 * result + (this.clientConnectOptions?.hashCode() ?: 0)
  161    167   
        result = 31 * result + (this.clientLoginBannerOptions?.hashCode() ?: 0)
  162    168   
        result = 31 * result + (this.clientRouteEnforcementOptions?.hashCode() ?: 0)
  163    169   
        result = 31 * result + (this.clientToken?.hashCode() ?: 0)
  164    170   
        result = 31 * result + (this.connectionLogOptions?.hashCode() ?: 0)
  165    171   
        result = 31 * result + (this.description?.hashCode() ?: 0)
  166    172   
        result = 31 * result + (this.disconnectOnSessionTimeout?.hashCode() ?: 0)
  167    173   
        result = 31 * result + (this.dnsServers?.hashCode() ?: 0)
  168    174   
        result = 31 * result + (this.dryRun?.hashCode() ?: 0)
  169    175   
        result = 31 * result + (this.endpointIpAddressType?.hashCode() ?: 0)
  170    176   
        result = 31 * result + (this.securityGroupIds?.hashCode() ?: 0)
  171    177   
        result = 31 * result + (this.selfServicePortal?.hashCode() ?: 0)
  172    178   
        result = 31 * result + (this.serverCertificateArn?.hashCode() ?: 0)
  173    179   
        result = 31 * result + (this.sessionTimeoutHours ?: 0)
  174    180   
        result = 31 * result + (this.splitTunnel?.hashCode() ?: 0)
  175    181   
        result = 31 * result + (this.tagSpecifications?.hashCode() ?: 0)
  176    182   
        result = 31 * result + (this.trafficIpAddressType?.hashCode() ?: 0)
         183  +
        result = 31 * result + (this.transitGatewayConfiguration?.hashCode() ?: 0)
  177    184   
        result = 31 * result + (this.transportProtocol?.hashCode() ?: 0)
  178    185   
        result = 31 * result + (this.vpcId?.hashCode() ?: 0)
  179    186   
        result = 31 * result + (this.vpnPort ?: 0)
  180    187   
        return result
  181    188   
    }
  182    189   
  183    190   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
  184    191   
        if (this === other) return true
  185    192   
        if (other == null || this::class != other::class) return false
  186    193   
  187    194   
        other as CreateClientVpnEndpointRequest
  188    195   
  189    196   
        if (authenticationOptions != other.authenticationOptions) return false
  190    197   
        if (clientCidrBlock != other.clientCidrBlock) return false
  191    198   
        if (clientConnectOptions != other.clientConnectOptions) return false
  192    199   
        if (clientLoginBannerOptions != other.clientLoginBannerOptions) return false
  193    200   
        if (clientRouteEnforcementOptions != other.clientRouteEnforcementOptions) return false
  194    201   
        if (clientToken != other.clientToken) return false
  195    202   
        if (connectionLogOptions != other.connectionLogOptions) return false
  196    203   
        if (description != other.description) return false
  197    204   
        if (disconnectOnSessionTimeout != other.disconnectOnSessionTimeout) return false
  198    205   
        if (dnsServers != other.dnsServers) return false
  199    206   
        if (dryRun != other.dryRun) return false
  200    207   
        if (endpointIpAddressType != other.endpointIpAddressType) return false
  201    208   
        if (securityGroupIds != other.securityGroupIds) return false
  202    209   
        if (selfServicePortal != other.selfServicePortal) return false
  203    210   
        if (serverCertificateArn != other.serverCertificateArn) return false
  204    211   
        if (sessionTimeoutHours != other.sessionTimeoutHours) return false
  205    212   
        if (splitTunnel != other.splitTunnel) return false
  206    213   
        if (tagSpecifications != other.tagSpecifications) return false
  207    214   
        if (trafficIpAddressType != other.trafficIpAddressType) return false
         215  +
        if (transitGatewayConfiguration != other.transitGatewayConfiguration) return false
  208    216   
        if (transportProtocol != other.transportProtocol) return false
  209    217   
        if (vpcId != other.vpcId) return false
  210    218   
        if (vpnPort != other.vpnPort) return false
  211    219   
  212    220   
        return true
  213    221   
    }
  214    222   
  215    223   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.CreateClientVpnEndpointRequest = Builder(this).apply(block).build()
  216    224   
  217    225   
    @SdkDsl
@@ -283,291 +395,415 @@
  303    311   
         */
  304    312   
        public var splitTunnel: kotlin.Boolean? = null
  305    313   
        /**
  306    314   
         * The tags to apply to the Client VPN endpoint during creation.
  307    315   
         */
  308    316   
        public var tagSpecifications: List<TagSpecification>? = null
  309    317   
        /**
  310    318   
         * The IP address type for traffic within the Client VPN tunnel. Valid values are `ipv4` (default) for IPv4 traffic only, `ipv6` for IPv6 addressing only, or `dual-stack` for both IPv4 and IPv6 traffic. When set to `dual-stack`, clients can access both IPv4 and IPv6 resources through the VPN .
  311    319   
         */
  312    320   
        public var trafficIpAddressType: aws.sdk.kotlin.services.ec2.model.TrafficIpAddressType? = null
         321  +
        /**
         322  +
         * The Transit Gateway configuration for the Client VPN endpoint. Use this parameter to associate the endpoint with a Transit Gateway instead of a VPC. You cannot specify both `TransitGatewayConfiguration` and `VpcId`/`SecurityGroupIds`.
         323  +
         */
         324  +
        public var transitGatewayConfiguration: aws.sdk.kotlin.services.ec2.model.TransitGatewayConfigurationInputStructure? = null
  313    325   
        /**
  314    326   
         * The transport protocol to be used by the VPN session.
  315    327   
         *
  316    328   
         * Default value: `udp`
  317    329   
         */
  318    330   
        public var transportProtocol: aws.sdk.kotlin.services.ec2.model.TransportProtocol? = null
  319    331   
        /**
  320    332   
         * The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.
  321    333   
         */
  322    334   
        public var vpcId: kotlin.String? = null
  323    335   
        /**
  324    336   
         * The port number to assign to the Client VPN endpoint for TCP and UDP traffic.
  325    337   
         *
  326    338   
         * Valid Values: `443` | `1194`
  327    339   
         *
  328    340   
         * Default Value: `443`
  329    341   
         */
  330    342   
        public var vpnPort: kotlin.Int? = null
  331    343   
  332    344   
        @PublishedApi
  333    345   
        internal constructor()
  334    346   
        @PublishedApi
  335    347   
        internal constructor(x: aws.sdk.kotlin.services.ec2.model.CreateClientVpnEndpointRequest) : this() {
  336    348   
            this.authenticationOptions = x.authenticationOptions
  337    349   
            this.clientCidrBlock = x.clientCidrBlock
  338    350   
            this.clientConnectOptions = x.clientConnectOptions
  339    351   
            this.clientLoginBannerOptions = x.clientLoginBannerOptions
  340    352   
            this.clientRouteEnforcementOptions = x.clientRouteEnforcementOptions
  341    353   
            this.clientToken = x.clientToken
  342    354   
            this.connectionLogOptions = x.connectionLogOptions
  343    355   
            this.description = x.description
  344    356   
            this.disconnectOnSessionTimeout = x.disconnectOnSessionTimeout
  345    357   
            this.dnsServers = x.dnsServers
  346    358   
            this.dryRun = x.dryRun
  347    359   
            this.endpointIpAddressType = x.endpointIpAddressType
  348    360   
            this.securityGroupIds = x.securityGroupIds
  349    361   
            this.selfServicePortal = x.selfServicePortal
  350    362   
            this.serverCertificateArn = x.serverCertificateArn
  351    363   
            this.sessionTimeoutHours = x.sessionTimeoutHours
  352    364   
            this.splitTunnel = x.splitTunnel
  353    365   
            this.tagSpecifications = x.tagSpecifications
  354    366   
            this.trafficIpAddressType = x.trafficIpAddressType
         367  +
            this.transitGatewayConfiguration = x.transitGatewayConfiguration
  355    368   
            this.transportProtocol = x.transportProtocol
  356    369   
            this.vpcId = x.vpcId
  357    370   
            this.vpnPort = x.vpnPort
  358    371   
        }
  359    372   
  360    373   
        @PublishedApi
  361    374   
        internal fun build(): aws.sdk.kotlin.services.ec2.model.CreateClientVpnEndpointRequest = CreateClientVpnEndpointRequest(this)
  362    375   
  363    376   
        /**
  364    377   
         * construct an [aws.sdk.kotlin.services.ec2.model.ClientConnectOptions] inside the given [block]
  365    378   
         */
  366    379   
        public fun clientConnectOptions(block: aws.sdk.kotlin.services.ec2.model.ClientConnectOptions.Builder.() -> kotlin.Unit) {
  367    380   
            this.clientConnectOptions = awsSdkKotlinServicesEc2ModelClientConnectOptionsDslBuilderRef(block)
  368    381   
        }
  369    382   
  370    383   
        /**
  371    384   
         * construct an [aws.sdk.kotlin.services.ec2.model.ClientLoginBannerOptions] inside the given [block]
  372    385   
         */
  373    386   
        public fun clientLoginBannerOptions(block: aws.sdk.kotlin.services.ec2.model.ClientLoginBannerOptions.Builder.() -> kotlin.Unit) {
  374    387   
            this.clientLoginBannerOptions = awsSdkKotlinServicesEc2ModelClientLoginBannerOptionsDslBuilderRef(block)
  375    388   
        }
  376    389   
  377    390   
        /**
  378    391   
         * construct an [aws.sdk.kotlin.services.ec2.model.ClientRouteEnforcementOptions] inside the given [block]
  379    392   
         */
  380    393   
        public fun clientRouteEnforcementOptions(block: aws.sdk.kotlin.services.ec2.model.ClientRouteEnforcementOptions.Builder.() -> kotlin.Unit) {
  381    394   
            this.clientRouteEnforcementOptions = awsSdkKotlinServicesEc2ModelClientRouteEnforcementOptionsDslBuilderRef(block)
  382    395   
        }
  383    396   
  384    397   
        /**
  385    398   
         * construct an [aws.sdk.kotlin.services.ec2.model.ConnectionLogOptions] inside the given [block]
  386    399   
         */
  387    400   
        public fun connectionLogOptions(block: aws.sdk.kotlin.services.ec2.model.ConnectionLogOptions.Builder.() -> kotlin.Unit) {
  388    401   
            this.connectionLogOptions = awsSdkKotlinServicesEc2ModelConnectionLogOptionsDslBuilderRef(block)
  389    402   
        }
  390    403   
         404  +
        /**
         405  +
         * construct an [aws.sdk.kotlin.services.ec2.model.TransitGatewayConfigurationInputStructure] inside the given [block]
         406  +
         */
         407  +
        public fun transitGatewayConfiguration(block: aws.sdk.kotlin.services.ec2.model.TransitGatewayConfigurationInputStructure.Builder.() -> kotlin.Unit) {
         408  +
            this.transitGatewayConfiguration = awsSdkKotlinServicesEc2ModelTransitGatewayConfigurationInputStructureDslBuilderRef(block)
         409  +
        }
         410  +
  391    411   
        internal fun correctErrors(): Builder {
  392    412   
            return this
  393    413   
        }
  394    414   
    }
  395    415   
}

tmp-codegen-diff/services/ec2/generated-src/main/kotlin/aws/sdk/kotlin/services/ec2/model/CreateClientVpnRouteRequest.kt

@@ -7,7 +66,68 @@
   27     27   
     */
   28     28   
    public val destinationCidrBlock: kotlin.String? = builder.destinationCidrBlock
   29     29   
    /**
   30     30   
     * Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
   31     31   
     */
   32     32   
    public val dryRun: kotlin.Boolean? = builder.dryRun
   33     33   
    /**
   34     34   
     * The ID of the subnet through which you want to route traffic. The specified subnet must be an existing target network of the Client VPN endpoint.
   35     35   
     *
   36     36   
     * Alternatively, if you're adding a route for the local network, specify `local`.
          37  +
     *
          38  +
     * This parameter is required for VPC-based Client VPN endpoints. For Transit Gateway-based endpoints, this parameter is not required.
   37     39   
     */
   38     40   
    public val targetVpcSubnetId: kotlin.String? = builder.targetVpcSubnetId
   39     41   
   40     42   
    public companion object {
   41     43   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.CreateClientVpnRouteRequest = Builder().apply(block).build()
   42     44   
    }
   43     45   
   44     46   
    override fun toString(): kotlin.String = buildString {
   45     47   
        append("CreateClientVpnRouteRequest(")
   46     48   
        append("clientToken=$clientToken,")
@@ -83,85 +135,139 @@
  103    105   
         */
  104    106   
        public var destinationCidrBlock: kotlin.String? = null
  105    107   
        /**
  106    108   
         * Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
  107    109   
         */
  108    110   
        public var dryRun: kotlin.Boolean? = null
  109    111   
        /**
  110    112   
         * The ID of the subnet through which you want to route traffic. The specified subnet must be an existing target network of the Client VPN endpoint.
  111    113   
         *
  112    114   
         * Alternatively, if you're adding a route for the local network, specify `local`.
         115  +
         *
         116  +
         * This parameter is required for VPC-based Client VPN endpoints. For Transit Gateway-based endpoints, this parameter is not required.
  113    117   
         */
  114    118   
        public var targetVpcSubnetId: kotlin.String? = null
  115    119   
  116    120   
        @PublishedApi
  117    121   
        internal constructor()
  118    122   
        @PublishedApi
  119    123   
        internal constructor(x: aws.sdk.kotlin.services.ec2.model.CreateClientVpnRouteRequest) : this() {
  120    124   
            this.clientToken = x.clientToken
  121    125   
            this.clientVpnEndpointId = x.clientVpnEndpointId
  122    126   
            this.description = x.description