AWS SDK

AWS SDK

rev. b9ccf3dabc550b0fbe85e785b19c58a2472f505e..0aa2b81c2b8d5d717e9cb17fa65a6648cf2f928e (ignoring whitespace)

Files changed:

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

@@ -1,1 +172,194 @@
    4      4   
    5      5   
import aws.smithy.kotlin.runtime.SdkDsl
    6      6   
import aws.smithy.kotlin.runtime.time.Instant
    7      7   
    8      8   
/**
    9      9   
 * Contains the parameters for DescribeSpotPriceHistory.
   10     10   
 */
   11     11   
public class DescribeSpotPriceHistoryRequest private constructor(builder: Builder) {
   12     12   
    /**
   13     13   
     * Filters the results by the specified Availability Zone.
          14  +
     *
          15  +
     * Either `AvailabilityZone` or `AvailabilityZoneId` can be specified, but not both
   14     16   
     */
   15     17   
    public val availabilityZone: kotlin.String? = builder.availabilityZone
          18  +
    /**
          19  +
     * Filters the results by the specified ID of the Availability Zone.
          20  +
     *
          21  +
     * Either `AvailabilityZone` or `AvailabilityZoneId` can be specified, but not both
          22  +
     */
          23  +
    public val availabilityZoneId: kotlin.String? = builder.availabilityZoneId
   16     24   
    /**
   17     25   
     * 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`.
   18     26   
     */
   19     27   
    public val dryRun: kotlin.Boolean? = builder.dryRun
   20     28   
    /**
   21     29   
     * The date and time, up to the current date, from which to stop retrieving the price history data, in UTC format (for example, *YYYY*-*MM*-*DD*T*HH*:*MM*:*SS*Z).
   22     30   
     */
   23     31   
    public val endTime: aws.smithy.kotlin.runtime.time.Instant? = builder.endTime
   24     32   
    /**
   25     33   
     * The filters.
   26     34   
     * + `availability-zone` - The Availability Zone for which prices should be returned.
          35  +
     * + `availability-zone-id` - The ID of the Availability Zone for which prices should be returned.
   27     36   
     * + `instance-type` - The type of instance (for example, `m3.medium`).
   28     37   
     * + `product-description` - The product description for the Spot price (`Linux/UNIX` | `Red Hat Enterprise Linux` | `SUSE Linux` | `Windows` | `Linux/UNIX (Amazon VPC)` | `Red Hat Enterprise Linux (Amazon VPC)` | `SUSE Linux (Amazon VPC)` | `Windows (Amazon VPC)`).
   29     38   
     * + `spot-price` - The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported).
   30     39   
     * + `timestamp` - The time stamp of the Spot price history, in UTC format (for example, *ddd MMM dd HH*:*mm*:*ss* UTC *YYYY*). You can use wildcards (`*` and `?`). Greater than or less than comparison is not supported.
   31     40   
     */
   32     41   
    public val filters: List<Filter>? = builder.filters
   33     42   
    /**
   34     43   
     * Filters the results by the specified instance types.
   35     44   
     */
   36     45   
    public val instanceTypes: List<InstanceType>? = builder.instanceTypes
   37     46   
    /**
   38     47   
     * The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see [Pagination](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination).
   39     48   
     */
   40     49   
    public val maxResults: kotlin.Int? = builder.maxResults
   41     50   
    /**
   42     51   
     * The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.
   43     52   
     */
   44     53   
    public val nextToken: kotlin.String? = builder.nextToken
   45     54   
    /**
   46     55   
     * Filters the results by the specified basic product descriptions.
   47     56   
     */
   48     57   
    public val productDescriptions: List<String>? = builder.productDescriptions
   49     58   
    /**
   50     59   
     * The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC format (for example, *YYYY*-*MM*-*DD*T*HH*:*MM*:*SS*Z).
   51     60   
     */
   52     61   
    public val startTime: aws.smithy.kotlin.runtime.time.Instant? = builder.startTime
   53     62   
   54     63   
    public companion object {
   55     64   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.DescribeSpotPriceHistoryRequest = Builder().apply(block).build()
   56     65   
    }
   57     66   
   58     67   
    override fun toString(): kotlin.String = buildString {
   59     68   
        append("DescribeSpotPriceHistoryRequest(")
   60     69   
        append("availabilityZone=$availabilityZone,")
          70  +
        append("availabilityZoneId=$availabilityZoneId,")
   61     71   
        append("dryRun=$dryRun,")
   62     72   
        append("endTime=$endTime,")
   63     73   
        append("filters=$filters,")
   64     74   
        append("instanceTypes=$instanceTypes,")
   65     75   
        append("maxResults=$maxResults,")
   66     76   
        append("nextToken=$nextToken,")
   67     77   
        append("productDescriptions=$productDescriptions,")
   68     78   
        append("startTime=$startTime")
   69     79   
        append(")")
   70     80   
    }
   71     81   
   72     82   
    override fun hashCode(): kotlin.Int {
   73     83   
        var result = availabilityZone?.hashCode() ?: 0
          84  +
        result = 31 * result + (availabilityZoneId?.hashCode() ?: 0)
   74     85   
        result = 31 * result + (dryRun?.hashCode() ?: 0)
   75     86   
        result = 31 * result + (endTime?.hashCode() ?: 0)
   76     87   
        result = 31 * result + (filters?.hashCode() ?: 0)
   77     88   
        result = 31 * result + (instanceTypes?.hashCode() ?: 0)
   78     89   
        result = 31 * result + (maxResults ?: 0)
   79     90   
        result = 31 * result + (nextToken?.hashCode() ?: 0)
   80     91   
        result = 31 * result + (productDescriptions?.hashCode() ?: 0)
   81     92   
        result = 31 * result + (startTime?.hashCode() ?: 0)
   82     93   
        return result
   83     94   
    }
   84     95   
   85     96   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   86     97   
        if (this === other) return true
   87     98   
        if (other == null || this::class != other::class) return false
   88     99   
   89    100   
        other as DescribeSpotPriceHistoryRequest
   90    101   
   91    102   
        if (availabilityZone != other.availabilityZone) return false
         103  +
        if (availabilityZoneId != other.availabilityZoneId) return false
   92    104   
        if (dryRun != other.dryRun) return false
   93    105   
        if (endTime != other.endTime) return false
   94    106   
        if (filters != other.filters) return false
   95    107   
        if (instanceTypes != other.instanceTypes) return false
   96    108   
        if (maxResults != other.maxResults) return false
   97    109   
        if (nextToken != other.nextToken) return false
   98    110   
        if (productDescriptions != other.productDescriptions) return false
   99    111   
        if (startTime != other.startTime) return false
  100    112   
  101    113   
        return true
  102    114   
    }
  103    115   
  104    116   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.DescribeSpotPriceHistoryRequest = Builder(this).apply(block).build()
  105    117   
  106    118   
    @SdkDsl
  107    119   
    public class Builder {
  108    120   
        /**
  109    121   
         * Filters the results by the specified Availability Zone.
         122  +
         *
         123  +
         * Either `AvailabilityZone` or `AvailabilityZoneId` can be specified, but not both
  110    124   
         */
  111    125   
        public var availabilityZone: kotlin.String? = null
         126  +
        /**
         127  +
         * Filters the results by the specified ID of the Availability Zone.
         128  +
         *
         129  +
         * Either `AvailabilityZone` or `AvailabilityZoneId` can be specified, but not both
         130  +
         */
         131  +
        public var availabilityZoneId: kotlin.String? = null
  112    132   
        /**
  113    133   
         * 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`.
  114    134   
         */
  115    135   
        public var dryRun: kotlin.Boolean? = null
  116    136   
        /**
  117    137   
         * The date and time, up to the current date, from which to stop retrieving the price history data, in UTC format (for example, *YYYY*-*MM*-*DD*T*HH*:*MM*:*SS*Z).
  118    138   
         */
  119    139   
        public var endTime: aws.smithy.kotlin.runtime.time.Instant? = null
  120    140   
        /**
  121    141   
         * The filters.
  122    142   
         * + `availability-zone` - The Availability Zone for which prices should be returned.
         143  +
         * + `availability-zone-id` - The ID of the Availability Zone for which prices should be returned.
  123    144   
         * + `instance-type` - The type of instance (for example, `m3.medium`).
  124    145   
         * + `product-description` - The product description for the Spot price (`Linux/UNIX` | `Red Hat Enterprise Linux` | `SUSE Linux` | `Windows` | `Linux/UNIX (Amazon VPC)` | `Red Hat Enterprise Linux (Amazon VPC)` | `SUSE Linux (Amazon VPC)` | `Windows (Amazon VPC)`).
  125    146   
         * + `spot-price` - The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported).
  126    147   
         * + `timestamp` - The time stamp of the Spot price history, in UTC format (for example, *ddd MMM dd HH*:*mm*:*ss* UTC *YYYY*). You can use wildcards (`*` and `?`). Greater than or less than comparison is not supported.
  127    148   
         */
  128    149   
        public var filters: List<Filter>? = null
  129    150   
        /**
  130    151   
         * Filters the results by the specified instance types.
  131    152   
         */
  132    153   
        public var instanceTypes: List<InstanceType>? = null
  133    154   
        /**
  134    155   
         * The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see [Pagination](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination).
  135    156   
         */
  136    157   
        public var maxResults: kotlin.Int? = null
  137    158   
        /**
  138    159   
         * The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.
  139    160   
         */
  140    161   
        public var nextToken: kotlin.String? = null
  141    162   
        /**
  142    163   
         * Filters the results by the specified basic product descriptions.
  143    164   
         */
  144    165   
        public var productDescriptions: List<String>? = null
  145    166   
        /**
  146    167   
         * The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC format (for example, *YYYY*-*MM*-*DD*T*HH*:*MM*:*SS*Z).
  147    168   
         */
  148    169   
        public var startTime: aws.smithy.kotlin.runtime.time.Instant? = null
  149    170   
  150    171   
        @PublishedApi
  151    172   
        internal constructor()
  152    173   
        @PublishedApi
  153    174   
        internal constructor(x: aws.sdk.kotlin.services.ec2.model.DescribeSpotPriceHistoryRequest) : this() {
  154    175   
            this.availabilityZone = x.availabilityZone
         176  +
            this.availabilityZoneId = x.availabilityZoneId
  155    177   
            this.dryRun = x.dryRun
  156    178   
            this.endTime = x.endTime
  157    179   
            this.filters = x.filters
  158    180   
            this.instanceTypes = x.instanceTypes
  159    181   
            this.maxResults = x.maxResults
  160    182   
            this.nextToken = x.nextToken
  161    183   
            this.productDescriptions = x.productDescriptions
  162    184   
            this.startTime = x.startTime
  163    185   
        }
  164    186   

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

@@ -1,1 +49,50 @@
   10     10   
     */
   11     11   
    public val dryRun: kotlin.Boolean? = builder.dryRun
   12     12   
    /**
   13     13   
     * The filters.
   14     14   
     * + `attachment.attach-time` - The time stamp when the attachment initiated.
   15     15   
     * + `attachment.delete-on-termination` - Whether the volume is deleted on instance termination.
   16     16   
     * + `attachment.device` - The device name specified in the block device mapping (for example, `/dev/sda1`).
   17     17   
     * + `attachment.instance-id` - The ID of the instance the volume is attached to.
   18     18   
     * + `attachment.status` - The attachment state (`attaching` | `attached` | `detaching`).
   19     19   
     * + `availability-zone` - The Availability Zone in which the volume was created.
          20  +
     * + `availability-zone-id` - The ID of the Availability Zone in which the volume was created.
   20     21   
     * + `create-time` - The time stamp when the volume was created.
   21     22   
     * + `encrypted` - Indicates whether the volume is encrypted (`true` | `false`)
   22     23   
     * + `fast-restored` - Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (`true` | `false`).
   23     24   
     * + `multi-attach-enabled` - Indicates whether the volume is enabled for Multi-Attach (`true` | `false`)
   24     25   
     * + `operator.managed` - A Boolean that indicates whether this is a managed volume.
   25     26   
     * + `operator.principal` - The principal that manages the volume. Only valid for managed volumes, where `managed` is `true`.
   26     27   
     * + `size` - The size of the volume, in GiB.
   27     28   
     * + `snapshot-id` - The snapshot from which the volume was created.
   28     29   
     * + `status` - The state of the volume (`creating` | `available` | `in-use` | `deleting` | `deleted` | `error`).
   29     30   
     * + `tag`:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA`, specify `tag:Owner` for the filter name and `TeamA` for the filter value.
@@ -72,73 +131,133 @@
   92     93   
         */
   93     94   
        public var dryRun: kotlin.Boolean? = null
   94     95   
        /**
   95     96   
         * The filters.
   96     97   
         * + `attachment.attach-time` - The time stamp when the attachment initiated.
   97     98   
         * + `attachment.delete-on-termination` - Whether the volume is deleted on instance termination.
   98     99   
         * + `attachment.device` - The device name specified in the block device mapping (for example, `/dev/sda1`).
   99    100   
         * + `attachment.instance-id` - The ID of the instance the volume is attached to.
  100    101   
         * + `attachment.status` - The attachment state (`attaching` | `attached` | `detaching`).
  101    102   
         * + `availability-zone` - The Availability Zone in which the volume was created.
         103  +
         * + `availability-zone-id` - The ID of the Availability Zone in which the volume was created.
  102    104   
         * + `create-time` - The time stamp when the volume was created.
  103    105   
         * + `encrypted` - Indicates whether the volume is encrypted (`true` | `false`)
  104    106   
         * + `fast-restored` - Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (`true` | `false`).
  105    107   
         * + `multi-attach-enabled` - Indicates whether the volume is enabled for Multi-Attach (`true` | `false`)
  106    108   
         * + `operator.managed` - A Boolean that indicates whether this is a managed volume.
  107    109   
         * + `operator.principal` - The principal that manages the volume. Only valid for managed volumes, where `managed` is `true`.
  108    110   
         * + `size` - The size of the volume, in GiB.
  109    111   
         * + `snapshot-id` - The snapshot from which the volume was created.
  110    112   
         * + `status` - The state of the volume (`creating` | `available` | `in-use` | `deleting` | `deleted` | `error`).
  111    113   
         * + `tag`:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key `Owner` and the value `TeamA`, specify `tag:Owner` for the filter name and `TeamA` for the filter value.

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

@@ -1,1 +50,49 @@
   10     10   
     */
   11     11   
    public val dryRun: kotlin.Boolean? = builder.dryRun
   12     12   
    /**
   13     13   
     * The filters.
   14     14   
     * + `vpc-endpoint-id` - The ID of the VPC endpoint.
   15     15   
     * + `associated-resource-accessibility` - The association state. When the state is `accessible`, it returns `AVAILABLE`. When the state is `inaccessible`, it returns `PENDING` or `FAILED`.
   16     16   
     * + `association-id` - The ID of the VPC endpoint association.
   17     17   
     * + `associated-resource-id` - The ID of the associated resource configuration.
   18     18   
     * + `service-network-arn` - The Amazon Resource Name (ARN) of the associated service network. Only VPC endpoints of type service network will be returned.
   19     19   
     * + `resource-configuration-group-arn` - The Amazon Resource Name (ARN) of the resource configuration of type GROUP.
   20         -
     * + `service-network-resource-association-id` - The ID of the association.
   21     20   
     */
   22     21   
    public val filters: List<Filter>? = builder.filters
   23     22   
    /**
   24     23   
     * The maximum page size.
   25     24   
     */
   26     25   
    public val maxResults: kotlin.Int? = builder.maxResults
   27     26   
    /**
   28     27   
     * The pagination token.
   29     28   
     */
   30     29   
    public val nextToken: kotlin.String? = builder.nextToken
@@ -60,59 +120,118 @@
   80     79   
         */
   81     80   
        public var dryRun: kotlin.Boolean? = null
   82     81   
        /**
   83     82   
         * The filters.
   84     83   
         * + `vpc-endpoint-id` - The ID of the VPC endpoint.
   85     84   
         * + `associated-resource-accessibility` - The association state. When the state is `accessible`, it returns `AVAILABLE`. When the state is `inaccessible`, it returns `PENDING` or `FAILED`.
   86     85   
         * + `association-id` - The ID of the VPC endpoint association.
   87     86   
         * + `associated-resource-id` - The ID of the associated resource configuration.
   88     87   
         * + `service-network-arn` - The Amazon Resource Name (ARN) of the associated service network. Only VPC endpoints of type service network will be returned.
   89     88   
         * + `resource-configuration-group-arn` - The Amazon Resource Name (ARN) of the resource configuration of type GROUP.
   90         -
         * + `service-network-resource-association-id` - The ID of the association.
   91     89   
         */
   92     90   
        public var filters: List<Filter>? = null
   93     91   
        /**
   94     92   
         * The maximum page size.
   95     93   
         */
   96     94   
        public var maxResults: kotlin.Int? = null
   97     95   
        /**
   98     96   
         * The pagination token.
   99     97   
         */
  100     98   
        public var nextToken: kotlin.String? = null

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

@@ -21,21 +132,133 @@
   41     41   
     * + If you are creating a block device mapping for a **new (empty) volume**, you can include this parameter, and specify either `true` for an encrypted volume, or `false` for an unencrypted volume. If you omit this parameter, it defaults to `false` (unencrypted).
   42     42   
     * + If you are creating a block device mapping from an **existing encrypted or unencrypted snapshot**, you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.
   43     43   
     * + If you are creating a block device mapping from an **existing unencrypted volume**, you can include this parameter, but you must specify `false`. If you specify `true`, the request will fail. In this case, we recommend that you omit the parameter.
   44     44   
     * + If you are creating a block device mapping from an **existing encrypted volume**, you can include this parameter, and specify either `true` or `false`. However, if you specify `false`, the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.
   45     45   
     */
   46     46   
    public val encrypted: kotlin.Boolean? = builder.encrypted
   47     47   
    /**
   48     48   
     * The number of I/O operations per second (IOPS). For `gp3`, `io1`, and `io2` volumes, this represents the number of IOPS that are provisioned for the volume. For `gp2` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.
   49     49   
     *
   50     50   
     * The following are the supported values for each volume type:
   51         -
     * + `gp3`: 3,000 - 16,000 IOPS
          51  +
     * + `gp3`: 3,000 - 80,000 IOPS
   52     52   
     * + `io1`: 100 - 64,000 IOPS
   53     53   
     * + `io2`: 100 - 256,000 IOPS
   54     54   
     *
   55     55   
     * For `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS.
   56     56   
     *
   57     57   
     * This parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS.
   58     58   
     */
   59     59   
    public val iops: kotlin.Int? = builder.iops
   60     60   
    /**
   61     61   
     * Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
   62     62   
     *
   63     63   
     * This parameter is only supported on `BlockDeviceMapping` objects called by [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html), [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html), and [RequestSpotInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html).
   64     64   
     */
   65     65   
    public val kmsKeyId: kotlin.String? = builder.kmsKeyId
   66     66   
    /**
   67     67   
     * The ARN of the Outpost on which the snapshot is stored.
   68     68   
     *
   69     69   
     * This parameter is not supported when using [CreateImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html).
   70     70   
     */
   71     71   
    public val outpostArn: kotlin.String? = builder.outpostArn
   72     72   
    /**
   73     73   
     * The ID of the snapshot.
   74     74   
     */
   75     75   
    public val snapshotId: kotlin.String? = builder.snapshotId
   76     76   
    /**
   77     77   
     * The throughput that the volume supports, in MiB/s.
   78     78   
     *
   79     79   
     * This parameter is valid only for `gp3` volumes.
   80     80   
     *
   81         -
     * Valid Range: Minimum value of 125. Maximum value of 1000.
          81  +
     * Valid Range: Minimum value of 125. Maximum value of 2,000.
   82     82   
     */
   83     83   
    public val throughput: kotlin.Int? = builder.throughput
   84     84   
    /**
   85     85   
     * Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as *volume initialization*. Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation.
   86     86   
     *
   87     87   
     * This parameter is supported only for volumes created from snapshots. Omit this parameter if:
   88     88   
     * + You want to create the volume using fast snapshot restore. You must specify a snapshot that is enabled for fast snapshot restore. In this case, the volume is fully initialized at creation.If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, the volume will be initialized at the specified rate instead of fast snapshot restore.
   89     89   
     * + You want to create a volume that is initialized at the default rate.
   90     90   
     *
   91     91   
     * For more information, see [ Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EC2 User Guide*.
   92     92   
     *
   93     93   
     * This parameter is not supported when using [CreateImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html).
   94     94   
     *
   95     95   
     * Valid range: 100 - 300 MiB/s
   96     96   
     */
   97     97   
    public val volumeInitializationRate: kotlin.Int? = builder.volumeInitializationRate
   98     98   
    /**
   99     99   
     * The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.
  100    100   
     *
  101    101   
     * The following are the supported sizes for each volume type:
  102         -
     * + `gp2` and `gp3`: 1 - 16,384 GiB
         102  +
     * + `gp2`: 1 - 16,384 GiB
         103  +
     * + `gp3`: 1 - 65,536 GiB
  103    104   
     * + `io1`: 4 - 16,384 GiB
  104    105   
     * + `io2`: 4 - 65,536 GiB
  105    106   
     * + `st1` and `sc1`: 125 - 16,384 GiB
  106    107   
     * + `standard`: 1 - 1024 GiB
  107    108   
     */
  108    109   
    public val volumeSize: kotlin.Int? = builder.volumeSize
  109    110   
    /**
  110    111   
     * The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide*.
  111    112   
     */
  112    113   
    public val volumeType: aws.sdk.kotlin.services.ec2.model.VolumeType? = builder.volumeType
@@ -187,188 +298,300 @@
  207    208   
         * + If you are creating a block device mapping for a **new (empty) volume**, you can include this parameter, and specify either `true` for an encrypted volume, or `false` for an unencrypted volume. If you omit this parameter, it defaults to `false` (unencrypted).
  208    209   
         * + If you are creating a block device mapping from an **existing encrypted or unencrypted snapshot**, you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.
  209    210   
         * + If you are creating a block device mapping from an **existing unencrypted volume**, you can include this parameter, but you must specify `false`. If you specify `true`, the request will fail. In this case, we recommend that you omit the parameter.
  210    211   
         * + If you are creating a block device mapping from an **existing encrypted volume**, you can include this parameter, and specify either `true` or `false`. However, if you specify `false`, the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.
  211    212   
         */
  212    213   
        public var encrypted: kotlin.Boolean? = null
  213    214   
        /**
  214    215   
         * The number of I/O operations per second (IOPS). For `gp3`, `io1`, and `io2` volumes, this represents the number of IOPS that are provisioned for the volume. For `gp2` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.
  215    216   
         *
  216    217   
         * The following are the supported values for each volume type:
  217         -
         * + `gp3`: 3,000 - 16,000 IOPS
         218  +
         * + `gp3`: 3,000 - 80,000 IOPS
  218    219   
         * + `io1`: 100 - 64,000 IOPS
  219    220   
         * + `io2`: 100 - 256,000 IOPS
  220    221   
         *
  221    222   
         * For `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS.
  222    223   
         *
  223    224   
         * This parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS.
  224    225   
         */
  225    226   
        public var iops: kotlin.Int? = null
  226    227   
        /**
  227    228   
         * Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
  228    229   
         *
  229    230   
         * This parameter is only supported on `BlockDeviceMapping` objects called by [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html), [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html), and [RequestSpotInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html).
  230    231   
         */
  231    232   
        public var kmsKeyId: kotlin.String? = null
  232    233   
        /**
  233    234   
         * The ARN of the Outpost on which the snapshot is stored.
  234    235   
         *
  235    236   
         * This parameter is not supported when using [CreateImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html).
  236    237   
         */
  237    238   
        public var outpostArn: kotlin.String? = null
  238    239   
        /**
  239    240   
         * The ID of the snapshot.
  240    241   
         */
  241    242   
        public var snapshotId: kotlin.String? = null
  242    243   
        /**
  243    244   
         * The throughput that the volume supports, in MiB/s.
  244    245   
         *
  245    246   
         * This parameter is valid only for `gp3` volumes.
  246    247   
         *
  247         -
         * Valid Range: Minimum value of 125. Maximum value of 1000.
         248  +
         * Valid Range: Minimum value of 125. Maximum value of 2,000.
  248    249   
         */
  249    250   
        public var throughput: kotlin.Int? = null
  250    251   
        /**
  251    252   
         * Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as *volume initialization*. Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation.
  252    253   
         *
  253    254   
         * This parameter is supported only for volumes created from snapshots. Omit this parameter if:
  254    255   
         * + You want to create the volume using fast snapshot restore. You must specify a snapshot that is enabled for fast snapshot restore. In this case, the volume is fully initialized at creation.If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, the volume will be initialized at the specified rate instead of fast snapshot restore.
  255    256   
         * + You want to create a volume that is initialized at the default rate.
  256    257   
         *
  257    258   
         * For more information, see [ Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EC2 User Guide*.
  258    259   
         *
  259    260   
         * This parameter is not supported when using [CreateImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html).
  260    261   
         *
  261    262   
         * Valid range: 100 - 300 MiB/s
  262    263   
         */
  263    264   
        public var volumeInitializationRate: kotlin.Int? = null
  264    265   
        /**
  265    266   
         * The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.
  266    267   
         *
  267    268   
         * The following are the supported sizes for each volume type:
  268         -
         * + `gp2` and `gp3`: 1 - 16,384 GiB
         269  +
         * + `gp2`: 1 - 16,384 GiB
         270  +
         * + `gp3`: 1 - 65,536 GiB
  269    271   
         * + `io1`: 4 - 16,384 GiB
  270    272   
         * + `io2`: 4 - 65,536 GiB
  271    273   
         * + `st1` and `sc1`: 125 - 16,384 GiB
  272    274   
         * + `standard`: 1 - 1024 GiB
  273    275   
         */
  274    276   
        public var volumeSize: kotlin.Int? = null
  275    277   
        /**
  276    278   
         * The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide*.
  277    279   
         */
  278    280   
        public var volumeType: aws.sdk.kotlin.services.ec2.model.VolumeType? = null

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

@@ -1,1 +108,132 @@
    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   
/**
    8      8   
 * Describes the Amazon EBS features supported by the instance type.
    9      9   
 */
   10     10   
public class EbsInfo private constructor(builder: Builder) {
          11  +
    /**
          12  +
     * Indicates whether the instance type features a shared or dedicated Amazon EBS volume attachment limit. For more information, see [Amazon EBS volume limits for Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/volume_limits.html) in the *Amazon EC2 User Guide*.
          13  +
     */
          14  +
    public val attachmentLimitType: aws.sdk.kotlin.services.ec2.model.AttachmentLimitType? = builder.attachmentLimitType
   11     15   
    /**
   12     16   
     * Describes the optimized EBS performance for the instance type.
   13     17   
     */
   14     18   
    public val ebsOptimizedInfo: aws.sdk.kotlin.services.ec2.model.EbsOptimizedInfo? = builder.ebsOptimizedInfo
   15     19   
    /**
   16     20   
     * Indicates whether the instance type is Amazon EBS-optimized. For more information, see [Amazon EBS-optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) in *Amazon EC2 User Guide*.
   17     21   
     */
   18     22   
    public val ebsOptimizedSupport: aws.sdk.kotlin.services.ec2.model.EbsOptimizedSupport? = builder.ebsOptimizedSupport
   19     23   
    /**
   20     24   
     * Indicates whether Amazon EBS encryption is supported.
   21     25   
     */
   22     26   
    public val encryptionSupport: aws.sdk.kotlin.services.ec2.model.EbsEncryptionSupport? = builder.encryptionSupport
          27  +
    /**
          28  +
     * Indicates the maximum number of Amazon EBS volumes that can be attached to the instance type. For more information, see [Amazon EBS volume limits for Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/volume_limits.html) in the *Amazon EC2 User Guide*.
          29  +
     */
          30  +
    public val maximumEbsAttachments: kotlin.Int? = builder.maximumEbsAttachments
   23     31   
    /**
   24     32   
     * Indicates whether non-volatile memory express (NVMe) is supported.
   25     33   
     */
   26     34   
    public val nvmeSupport: aws.sdk.kotlin.services.ec2.model.EbsNvmeSupport? = builder.nvmeSupport
   27     35   
   28     36   
    public companion object {
   29     37   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.EbsInfo = Builder().apply(block).build()
   30     38   
    }
   31     39   
   32     40   
    override fun toString(): kotlin.String = buildString {
   33     41   
        append("EbsInfo(")
          42  +
        append("attachmentLimitType=$attachmentLimitType,")
   34     43   
        append("ebsOptimizedInfo=$ebsOptimizedInfo,")
   35     44   
        append("ebsOptimizedSupport=$ebsOptimizedSupport,")
   36     45   
        append("encryptionSupport=$encryptionSupport,")
          46  +
        append("maximumEbsAttachments=$maximumEbsAttachments,")
   37     47   
        append("nvmeSupport=$nvmeSupport")
   38     48   
        append(")")
   39     49   
    }
   40     50   
   41     51   
    override fun hashCode(): kotlin.Int {
   42         -
        var result = ebsOptimizedInfo?.hashCode() ?: 0
          52  +
        var result = attachmentLimitType?.hashCode() ?: 0
          53  +
        result = 31 * result + (ebsOptimizedInfo?.hashCode() ?: 0)
   43     54   
        result = 31 * result + (ebsOptimizedSupport?.hashCode() ?: 0)
   44     55   
        result = 31 * result + (encryptionSupport?.hashCode() ?: 0)
          56  +
        result = 31 * result + (maximumEbsAttachments ?: 0)
   45     57   
        result = 31 * result + (nvmeSupport?.hashCode() ?: 0)
   46     58   
        return result
   47     59   
    }
   48     60   
   49     61   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   50     62   
        if (this === other) return true
   51     63   
        if (other == null || this::class != other::class) return false
   52     64   
   53     65   
        other as EbsInfo
   54     66   
          67  +
        if (attachmentLimitType != other.attachmentLimitType) return false
   55     68   
        if (ebsOptimizedInfo != other.ebsOptimizedInfo) return false
   56     69   
        if (ebsOptimizedSupport != other.ebsOptimizedSupport) return false
   57     70   
        if (encryptionSupport != other.encryptionSupport) return false
          71  +
        if (maximumEbsAttachments != other.maximumEbsAttachments) return false
   58     72   
        if (nvmeSupport != other.nvmeSupport) return false
   59     73   
   60     74   
        return true
   61     75   
    }
   62     76   
   63     77   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.EbsInfo = Builder(this).apply(block).build()
   64     78   
   65     79   
    @SdkDsl
   66     80   
    public class Builder {
          81  +
        /**
          82  +
         * Indicates whether the instance type features a shared or dedicated Amazon EBS volume attachment limit. For more information, see [Amazon EBS volume limits for Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/volume_limits.html) in the *Amazon EC2 User Guide*.
          83  +
         */
          84  +
        public var attachmentLimitType: aws.sdk.kotlin.services.ec2.model.AttachmentLimitType? = null
   67     85   
        /**
   68     86   
         * Describes the optimized EBS performance for the instance type.
   69     87   
         */
   70     88   
        public var ebsOptimizedInfo: aws.sdk.kotlin.services.ec2.model.EbsOptimizedInfo? = null
   71     89   
        /**
   72     90   
         * Indicates whether the instance type is Amazon EBS-optimized. For more information, see [Amazon EBS-optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) in *Amazon EC2 User Guide*.
   73     91   
         */
   74     92   
        public var ebsOptimizedSupport: aws.sdk.kotlin.services.ec2.model.EbsOptimizedSupport? = null
   75     93   
        /**
   76     94   
         * Indicates whether Amazon EBS encryption is supported.
   77     95   
         */
   78     96   
        public var encryptionSupport: aws.sdk.kotlin.services.ec2.model.EbsEncryptionSupport? = null
          97  +
        /**
          98  +
         * Indicates the maximum number of Amazon EBS volumes that can be attached to the instance type. For more information, see [Amazon EBS volume limits for Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/volume_limits.html) in the *Amazon EC2 User Guide*.
          99  +
         */
         100  +
        public var maximumEbsAttachments: kotlin.Int? = null
   79    101   
        /**
   80    102   
         * Indicates whether non-volatile memory express (NVMe) is supported.
   81    103   
         */
   82    104   
        public var nvmeSupport: aws.sdk.kotlin.services.ec2.model.EbsNvmeSupport? = null
   83    105   
   84    106   
        @PublishedApi
   85    107   
        internal constructor()
   86    108   
        @PublishedApi
   87    109   
        internal constructor(x: aws.sdk.kotlin.services.ec2.model.EbsInfo) : this() {
         110  +
            this.attachmentLimitType = x.attachmentLimitType
   88    111   
            this.ebsOptimizedInfo = x.ebsOptimizedInfo
   89    112   
            this.ebsOptimizedSupport = x.ebsOptimizedSupport
   90    113   
            this.encryptionSupport = x.encryptionSupport
         114  +
            this.maximumEbsAttachments = x.maximumEbsAttachments
   91    115   
            this.nvmeSupport = x.nvmeSupport
   92    116   
        }
   93    117   
   94    118   
        @PublishedApi
   95    119   
        internal fun build(): aws.sdk.kotlin.services.ec2.model.EbsInfo = EbsInfo(this)
   96    120   
   97    121   
        /**
   98    122   
         * construct an [aws.sdk.kotlin.services.ec2.model.EbsOptimizedInfo] inside the given [block]
   99    123   
         */
  100    124   
        public fun ebsOptimizedInfo(block: aws.sdk.kotlin.services.ec2.model.EbsOptimizedInfo.Builder.() -> kotlin.Unit) {

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

@@ -26,26 +254,273 @@
   46     46   
     */
   47     47   
    public val ownerId: kotlin.String? = builder.ownerId
   48     48   
    /**
   49     49   
     * Indicates whether your client's IP address is preserved as the source. The value is `true` or `false`.
   50     50   
     * + If `true`, your client's IP address is used when you connect to a resource.
   51     51   
     * + If `false`, the elastic network interface IP address is used when you connect to a resource.
   52     52   
     *
   53     53   
     * Default: `true`
   54     54   
     */
   55     55   
    public val preserveClientIp: kotlin.Boolean? = builder.preserveClientIp
          56  +
    /**
          57  +
     * The public DNS names of the endpoint.
          58  +
     */
          59  +
    public val publicDnsNames: aws.sdk.kotlin.services.ec2.model.InstanceConnectEndpointPublicDnsNames? = builder.publicDnsNames
   56     60   
    /**
   57     61   
     * The security groups associated with the endpoint. If you didn't specify a security group, the default security group for your VPC is associated with the endpoint.
   58     62   
     */
   59     63   
    public val securityGroupIds: List<String>? = builder.securityGroupIds
   60     64   
    /**
   61     65   
     * The current state of the EC2 Instance Connect Endpoint.
   62     66   
     */
   63     67   
    public val state: aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpointState? = builder.state
   64     68   
    /**
   65     69   
     * The message for the current state of the EC2 Instance Connect Endpoint. Can include a failure message.
   66     70   
     */
   67     71   
    public val stateMessage: kotlin.String? = builder.stateMessage
   68     72   
    /**
   69     73   
     * The ID of the subnet in which the EC2 Instance Connect Endpoint was created.
   70     74   
     */
   71     75   
    public val subnetId: kotlin.String? = builder.subnetId
   72     76   
    /**
   73     77   
     * The tags assigned to the EC2 Instance Connect Endpoint.
   74     78   
     */
   75     79   
    public val tags: List<Tag>? = builder.tags
   76     80   
    /**
   77     81   
     * The ID of the VPC in which the EC2 Instance Connect Endpoint was created.
   78     82   
     */
   79     83   
    public val vpcId: kotlin.String? = builder.vpcId
   80     84   
   81     85   
    public companion object {
   82     86   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpoint = Builder().apply(block).build()
   83     87   
    }
   84     88   
   85     89   
    override fun toString(): kotlin.String = buildString {
   86     90   
        append("Ec2InstanceConnectEndpoint(")
   87     91   
        append("availabilityZone=$availabilityZone,")
   88     92   
        append("createdAt=$createdAt,")
   89     93   
        append("dnsName=$dnsName,")
   90     94   
        append("fipsDnsName=$fipsDnsName,")
   91     95   
        append("instanceConnectEndpointArn=$instanceConnectEndpointArn,")
   92     96   
        append("instanceConnectEndpointId=$instanceConnectEndpointId,")
   93     97   
        append("ipAddressType=$ipAddressType,")
   94     98   
        append("networkInterfaceIds=$networkInterfaceIds,")
   95     99   
        append("ownerId=$ownerId,")
   96    100   
        append("preserveClientIp=$preserveClientIp,")
         101  +
        append("publicDnsNames=$publicDnsNames,")
   97    102   
        append("securityGroupIds=$securityGroupIds,")
   98    103   
        append("state=$state,")
   99    104   
        append("stateMessage=$stateMessage,")
  100    105   
        append("subnetId=$subnetId,")
  101    106   
        append("tags=$tags,")
  102    107   
        append("vpcId=$vpcId")
  103    108   
        append(")")
  104    109   
    }
  105    110   
  106    111   
    override fun hashCode(): kotlin.Int {
  107    112   
        var result = availabilityZone?.hashCode() ?: 0
  108    113   
        result = 31 * result + (createdAt?.hashCode() ?: 0)
  109    114   
        result = 31 * result + (dnsName?.hashCode() ?: 0)
  110    115   
        result = 31 * result + (fipsDnsName?.hashCode() ?: 0)
  111    116   
        result = 31 * result + (instanceConnectEndpointArn?.hashCode() ?: 0)
  112    117   
        result = 31 * result + (instanceConnectEndpointId?.hashCode() ?: 0)
  113    118   
        result = 31 * result + (ipAddressType?.hashCode() ?: 0)
  114    119   
        result = 31 * result + (networkInterfaceIds?.hashCode() ?: 0)
  115    120   
        result = 31 * result + (ownerId?.hashCode() ?: 0)
  116    121   
        result = 31 * result + (preserveClientIp?.hashCode() ?: 0)
         122  +
        result = 31 * result + (publicDnsNames?.hashCode() ?: 0)
  117    123   
        result = 31 * result + (securityGroupIds?.hashCode() ?: 0)
  118    124   
        result = 31 * result + (state?.hashCode() ?: 0)
  119    125   
        result = 31 * result + (stateMessage?.hashCode() ?: 0)
  120    126   
        result = 31 * result + (subnetId?.hashCode() ?: 0)
  121    127   
        result = 31 * result + (tags?.hashCode() ?: 0)
  122    128   
        result = 31 * result + (vpcId?.hashCode() ?: 0)
  123    129   
        return result
  124    130   
    }
  125    131   
  126    132   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
  127    133   
        if (this === other) return true
  128    134   
        if (other == null || this::class != other::class) return false
  129    135   
  130    136   
        other as Ec2InstanceConnectEndpoint
  131    137   
  132    138   
        if (availabilityZone != other.availabilityZone) return false
  133    139   
        if (createdAt != other.createdAt) return false
  134    140   
        if (dnsName != other.dnsName) return false
  135    141   
        if (fipsDnsName != other.fipsDnsName) return false
  136    142   
        if (instanceConnectEndpointArn != other.instanceConnectEndpointArn) return false
  137    143   
        if (instanceConnectEndpointId != other.instanceConnectEndpointId) return false
  138    144   
        if (ipAddressType != other.ipAddressType) return false
  139    145   
        if (networkInterfaceIds != other.networkInterfaceIds) return false
  140    146   
        if (ownerId != other.ownerId) return false
  141    147   
        if (preserveClientIp != other.preserveClientIp) return false
         148  +
        if (publicDnsNames != other.publicDnsNames) return false
  142    149   
        if (securityGroupIds != other.securityGroupIds) return false
  143    150   
        if (state != other.state) return false
  144    151   
        if (stateMessage != other.stateMessage) return false
  145    152   
        if (subnetId != other.subnetId) return false
  146    153   
        if (tags != other.tags) return false
  147    154   
        if (vpcId != other.vpcId) return false
  148    155   
  149    156   
        return true
  150    157   
    }
  151    158   
  152    159   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpoint = Builder(this).apply(block).build()
  153    160   
  154    161   
    @SdkDsl
  155    162   
    public class Builder {
  156    163   
        /**
  157    164   
         * The Availability Zone of the EC2 Instance Connect Endpoint.
  158    165   
         */
  159    166   
        public var availabilityZone: kotlin.String? = null
  160    167   
        /**
  161    168   
         * The date and time that the EC2 Instance Connect Endpoint was created.
  162    169   
         */
  163    170   
        public var createdAt: aws.smithy.kotlin.runtime.time.Instant? = null
  164    171   
        /**
  165    172   
         * The DNS name of the EC2 Instance Connect Endpoint.
  166    173   
         */
  167    174   
        public var dnsName: kotlin.String? = null
  168    175   
        /**
  169    176   
         * The Federal Information Processing Standards (FIPS) compliant DNS name of the EC2 Instance Connect Endpoint.
  170    177   
         */
  171    178   
        public var fipsDnsName: kotlin.String? = null
  172    179   
        /**
  173    180   
         * The Amazon Resource Name (ARN) of the EC2 Instance Connect Endpoint.
  174    181   
         */
  175    182   
        public var instanceConnectEndpointArn: kotlin.String? = null
  176    183   
        /**
  177    184   
         * The ID of the EC2 Instance Connect Endpoint.
  178    185   
         */
  179    186   
        public var instanceConnectEndpointId: kotlin.String? = null
  180    187   
        /**
  181    188   
         * The IP address type of the endpoint.
  182    189   
         */
  183    190   
        public var ipAddressType: aws.sdk.kotlin.services.ec2.model.IpAddressType? = null
  184    191   
        /**
  185    192   
         * The ID of the elastic network interface that Amazon EC2 automatically created when creating the EC2 Instance Connect Endpoint.
  186    193   
         */
  187    194   
        public var networkInterfaceIds: List<String>? = null
  188    195   
        /**
  189    196   
         * The ID of the Amazon Web Services account that created the EC2 Instance Connect Endpoint.
  190    197   
         */
  191    198   
        public var ownerId: kotlin.String? = null
  192    199   
        /**
  193    200   
         * Indicates whether your client's IP address is preserved as the source. The value is `true` or `false`.
  194    201   
         * + If `true`, your client's IP address is used when you connect to a resource.
  195    202   
         * + If `false`, the elastic network interface IP address is used when you connect to a resource.
  196    203   
         *
  197    204   
         * Default: `true`
  198    205   
         */
  199    206   
        public var preserveClientIp: kotlin.Boolean? = null
         207  +
        /**
         208  +
         * The public DNS names of the endpoint.
         209  +
         */
         210  +
        public var publicDnsNames: aws.sdk.kotlin.services.ec2.model.InstanceConnectEndpointPublicDnsNames? = null
  200    211   
        /**
  201    212   
         * The security groups associated with the endpoint. If you didn't specify a security group, the default security group for your VPC is associated with the endpoint.
  202    213   
         */
  203    214   
        public var securityGroupIds: List<String>? = null
  204    215   
        /**
  205    216   
         * The current state of the EC2 Instance Connect Endpoint.
  206    217   
         */
  207    218   
        public var state: aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpointState? = null
  208    219   
        /**
  209    220   
         * The message for the current state of the EC2 Instance Connect Endpoint. Can include a failure message.
  210    221   
         */
  211    222   
        public var stateMessage: kotlin.String? = null
  212    223   
        /**
  213    224   
         * The ID of the subnet in which the EC2 Instance Connect Endpoint was created.
  214    225   
         */
  215    226   
        public var subnetId: kotlin.String? = null
  216    227   
        /**
  217    228   
         * The tags assigned to the EC2 Instance Connect Endpoint.
  218    229   
         */
  219    230   
        public var tags: List<Tag>? = null
  220    231   
        /**
  221    232   
         * The ID of the VPC in which the EC2 Instance Connect Endpoint was created.
  222    233   
         */
  223    234   
        public var vpcId: kotlin.String? = null
  224    235   
  225    236   
        @PublishedApi
  226    237   
        internal constructor()
  227    238   
        @PublishedApi
  228    239   
        internal constructor(x: aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpoint) : this() {
  229    240   
            this.availabilityZone = x.availabilityZone
  230    241   
            this.createdAt = x.createdAt
  231    242   
            this.dnsName = x.dnsName
  232    243   
            this.fipsDnsName = x.fipsDnsName
  233    244   
            this.instanceConnectEndpointArn = x.instanceConnectEndpointArn
  234    245   
            this.instanceConnectEndpointId = x.instanceConnectEndpointId
  235    246   
            this.ipAddressType = x.ipAddressType
  236    247   
            this.networkInterfaceIds = x.networkInterfaceIds
  237    248   
            this.ownerId = x.ownerId
  238    249   
            this.preserveClientIp = x.preserveClientIp
         250  +
            this.publicDnsNames = x.publicDnsNames
  239    251   
            this.securityGroupIds = x.securityGroupIds
  240    252   
            this.state = x.state
  241    253   
            this.stateMessage = x.stateMessage
  242    254   
            this.subnetId = x.subnetId
  243    255   
            this.tags = x.tags
  244    256   
            this.vpcId = x.vpcId
  245    257   
        }
  246    258   
  247    259   
        @PublishedApi
  248    260   
        internal fun build(): aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpoint = Ec2InstanceConnectEndpoint(this)
  249    261   
         262  +
        /**
         263  +
         * construct an [aws.sdk.kotlin.services.ec2.model.InstanceConnectEndpointPublicDnsNames] inside the given [block]
         264  +
         */
         265  +
        public fun publicDnsNames(block: aws.sdk.kotlin.services.ec2.model.InstanceConnectEndpointPublicDnsNames.Builder.() -> kotlin.Unit) {
         266  +
            this.publicDnsNames = aws.sdk.kotlin.services.ec2.model.InstanceConnectEndpointPublicDnsNames.invoke(block)
         267  +
        }
         268  +
  250    269   
        internal fun correctErrors(): Builder {
  251    270   
            return this
  252    271   
        }
  253    272   
    }
  254    273   
}

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

@@ -10,10 +72,93 @@
   30     30   
    public object DeleteFailed : aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpointState() {
   31     31   
        override val value: kotlin.String = "delete-failed"
   32     32   
        override fun toString(): kotlin.String = "DeleteFailed"
   33     33   
    }
   34     34   
   35     35   
    public object DeleteInProgress : aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpointState() {
   36     36   
        override val value: kotlin.String = "delete-in-progress"
   37     37   
        override fun toString(): kotlin.String = "DeleteInProgress"
   38     38   
    }
   39     39   
          40  +
    public object UpdateComplete : aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpointState() {
          41  +
        override val value: kotlin.String = "update-complete"
          42  +
        override fun toString(): kotlin.String = "UpdateComplete"
          43  +
    }
          44  +
          45  +
    public object UpdateFailed : aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpointState() {
          46  +
        override val value: kotlin.String = "update-failed"
          47  +
        override fun toString(): kotlin.String = "UpdateFailed"
          48  +
    }
          49  +
          50  +
    public object UpdateInProgress : aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpointState() {
          51  +
        override val value: kotlin.String = "update-in-progress"
          52  +
        override fun toString(): kotlin.String = "UpdateInProgress"
          53  +
    }
          54  +
   40     55   
    public data class SdkUnknown(override val value: kotlin.String) : aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpointState() {
   41     56   
        override fun toString(): kotlin.String = "SdkUnknown($value)"
   42     57   
    }
   43     58   
   44     59   
    public companion object {
   45     60   
        /**
   46     61   
         * Convert a raw value to one of the sealed variants or [SdkUnknown]
   47     62   
         */
   48     63   
        public fun fromValue(value: kotlin.String): aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpointState = when (value) {
   49     64   
            "create-complete" -> CreateComplete
   50     65   
            "create-failed" -> CreateFailed
   51     66   
            "create-in-progress" -> CreateInProgress
   52     67   
            "delete-complete" -> DeleteComplete
   53     68   
            "delete-failed" -> DeleteFailed
   54     69   
            "delete-in-progress" -> DeleteInProgress
          70  +
            "update-complete" -> UpdateComplete
          71  +
            "update-failed" -> UpdateFailed
          72  +
            "update-in-progress" -> UpdateInProgress
   55     73   
            else -> SdkUnknown(value)
   56     74   
        }
   57     75   
   58     76   
        /**
   59     77   
         * Get a list of all possible variants
   60     78   
         */
   61     79   
        public fun values(): kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpointState> = values
   62     80   
   63     81   
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.ec2.model.Ec2InstanceConnectEndpointState> = listOf(
   64     82   
            CreateComplete,
   65     83   
            CreateFailed,
   66     84   
            CreateInProgress,
   67     85   
            DeleteComplete,
   68     86   
            DeleteFailed,
   69     87   
            DeleteInProgress,
          88  +
            UpdateComplete,
          89  +
            UpdateFailed,
          90  +
            UpdateInProgress,
   70     91   
        )
   71     92   
    }
   72     93   
}

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

@@ -1,1 +43,47 @@
    3      3   
package aws.sdk.kotlin.services.ec2.model
    4      4   
    5      5   
import aws.smithy.kotlin.runtime.SdkDsl
    6      6   
import aws.smithy.kotlin.runtime.time.Instant
    7      7   
    8      8   
/**
    9      9   
 * Describes an EC2 Fleet.
   10     10   
 */
   11     11   
public class FleetData private constructor(builder: Builder) {
   12     12   
    /**
   13         -
     * The progress of the EC2 Fleet. If there is an error, the status is `error`. After all requests are placed, the status is `pending_fulfillment`. If the size of the EC2 Fleet is equal to or greater than its target capacity, the status is `fulfilled`. If the size of the EC2 Fleet is decreased, the status is `pending_termination` while instances are terminating.
          13  +
     * The progress of the EC2 Fleet.
          14  +
     *
          15  +
     * For fleets of type `instant`, the status is `fulfilled` after all requests are placed, regardless of whether target capacity is met (this is the only possible status for `instant` fleets).
          16  +
     *
          17  +
     * For fleets of type `request` or `maintain`, the status is `pending_fulfillment` after all requests are placed, `fulfilled` when the fleet size meets or exceeds target capacity, `pending_termination` while instances are terminating when fleet size is decreased, and `error` if there's an error.
   14     18   
     */
   15     19   
    public val activityStatus: aws.sdk.kotlin.services.ec2.model.FleetActivityStatus? = builder.activityStatus
   16     20   
    /**
   17     21   
     * Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see [Ensuring idempotency](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
   18     22   
     *
   19     23   
     * Constraints: Maximum 64 ASCII characters
   20     24   
     */
   21     25   
    public val clientToken: kotlin.String? = builder.clientToken
   22     26   
    /**
   23     27   
     * Reserved.
@@ -162,166 +222,230 @@
  182    186   
        if (validUntil != other.validUntil) return false
  183    187   
  184    188   
        return true
  185    189   
    }
  186    190   
  187    191   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.FleetData = Builder(this).apply(block).build()
  188    192   
  189    193   
    @SdkDsl
  190    194   
    public class Builder {
  191    195   
        /**
  192         -
         * The progress of the EC2 Fleet. If there is an error, the status is `error`. After all requests are placed, the status is `pending_fulfillment`. If the size of the EC2 Fleet is equal to or greater than its target capacity, the status is `fulfilled`. If the size of the EC2 Fleet is decreased, the status is `pending_termination` while instances are terminating.
         196  +
         * The progress of the EC2 Fleet.
         197  +
         *
         198  +
         * For fleets of type `instant`, the status is `fulfilled` after all requests are placed, regardless of whether target capacity is met (this is the only possible status for `instant` fleets).
         199  +
         *
         200  +
         * For fleets of type `request` or `maintain`, the status is `pending_fulfillment` after all requests are placed, `fulfilled` when the fleet size meets or exceeds target capacity, `pending_termination` while instances are terminating when fleet size is decreased, and `error` if there's an error.
  193    201   
         */
  194    202   
        public var activityStatus: aws.sdk.kotlin.services.ec2.model.FleetActivityStatus? = null
  195    203   
        /**
  196    204   
         * Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see [Ensuring idempotency](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  197    205   
         *
  198    206   
         * Constraints: Maximum 64 ASCII characters
  199    207   
         */
  200    208   
        public var clientToken: kotlin.String? = null
  201    209   
        /**
  202    210   
         * Reserved.

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

@@ -5,5 +96,97 @@
   25     25   
     * + If you are creating a block device mapping for a **new (empty) volume**, you can include this parameter, and specify either `true` for an encrypted volume, or `false` for an unencrypted volume. If you omit this parameter, it defaults to `false` (unencrypted).
   26     26   
     * + If you are creating a block device mapping from an **existing encrypted or unencrypted snapshot**, you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.
   27     27   
     * + If you are creating a block device mapping from an **existing unencrypted volume**, you can include this parameter, but you must specify `false`. If you specify `true`, the request will fail. In this case, we recommend that you omit the parameter.
   28     28   
     * + If you are creating a block device mapping from an **existing encrypted volume**, you can include this parameter, and specify either `true` or `false`. However, if you specify `false`, the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.
   29     29   
     */
   30     30   
    public val encrypted: kotlin.Boolean? = builder.encrypted
   31     31   
    /**
   32     32   
     * The number of I/O operations per second (IOPS). For `gp3`, `io1`, and `io2` volumes, this represents the number of IOPS that are provisioned for the volume. For `gp2` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.
   33     33   
     *
   34     34   
     * The following are the supported values for each volume type:
   35         -
     * + `gp3`: 3,000 - 16,000 IOPS
          35  +
     * + `gp3`: 3,000 - 80,000 IOPS
   36     36   
     * + `io1`: 100 - 64,000 IOPS
   37     37   
     * + `io2`: 100 - 256,000 IOPS
   38     38   
     *
   39     39   
     * For `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS.
   40     40   
     *
   41     41   
     * This parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS.
   42     42   
     */
   43     43   
    public val iops: kotlin.Int? = builder.iops
   44     44   
    /**
   45     45   
     * Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
   46     46   
     *
   47     47   
     * This parameter is only supported on `BlockDeviceMapping` objects called by [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html), [RequestSpotInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html), and [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html).
   48     48   
     */
   49     49   
    public val kmsKeyId: kotlin.String? = builder.kmsKeyId
   50     50   
    /**
   51     51   
     * The ID of the snapshot.
   52     52   
     */
   53     53   
    public val snapshotId: kotlin.String? = builder.snapshotId
   54     54   
    /**
   55     55   
     * The throughput that the volume supports, in MiB/s.
   56     56   
     *
   57     57   
     * This parameter is valid only for `gp3` volumes.
   58     58   
     *
   59         -
     * Valid Range: Minimum value of 125. Maximum value of 1000.
          59  +
     * Valid Range: Minimum value of 125. Maximum value of 2,000.
   60     60   
     */
   61     61   
    public val throughput: kotlin.Int? = builder.throughput
   62     62   
    /**
   63     63   
     * The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.
   64     64   
     *
   65     65   
     * The following are the supported sizes for each volume type:
   66         -
     * + `gp2` and `gp3`: 1 - 16,384 GiB
          66  +
     * + `gp2`: 1 - 16,384 GiB
          67  +
     * + `gp3`: 1 - 65,536 GiB
   67     68   
     * + `io1`: 4 - 16,384 GiB
   68     69   
     * + `io2`: 4 - 65,536 GiB
   69     70   
     * + `st1` and `sc1`: 125 - 16,384 GiB
   70     71   
     * + `standard`: 1 - 1024 GiB
   71     72   
     */
   72     73   
    public val volumeSize: kotlin.Int? = builder.volumeSize
   73     74   
    /**
   74     75   
     * The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide*.
   75     76   
     */
   76     77   
    public val volumeType: aws.sdk.kotlin.services.ec2.model.VolumeType? = builder.volumeType
@@ -123,124 +214,216 @@
  143    144   
         * + If you are creating a block device mapping for a **new (empty) volume**, you can include this parameter, and specify either `true` for an encrypted volume, or `false` for an unencrypted volume. If you omit this parameter, it defaults to `false` (unencrypted).
  144    145   
         * + If you are creating a block device mapping from an **existing encrypted or unencrypted snapshot**, you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.
  145    146   
         * + If you are creating a block device mapping from an **existing unencrypted volume**, you can include this parameter, but you must specify `false`. If you specify `true`, the request will fail. In this case, we recommend that you omit the parameter.
  146    147   
         * + If you are creating a block device mapping from an **existing encrypted volume**, you can include this parameter, and specify either `true` or `false`. However, if you specify `false`, the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.
  147    148   
         */
  148    149   
        public var encrypted: kotlin.Boolean? = null
  149    150   
        /**
  150    151   
         * The number of I/O operations per second (IOPS). For `gp3`, `io1`, and `io2` volumes, this represents the number of IOPS that are provisioned for the volume. For `gp2` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.
  151    152   
         *
  152    153   
         * The following are the supported values for each volume type:
  153         -
         * + `gp3`: 3,000 - 16,000 IOPS
         154  +
         * + `gp3`: 3,000 - 80,000 IOPS
  154    155   
         * + `io1`: 100 - 64,000 IOPS
  155    156   
         * + `io2`: 100 - 256,000 IOPS
  156    157   
         *
  157    158   
         * For `io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS.
  158    159   
         *
  159    160   
         * This parameter is required for `io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS.
  160    161   
         */
  161    162   
        public var iops: kotlin.Int? = null
  162    163   
        /**
  163    164   
         * Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
  164    165   
         *
  165    166   
         * This parameter is only supported on `BlockDeviceMapping` objects called by [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html), [RequestSpotInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html), and [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html).
  166    167   
         */
  167    168   
        public var kmsKeyId: kotlin.String? = null
  168    169   
        /**
  169    170   
         * The ID of the snapshot.
  170    171   
         */
  171    172   
        public var snapshotId: kotlin.String? = null
  172    173   
        /**
  173    174   
         * The throughput that the volume supports, in MiB/s.
  174    175   
         *
  175    176   
         * This parameter is valid only for `gp3` volumes.
  176    177   
         *
  177         -
         * Valid Range: Minimum value of 125. Maximum value of 1000.
         178  +
         * Valid Range: Minimum value of 125. Maximum value of 2,000.
  178    179   
         */
  179    180   
        public var throughput: kotlin.Int? = null
  180    181   
        /**
  181    182   
         * The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.
  182    183   
         *
  183    184   
         * The following are the supported sizes for each volume type:
  184         -
         * + `gp2` and `gp3`: 1 - 16,384 GiB
         185  +
         * + `gp2`: 1 - 16,384 GiB
         186  +
         * + `gp3`: 1 - 65,536 GiB
  185    187   
         * + `io1`: 4 - 16,384 GiB
  186    188   
         * + `io2`: 4 - 65,536 GiB
  187    189   
         * + `st1` and `sc1`: 125 - 16,384 GiB
  188    190   
         * + `standard`: 1 - 1024 GiB
  189    191   
         */
  190    192   
        public var volumeSize: kotlin.Int? = null
  191    193   
        /**
  192    194   
         * The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide*.
  193    195   
         */
  194    196   
        public var volumeType: aws.sdk.kotlin.services.ec2.model.VolumeType? = null

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

@@ -1,1 +91,179 @@
    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   
/**
    8         -
 * The list of criteria that are evaluated to determine whch AMIs are discoverable and usable in the account in the specified Amazon Web Services Region. Currently, the only criteria that can be specified are AMI providers.
           8  +
 * The criteria that are evaluated to determine which AMIs are discoverable and usable in your account for the specified Amazon Web Services Region.
    9      9   
 *
   10         -
 * Up to 10 `imageCriteria` objects can be specified, and up to a total of 200 values for all `imageProviders`. For more information, see [JSON configuration for the Allowed AMIs criteria](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-allowed-amis.html#allowed-amis-json-configuration) in the *Amazon EC2 User Guide*.
          10  +
 * For more information, see [How Allowed AMIs works](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-allowed-amis.html#how-allowed-amis-works) in the *Amazon EC2 User Guide*.
   11     11   
 */
   12     12   
public class ImageCriterion private constructor(builder: Builder) {
   13     13   
    /**
   14         -
     * A list of AMI providers whose AMIs are discoverable and useable in the account. Up to a total of 200 values can be specified.
   15         -
     *
   16         -
     * Possible values:
          14  +
     * The maximum age for allowed images.
          15  +
     */
          16  +
    public val creationDateCondition: aws.sdk.kotlin.services.ec2.model.CreationDateCondition? = builder.creationDateCondition
          17  +
    /**
          18  +
     * The maximum period since deprecation for allowed images.
          19  +
     */
          20  +
    public val deprecationTimeCondition: aws.sdk.kotlin.services.ec2.model.DeprecationTimeCondition? = builder.deprecationTimeCondition
          21  +
    /**
          22  +
     * The names of allowed images. Names can include wildcards (`?` and `*`).
   17     23   
     *
   18         -
     * `amazon`: Allow AMIs created by Amazon Web Services.
          24  +
     * Length: 1–128 characters. With `?`, the minimum is 3 characters.
   19     25   
     *
   20         -
     * `aws-marketplace`: Allow AMIs created by verified providers in the Amazon Web Services Marketplace.
          26  +
     * Valid characters:
          27  +
     * + Letters: `A–Z, a–z`
          28  +
     * + Numbers: `0–9`
          29  +
     * + Special characters: `( ) [ ] . / - ' @ _ * ?`
          30  +
     * + Spaces
   21     31   
     *
   22         -
     * `aws-backup-vault`: Allow AMIs created by Amazon Web Services Backup.
          32  +
     * Maximum: 50 values
          33  +
     */
          34  +
    public val imageNames: List<String>? = builder.imageNames
          35  +
    /**
          36  +
     * The image providers whose images are allowed.
   23     37   
     *
   24         -
     * 12-digit account ID: Allow AMIs created by this account. One or more account IDs can be specified.
          38  +
     * Possible values:
          39  +
     * + `amazon`: Allow AMIs created by Amazon or verified providers.
          40  +
     * + `aws-marketplace`: Allow AMIs created by verified providers in the Amazon Web Services Marketplace.
          41  +
     * + `aws-backup-vault`: Allow AMIs created by Amazon Web Services Backup.
          42  +
     * + 12-digit account ID: Allow AMIs created by this account. One or more account IDs can be specified.
          43  +
     * + `none`: Allow AMIs created by your own account only.
   25     44   
     *
   26         -
     * `none`: Allow AMIs created by your own account only.
          45  +
     * Maximum: 200 values
   27     46   
     */
   28     47   
    public val imageProviders: List<String>? = builder.imageProviders
          48  +
    /**
          49  +
     * The Amazon Web Services Marketplace product codes for allowed images.
          50  +
     *
          51  +
     * Length: 1-25 characters
          52  +
     *
          53  +
     * Valid characters: Letters (`A–Z, a–z`) and numbers (`0–9`)
          54  +
     *
          55  +
     * Maximum: 50 values
          56  +
     */
          57  +
    public val marketplaceProductCodes: List<String>? = builder.marketplaceProductCodes
   29     58   
   30     59   
    public companion object {
   31     60   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.ImageCriterion = Builder().apply(block).build()
   32     61   
    }
   33     62   
   34     63   
    override fun toString(): kotlin.String = buildString {
   35     64   
        append("ImageCriterion(")
   36         -
        append("imageProviders=$imageProviders")
          65  +
        append("creationDateCondition=$creationDateCondition,")
          66  +
        append("deprecationTimeCondition=$deprecationTimeCondition,")
          67  +
        append("imageNames=$imageNames,")
          68  +
        append("imageProviders=$imageProviders,")
          69  +
        append("marketplaceProductCodes=$marketplaceProductCodes")
   37     70   
        append(")")
   38     71   
    }
   39     72   
   40     73   
    override fun hashCode(): kotlin.Int {
   41         -
        var result = imageProviders?.hashCode() ?: 0
          74  +
        var result = creationDateCondition?.hashCode() ?: 0
          75  +
        result = 31 * result + (deprecationTimeCondition?.hashCode() ?: 0)
          76  +
        result = 31 * result + (imageNames?.hashCode() ?: 0)
          77  +
        result = 31 * result + (imageProviders?.hashCode() ?: 0)
          78  +
        result = 31 * result + (marketplaceProductCodes?.hashCode() ?: 0)
   42     79   
        return result
   43     80   
    }
   44     81   
   45     82   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   46     83   
        if (this === other) return true
   47     84   
        if (other == null || this::class != other::class) return false
   48     85   
   49     86   
        other as ImageCriterion
   50     87   
          88  +
        if (creationDateCondition != other.creationDateCondition) return false
          89  +
        if (deprecationTimeCondition != other.deprecationTimeCondition) return false
          90  +
        if (imageNames != other.imageNames) return false
   51     91   
        if (imageProviders != other.imageProviders) return false
          92  +
        if (marketplaceProductCodes != other.marketplaceProductCodes) return false
   52     93   
   53     94   
        return true
   54     95   
    }
   55     96   
   56     97   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.ImageCriterion = Builder(this).apply(block).build()
   57     98   
   58     99   
    @SdkDsl
   59    100   
    public class Builder {
   60    101   
        /**
   61         -
         * A list of AMI providers whose AMIs are discoverable and useable in the account. Up to a total of 200 values can be specified.
   62         -
         *
   63         -
         * Possible values:
         102  +
         * The maximum age for allowed images.
         103  +
         */
         104  +
        public var creationDateCondition: aws.sdk.kotlin.services.ec2.model.CreationDateCondition? = null
         105  +
        /**
         106  +
         * The maximum period since deprecation for allowed images.
         107  +
         */
         108  +
        public var deprecationTimeCondition: aws.sdk.kotlin.services.ec2.model.DeprecationTimeCondition? = null
         109  +
        /**
         110  +
         * The names of allowed images. Names can include wildcards (`?` and `*`).
   64    111   
         *
   65         -
         * `amazon`: Allow AMIs created by Amazon Web Services.
         112  +
         * Length: 1–128 characters. With `?`, the minimum is 3 characters.
   66    113   
         *
   67         -
         * `aws-marketplace`: Allow AMIs created by verified providers in the Amazon Web Services Marketplace.
         114  +
         * Valid characters:
         115  +
         * + Letters: `A–Z, a–z`
         116  +
         * + Numbers: `0–9`
         117  +
         * + Special characters: `( ) [ ] . / - ' @ _ * ?`
         118  +
         * + Spaces
   68    119   
         *
   69         -
         * `aws-backup-vault`: Allow AMIs created by Amazon Web Services Backup.
         120  +
         * Maximum: 50 values
         121  +
         */
         122  +
        public var imageNames: List<String>? = null
         123  +
        /**
         124  +
         * The image providers whose images are allowed.
   70    125   
         *
   71         -
         * 12-digit account ID: Allow AMIs created by this account. One or more account IDs can be specified.
         126  +
         * Possible values:
         127  +
         * + `amazon`: Allow AMIs created by Amazon or verified providers.
         128  +
         * + `aws-marketplace`: Allow AMIs created by verified providers in the Amazon Web Services Marketplace.
         129  +
         * + `aws-backup-vault`: Allow AMIs created by Amazon Web Services Backup.
         130  +
         * + 12-digit account ID: Allow AMIs created by this account. One or more account IDs can be specified.
         131  +
         * + `none`: Allow AMIs created by your own account only.
   72    132   
         *
   73         -
         * `none`: Allow AMIs created by your own account only.
         133  +
         * Maximum: 200 values
   74    134   
         */
   75    135   
        public var imageProviders: List<String>? = null
         136  +
        /**
         137  +
         * The Amazon Web Services Marketplace product codes for allowed images.
         138  +
         *
         139  +
         * Length: 1-25 characters
         140  +
         *
         141  +
         * Valid characters: Letters (`A–Z, a–z`) and numbers (`0–9`)
         142  +
         *
         143  +
         * Maximum: 50 values
         144  +
         */
         145  +
        public var marketplaceProductCodes: List<String>? = null
   76    146   
   77    147   
        @PublishedApi
   78    148   
        internal constructor()
   79    149   
        @PublishedApi
   80    150   
        internal constructor(x: aws.sdk.kotlin.services.ec2.model.ImageCriterion) : this() {
         151  +
            this.creationDateCondition = x.creationDateCondition
         152  +
            this.deprecationTimeCondition = x.deprecationTimeCondition
         153  +
            this.imageNames = x.imageNames
   81    154   
            this.imageProviders = x.imageProviders
         155  +
            this.marketplaceProductCodes = x.marketplaceProductCodes
   82    156   
        }
   83    157   
   84    158   
        @PublishedApi
   85    159   
        internal fun build(): aws.sdk.kotlin.services.ec2.model.ImageCriterion = ImageCriterion(this)
   86    160   
         161  +
        /**
         162  +
         * construct an [aws.sdk.kotlin.services.ec2.model.CreationDateCondition] inside the given [block]
         163  +
         */
         164  +
        public fun creationDateCondition(block: aws.sdk.kotlin.services.ec2.model.CreationDateCondition.Builder.() -> kotlin.Unit) {
         165  +
            this.creationDateCondition = aws.sdk.kotlin.services.ec2.model.CreationDateCondition.invoke(block)
         166  +
        }
         167  +
         168  +
        /**
         169  +
         * construct an [aws.sdk.kotlin.services.ec2.model.DeprecationTimeCondition] inside the given [block]
         170  +
         */
         171  +
        public fun deprecationTimeCondition(block: aws.sdk.kotlin.services.ec2.model.DeprecationTimeCondition.Builder.() -> kotlin.Unit) {
         172  +
            this.deprecationTimeCondition = aws.sdk.kotlin.services.ec2.model.DeprecationTimeCondition.invoke(block)
         173  +
        }
         174  +
   87    175   
        internal fun correctErrors(): Builder {
   88    176   
            return this
   89    177   
        }
   90    178   
    }
   91    179   
}

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

@@ -1,1 +91,187 @@
    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   
/**
    8         -
 * The list of criteria that are evaluated to determine whch AMIs are discoverable and usable in the account in the specified Amazon Web Services Region. Currently, the only criteria that can be specified are AMI providers.
           8  +
 * The criteria that are evaluated to determine which AMIs are discoverable and usable in your account for the specified Amazon Web Services Region.
    9      9   
 *
   10         -
 * Up to 10 `imageCriteria` objects can be specified, and up to a total of 200 values for all `imageProviders`. For more information, see [JSON configuration for the Allowed AMIs criteria](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-allowed-amis.html#allowed-amis-json-configuration) in the *Amazon EC2 User Guide*.
          10  +
 * The `ImageCriteria` can include up to:
          11  +
 * + 10 `ImageCriterion`
          12  +
 *
          13  +
 * Each `ImageCriterion` can include up to:
          14  +
 * + 200 values for `ImageProviders`
          15  +
 * + 50 values for `ImageNames`
          16  +
 * + 50 values for `MarketplaceProductCodes`
          17  +
 *
          18  +
 * For more information, see [How Allowed AMIs works](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-allowed-amis.html#how-allowed-amis-works) in the *Amazon EC2 User Guide*.
   11     19   
 */
   12     20   
public class ImageCriterionRequest private constructor(builder: Builder) {
   13     21   
    /**
   14         -
     * A list of image providers whose AMIs are discoverable and useable in the account. Up to a total of 200 values can be specified.
   15         -
     *
   16         -
     * Possible values:
          22  +
     * The maximum age for allowed images.
          23  +
     */
          24  +
    public val creationDateCondition: aws.sdk.kotlin.services.ec2.model.CreationDateConditionRequest? = builder.creationDateCondition
          25  +
    /**
          26  +
     * The maximum period since deprecation for allowed images.
          27  +
     */
          28  +
    public val deprecationTimeCondition: aws.sdk.kotlin.services.ec2.model.DeprecationTimeConditionRequest? = builder.deprecationTimeCondition
          29  +
    /**
          30  +
     * The names of allowed images. Names can include wildcards (`?` and `*`).
   17     31   
     *
   18         -
     * `amazon`: Allow AMIs created by Amazon Web Services.
          32  +
     * Length: 1–128 characters. With `?`, the minimum is 3 characters.
   19     33   
     *
   20         -
     * `aws-marketplace`: Allow AMIs created by verified providers in the Amazon Web Services Marketplace.
          34  +
     * Valid characters:
          35  +
     * + Letters: `A–Z, a–z`
          36  +
     * + Numbers: `0–9`
          37  +
     * + Special characters: `( ) [ ] . / - ' @ _ * ?`
          38  +
     * + Spaces
   21     39   
     *
   22         -
     * `aws-backup-vault`: Allow AMIs created by Amazon Web Services Backup.
          40  +
     * Maximum: 50 values
          41  +
     */
          42  +
    public val imageNames: List<String>? = builder.imageNames
          43  +
    /**
          44  +
     * The image providers whose images are allowed.
   23     45   
     *
   24         -
     * 12-digit account ID: Allow AMIs created by this account. One or more account IDs can be specified.
          46  +
     * Possible values:
          47  +
     * + `amazon`: Allow AMIs created by Amazon or verified providers.
          48  +
     * + `aws-marketplace`: Allow AMIs created by verified providers in the Amazon Web Services Marketplace.
          49  +
     * + `aws-backup-vault`: Allow AMIs created by Amazon Web Services Backup.
          50  +
     * + 12-digit account ID: Allow AMIs created by the specified accounts. One or more account IDs can be specified.
          51  +
     * + `none`: Allow AMIs created by your own account only. When `none` is specified, no other values can be specified.
   25     52   
     *
   26         -
     * `none`: Allow AMIs created by your own account only. When `none` is specified, no other values can be specified.
          53  +
     * Maximum: 200 values
   27     54   
     */
   28     55   
    public val imageProviders: List<String>? = builder.imageProviders
          56  +
    /**
          57  +
     * The Amazon Web Services Marketplace product codes for allowed images.
          58  +
     *
          59  +
     * Length: 1-25 characters
          60  +
     *
          61  +
     * Valid characters: Letters (`A–Z, a–z`) and numbers (`0–9`)
          62  +
     *
          63  +
     * Maximum: 50 values
          64  +
     */
          65  +
    public val marketplaceProductCodes: List<String>? = builder.marketplaceProductCodes
   29     66   
   30     67   
    public companion object {
   31     68   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.ImageCriterionRequest = Builder().apply(block).build()
   32     69   
    }
   33     70   
   34     71   
    override fun toString(): kotlin.String = buildString {
   35     72   
        append("ImageCriterionRequest(")
   36         -
        append("imageProviders=$imageProviders")
          73  +
        append("creationDateCondition=$creationDateCondition,")
          74  +
        append("deprecationTimeCondition=$deprecationTimeCondition,")
          75  +
        append("imageNames=$imageNames,")
          76  +
        append("imageProviders=$imageProviders,")
          77  +
        append("marketplaceProductCodes=$marketplaceProductCodes")
   37     78   
        append(")")
   38     79   
    }
   39     80   
   40     81   
    override fun hashCode(): kotlin.Int {
   41         -
        var result = imageProviders?.hashCode() ?: 0
          82  +
        var result = creationDateCondition?.hashCode() ?: 0
          83  +
        result = 31 * result + (deprecationTimeCondition?.hashCode() ?: 0)
          84  +
        result = 31 * result + (imageNames?.hashCode() ?: 0)
          85  +
        result = 31 * result + (imageProviders?.hashCode() ?: 0)
          86  +
        result = 31 * result + (marketplaceProductCodes?.hashCode() ?: 0)
   42     87   
        return result
   43     88   
    }
   44     89   
   45     90   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   46     91   
        if (this === other) return true
   47     92   
        if (other == null || this::class != other::class) return false
   48     93   
   49     94   
        other as ImageCriterionRequest
   50     95   
          96  +
        if (creationDateCondition != other.creationDateCondition) return false
          97  +
        if (deprecationTimeCondition != other.deprecationTimeCondition) return false
          98  +
        if (imageNames != other.imageNames) return false
   51     99   
        if (imageProviders != other.imageProviders) return false
         100  +
        if (marketplaceProductCodes != other.marketplaceProductCodes) return false
   52    101   
   53    102   
        return true
   54    103   
    }
   55    104   
   56    105   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.ImageCriterionRequest = Builder(this).apply(block).build()
   57    106   
   58    107   
    @SdkDsl
   59    108   
    public class Builder {
   60    109   
        /**
   61         -
         * A list of image providers whose AMIs are discoverable and useable in the account. Up to a total of 200 values can be specified.
   62         -
         *
   63         -
         * Possible values:
         110  +
         * The maximum age for allowed images.
         111  +
         */
         112  +
        public var creationDateCondition: aws.sdk.kotlin.services.ec2.model.CreationDateConditionRequest? = null
         113  +
        /**
         114  +
         * The maximum period since deprecation for allowed images.
         115  +
         */
         116  +
        public var deprecationTimeCondition: aws.sdk.kotlin.services.ec2.model.DeprecationTimeConditionRequest? = null
         117  +
        /**
         118  +
         * The names of allowed images. Names can include wildcards (`?` and `*`).
   64    119   
         *
   65         -
         * `amazon`: Allow AMIs created by Amazon Web Services.
         120  +
         * Length: 1–128 characters. With `?`, the minimum is 3 characters.
   66    121   
         *
   67         -
         * `aws-marketplace`: Allow AMIs created by verified providers in the Amazon Web Services Marketplace.
         122  +
         * Valid characters:
         123  +
         * + Letters: `A–Z, a–z`
         124  +
         * + Numbers: `0–9`
         125  +
         * + Special characters: `( ) [ ] . / - ' @ _ * ?`
         126  +
         * + Spaces
   68    127   
         *
   69         -
         * `aws-backup-vault`: Allow AMIs created by Amazon Web Services Backup.
         128  +
         * Maximum: 50 values
         129  +
         */
         130  +
        public var imageNames: List<String>? = null
         131  +
        /**
         132  +
         * The image providers whose images are allowed.
   70    133   
         *
   71         -
         * 12-digit account ID: Allow AMIs created by this account. One or more account IDs can be specified.
         134  +
         * Possible values:
         135  +
         * + `amazon`: Allow AMIs created by Amazon or verified providers.
         136  +
         * + `aws-marketplace`: Allow AMIs created by verified providers in the Amazon Web Services Marketplace.
         137  +
         * + `aws-backup-vault`: Allow AMIs created by Amazon Web Services Backup.
         138  +
         * + 12-digit account ID: Allow AMIs created by the specified accounts. One or more account IDs can be specified.
         139  +
         * + `none`: Allow AMIs created by your own account only. When `none` is specified, no other values can be specified.
   72    140   
         *
   73         -
         * `none`: Allow AMIs created by your own account only. When `none` is specified, no other values can be specified.
         141  +
         * Maximum: 200 values
   74    142   
         */
   75    143   
        public var imageProviders: List<String>? = null
         144  +
        /**
         145  +
         * The Amazon Web Services Marketplace product codes for allowed images.
         146  +
         *
         147  +
         * Length: 1-25 characters
         148  +
         *
         149  +
         * Valid characters: Letters (`A–Z, a–z`) and numbers (`0–9`)
         150  +
         *
         151  +
         * Maximum: 50 values
         152  +
         */
         153  +
        public var marketplaceProductCodes: List<String>? = null
   76    154   
   77    155   
        @PublishedApi
   78    156   
        internal constructor()
   79    157   
        @PublishedApi
   80    158   
        internal constructor(x: aws.sdk.kotlin.services.ec2.model.ImageCriterionRequest) : this() {
         159  +
            this.creationDateCondition = x.creationDateCondition
         160  +
            this.deprecationTimeCondition = x.deprecationTimeCondition
         161  +
            this.imageNames = x.imageNames
   81    162   
            this.imageProviders = x.imageProviders
         163  +
            this.marketplaceProductCodes = x.marketplaceProductCodes
   82    164   
        }
   83    165   
   84    166   
        @PublishedApi
   85    167   
        internal fun build(): aws.sdk.kotlin.services.ec2.model.ImageCriterionRequest = ImageCriterionRequest(this)
   86    168   
         169  +
        /**
         170  +
         * construct an [aws.sdk.kotlin.services.ec2.model.CreationDateConditionRequest] inside the given [block]
         171  +
         */
         172  +
        public fun creationDateCondition(block: aws.sdk.kotlin.services.ec2.model.CreationDateConditionRequest.Builder.() -> kotlin.Unit) {
         173  +
            this.creationDateCondition = aws.sdk.kotlin.services.ec2.model.CreationDateConditionRequest.invoke(block)
         174  +
        }
         175  +
         176  +
        /**
         177  +
         * construct an [aws.sdk.kotlin.services.ec2.model.DeprecationTimeConditionRequest] inside the given [block]
         178  +
         */
         179  +
        public fun deprecationTimeCondition(block: aws.sdk.kotlin.services.ec2.model.DeprecationTimeConditionRequest.Builder.() -> kotlin.Unit) {
         180  +
            this.deprecationTimeCondition = aws.sdk.kotlin.services.ec2.model.DeprecationTimeConditionRequest.invoke(block)
         181  +
        }
         182  +
   87    183   
        internal fun correctErrors(): Builder {
   88    184   
            return this
   89    185   
        }
   90    186   
    }
   91    187   
}

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

@@ -1,1 +151,163 @@
    5      5   
import aws.smithy.kotlin.runtime.SdkDsl
    6      6   
    7      7   
/**
    8      8   
 * Describes an import volume task.
    9      9   
 */
   10     10   
public class ImportInstanceVolumeDetailItem private constructor(builder: Builder) {
   11     11   
    /**
   12     12   
     * The Availability Zone where the resulting instance will reside.
   13     13   
     */
   14     14   
    public val availabilityZone: kotlin.String? = builder.availabilityZone
          15  +
    /**
          16  +
     * The ID of the Availability Zone where the resulting instance will reside.
          17  +
     */
          18  +
    public val availabilityZoneId: kotlin.String? = builder.availabilityZoneId
   15     19   
    /**
   16     20   
     * The number of bytes converted so far.
   17     21   
     */
   18     22   
    public val bytesConverted: kotlin.Long? = builder.bytesConverted
   19     23   
    /**
   20     24   
     * A description of the task.
   21     25   
     */
   22     26   
    public val description: kotlin.String? = builder.description
   23     27   
    /**
   24     28   
     * The image.
   25     29   
     */
   26     30   
    public val image: aws.sdk.kotlin.services.ec2.model.DiskImageDescription? = builder.image
   27     31   
    /**
   28     32   
     * The status of the import of this particular disk image.
   29     33   
     */
   30     34   
    public val status: kotlin.String? = builder.status
   31     35   
    /**
   32     36   
     * The status information or errors related to the disk image.
   33     37   
     */
   34     38   
    public val statusMessage: kotlin.String? = builder.statusMessage
   35     39   
    /**
   36     40   
     * The volume.
   37     41   
     */
   38     42   
    public val volume: aws.sdk.kotlin.services.ec2.model.DiskImageVolumeDescription? = builder.volume
   39     43   
   40     44   
    public companion object {
   41     45   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.ImportInstanceVolumeDetailItem = Builder().apply(block).build()
   42     46   
    }
   43     47   
   44     48   
    override fun toString(): kotlin.String = buildString {
   45     49   
        append("ImportInstanceVolumeDetailItem(")
   46     50   
        append("availabilityZone=$availabilityZone,")
          51  +
        append("availabilityZoneId=$availabilityZoneId,")
   47     52   
        append("bytesConverted=$bytesConverted,")
   48     53   
        append("description=$description,")
   49     54   
        append("image=$image,")
   50     55   
        append("status=$status,")
   51     56   
        append("statusMessage=$statusMessage,")
   52     57   
        append("volume=$volume")
   53     58   
        append(")")
   54     59   
    }
   55     60   
   56     61   
    override fun hashCode(): kotlin.Int {
   57     62   
        var result = availabilityZone?.hashCode() ?: 0
          63  +
        result = 31 * result + (availabilityZoneId?.hashCode() ?: 0)
   58     64   
        result = 31 * result + (bytesConverted?.hashCode() ?: 0)
   59     65   
        result = 31 * result + (description?.hashCode() ?: 0)
   60     66   
        result = 31 * result + (image?.hashCode() ?: 0)
   61     67   
        result = 31 * result + (status?.hashCode() ?: 0)
   62     68   
        result = 31 * result + (statusMessage?.hashCode() ?: 0)
   63     69   
        result = 31 * result + (volume?.hashCode() ?: 0)
   64     70   
        return result
   65     71   
    }
   66     72   
   67     73   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   68     74   
        if (this === other) return true
   69     75   
        if (other == null || this::class != other::class) return false
   70     76   
   71     77   
        other as ImportInstanceVolumeDetailItem
   72     78   
   73     79   
        if (availabilityZone != other.availabilityZone) return false
          80  +
        if (availabilityZoneId != other.availabilityZoneId) return false
   74     81   
        if (bytesConverted != other.bytesConverted) return false
   75     82   
        if (description != other.description) return false
   76     83   
        if (image != other.image) return false
   77     84   
        if (status != other.status) return false
   78     85   
        if (statusMessage != other.statusMessage) return false
   79     86   
        if (volume != other.volume) return false
   80     87   
   81     88   
        return true
   82     89   
    }
   83     90   
   84     91   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.ImportInstanceVolumeDetailItem = Builder(this).apply(block).build()
   85     92   
   86     93   
    @SdkDsl
   87     94   
    public class Builder {
   88     95   
        /**
   89     96   
         * The Availability Zone where the resulting instance will reside.
   90     97   
         */
   91     98   
        public var availabilityZone: kotlin.String? = null
          99  +
        /**
         100  +
         * The ID of the Availability Zone where the resulting instance will reside.
         101  +
         */
         102  +
        public var availabilityZoneId: kotlin.String? = null
   92    103   
        /**
   93    104   
         * The number of bytes converted so far.
   94    105   
         */
   95    106   
        public var bytesConverted: kotlin.Long? = null
   96    107   
        /**
   97    108   
         * A description of the task.
   98    109   
         */
   99    110   
        public var description: kotlin.String? = null
  100    111   
        /**
  101    112   
         * The image.
  102    113   
         */
  103    114   
        public var image: aws.sdk.kotlin.services.ec2.model.DiskImageDescription? = null
  104    115   
        /**
  105    116   
         * The status of the import of this particular disk image.
  106    117   
         */
  107    118   
        public var status: kotlin.String? = null
  108    119   
        /**
  109    120   
         * The status information or errors related to the disk image.
  110    121   
         */
  111    122   
        public var statusMessage: kotlin.String? = null
  112    123   
        /**
  113    124   
         * The volume.
  114    125   
         */
  115    126   
        public var volume: aws.sdk.kotlin.services.ec2.model.DiskImageVolumeDescription? = null
  116    127   
  117    128   
        @PublishedApi
  118    129   
        internal constructor()
  119    130   
        @PublishedApi
  120    131   
        internal constructor(x: aws.sdk.kotlin.services.ec2.model.ImportInstanceVolumeDetailItem) : this() {
  121    132   
            this.availabilityZone = x.availabilityZone
         133  +
            this.availabilityZoneId = x.availabilityZoneId
  122    134   
            this.bytesConverted = x.bytesConverted
  123    135   
            this.description = x.description
  124    136   
            this.image = x.image
  125    137   
            this.status = x.status
  126    138   
            this.statusMessage = x.statusMessage
  127    139   
            this.volume = x.volume
  128    140   
        }
  129    141   
  130    142   
        @PublishedApi
  131    143   
        internal fun build(): aws.sdk.kotlin.services.ec2.model.ImportInstanceVolumeDetailItem = ImportInstanceVolumeDetailItem(this)

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

@@ -1,1 +124,144 @@
    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   
public class ImportVolumeRequest private constructor(builder: Builder) {
    8      8   
    /**
    9      9   
     * The Availability Zone for the resulting EBS volume.
          10  +
     *
          11  +
     * Either `AvailabilityZone` or `AvailabilityZoneId` must be specified, but not both.
   10     12   
     */
   11     13   
    public val availabilityZone: kotlin.String? = builder.availabilityZone
          14  +
    /**
          15  +
     * The ID of the Availability Zone for the resulting EBS volume.
          16  +
     *
          17  +
     * Either `AvailabilityZone` or `AvailabilityZoneId` must be specified, but not both.
          18  +
     */
          19  +
    public val availabilityZoneId: kotlin.String? = builder.availabilityZoneId
   12     20   
    /**
   13     21   
     * A description of the volume.
   14     22   
     */
   15     23   
    public val description: kotlin.String? = builder.description
   16     24   
    /**
   17     25   
     * 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`.
   18     26   
     */
   19     27   
    public val dryRun: kotlin.Boolean? = builder.dryRun
   20     28   
    /**
   21     29   
     * The disk image.
   22     30   
     */
   23     31   
    public val image: aws.sdk.kotlin.services.ec2.model.DiskImageDetail? = builder.image
   24     32   
    /**
   25     33   
     * The volume size.
   26     34   
     */
   27     35   
    public val volume: aws.sdk.kotlin.services.ec2.model.VolumeDetail? = builder.volume
   28     36   
   29     37   
    public companion object {
   30     38   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.ImportVolumeRequest = Builder().apply(block).build()
   31     39   
    }
   32     40   
   33     41   
    override fun toString(): kotlin.String = buildString {
   34     42   
        append("ImportVolumeRequest(")
   35     43   
        append("availabilityZone=$availabilityZone,")
          44  +
        append("availabilityZoneId=$availabilityZoneId,")
   36     45   
        append("description=$description,")
   37     46   
        append("dryRun=$dryRun,")
   38     47   
        append("image=$image,")
   39     48   
        append("volume=$volume")
   40     49   
        append(")")
   41     50   
    }
   42     51   
   43     52   
    override fun hashCode(): kotlin.Int {
   44     53   
        var result = availabilityZone?.hashCode() ?: 0
          54  +
        result = 31 * result + (availabilityZoneId?.hashCode() ?: 0)
   45     55   
        result = 31 * result + (description?.hashCode() ?: 0)
   46     56   
        result = 31 * result + (dryRun?.hashCode() ?: 0)
   47     57   
        result = 31 * result + (image?.hashCode() ?: 0)
   48     58   
        result = 31 * result + (volume?.hashCode() ?: 0)
   49     59   
        return result
   50     60   
    }
   51     61   
   52     62   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   53     63   
        if (this === other) return true
   54     64   
        if (other == null || this::class != other::class) return false
   55     65   
   56     66   
        other as ImportVolumeRequest
   57     67   
   58     68   
        if (availabilityZone != other.availabilityZone) return false
          69  +
        if (availabilityZoneId != other.availabilityZoneId) return false
   59     70   
        if (description != other.description) return false
   60     71   
        if (dryRun != other.dryRun) return false
   61     72   
        if (image != other.image) return false
   62     73   
        if (volume != other.volume) return false
   63     74   
   64     75   
        return true
   65     76   
    }
   66     77   
   67     78   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.ImportVolumeRequest = Builder(this).apply(block).build()
   68     79   
   69     80   
    @SdkDsl
   70     81   
    public class Builder {
   71     82   
        /**
   72     83   
         * The Availability Zone for the resulting EBS volume.
          84  +
         *
          85  +
         * Either `AvailabilityZone` or `AvailabilityZoneId` must be specified, but not both.
   73     86   
         */
   74     87   
        public var availabilityZone: kotlin.String? = null
          88  +
        /**
          89  +
         * The ID of the Availability Zone for the resulting EBS volume.
          90  +
         *
          91  +
         * Either `AvailabilityZone` or `AvailabilityZoneId` must be specified, but not both.
          92  +
         */
          93  +
        public var availabilityZoneId: kotlin.String? = null
   75     94   
        /**
   76     95   
         * A description of the volume.
   77     96   
         */
   78     97   
        public var description: kotlin.String? = null
   79     98   
        /**
   80     99   
         * 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`.
   81    100   
         */
   82    101   
        public var dryRun: kotlin.Boolean? = null
   83    102   
        /**
   84    103   
         * The disk image.
   85    104   
         */
   86    105   
        public var image: aws.sdk.kotlin.services.ec2.model.DiskImageDetail? = null
   87    106   
        /**
   88    107   
         * The volume size.
   89    108   
         */
   90    109   
        public var volume: aws.sdk.kotlin.services.ec2.model.VolumeDetail? = null
   91    110   
   92    111   
        @PublishedApi
   93    112   
        internal constructor()
   94    113   
        @PublishedApi
   95    114   
        internal constructor(x: aws.sdk.kotlin.services.ec2.model.ImportVolumeRequest) : this() {
   96    115   
            this.availabilityZone = x.availabilityZone
         116  +
            this.availabilityZoneId = x.availabilityZoneId
   97    117   
            this.description = x.description
   98    118   
            this.dryRun = x.dryRun
   99    119   
            this.image = x.image
  100    120   
            this.volume = x.volume
  101    121   
        }
  102    122   
  103    123   
        @PublishedApi
  104    124   
        internal fun build(): aws.sdk.kotlin.services.ec2.model.ImportVolumeRequest = ImportVolumeRequest(this)
  105    125   
  106    126   
        /**

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

@@ -1,1 +127,139 @@
    5      5   
import aws.smithy.kotlin.runtime.SdkDsl
    6      6   
    7      7   
/**
    8      8   
 * Describes an import volume task.
    9      9   
 */
   10     10   
public class ImportVolumeTaskDetails private constructor(builder: Builder) {
   11     11   
    /**
   12     12   
     * The Availability Zone where the resulting volume will reside.
   13     13   
     */
   14     14   
    public val availabilityZone: kotlin.String? = builder.availabilityZone
          15  +
    /**
          16  +
     * The ID of the Availability Zone where the resulting volume will reside.
          17  +
     */
          18  +
    public val availabilityZoneId: kotlin.String? = builder.availabilityZoneId
   15     19   
    /**
   16     20   
     * The number of bytes converted so far.
   17     21   
     */
   18     22   
    public val bytesConverted: kotlin.Long? = builder.bytesConverted
   19     23   
    /**
   20     24   
     * The description you provided when starting the import volume task.
   21     25   
     */
   22     26   
    public val description: kotlin.String? = builder.description
   23     27   
    /**
   24     28   
     * The image.
   25     29   
     */
   26     30   
    public val image: aws.sdk.kotlin.services.ec2.model.DiskImageDescription? = builder.image
   27     31   
    /**
   28     32   
     * The volume.
   29     33   
     */
   30     34   
    public val volume: aws.sdk.kotlin.services.ec2.model.DiskImageVolumeDescription? = builder.volume
   31     35   
   32     36   
    public companion object {
   33     37   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.ImportVolumeTaskDetails = Builder().apply(block).build()
   34     38   
    }
   35     39   
   36     40   
    override fun toString(): kotlin.String = buildString {
   37     41   
        append("ImportVolumeTaskDetails(")
   38     42   
        append("availabilityZone=$availabilityZone,")
          43  +
        append("availabilityZoneId=$availabilityZoneId,")
   39     44   
        append("bytesConverted=$bytesConverted,")
   40     45   
        append("description=$description,")
   41     46   
        append("image=$image,")
   42     47   
        append("volume=$volume")
   43     48   
        append(")")
   44     49   
    }
   45     50   
   46     51   
    override fun hashCode(): kotlin.Int {
   47     52   
        var result = availabilityZone?.hashCode() ?: 0
          53  +
        result = 31 * result + (availabilityZoneId?.hashCode() ?: 0)
   48     54   
        result = 31 * result + (bytesConverted?.hashCode() ?: 0)
   49     55   
        result = 31 * result + (description?.hashCode() ?: 0)
   50     56   
        result = 31 * result + (image?.hashCode() ?: 0)
   51     57   
        result = 31 * result + (volume?.hashCode() ?: 0)
   52     58   
        return result
   53     59   
    }
   54     60   
   55     61   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   56     62   
        if (this === other) return true
   57     63   
        if (other == null || this::class != other::class) return false
   58     64   
   59     65   
        other as ImportVolumeTaskDetails
   60     66   
   61     67   
        if (availabilityZone != other.availabilityZone) return false
          68  +
        if (availabilityZoneId != other.availabilityZoneId) return false
   62     69   
        if (bytesConverted != other.bytesConverted) return false
   63     70   
        if (description != other.description) return false
   64     71   
        if (image != other.image) return false
   65     72   
        if (volume != other.volume) return false
   66     73   
   67     74   
        return true
   68     75   
    }
   69     76   
   70     77   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.ImportVolumeTaskDetails = Builder(this).apply(block).build()
   71     78   
   72     79   
    @SdkDsl
   73     80   
    public class Builder {
   74     81   
        /**
   75     82   
         * The Availability Zone where the resulting volume will reside.
   76     83   
         */
   77     84   
        public var availabilityZone: kotlin.String? = null
          85  +
        /**
          86  +
         * The ID of the Availability Zone where the resulting volume will reside.
          87  +
         */
          88  +
        public var availabilityZoneId: kotlin.String? = null
   78     89   
        /**
   79     90   
         * The number of bytes converted so far.
   80     91   
         */
   81     92   
        public var bytesConverted: kotlin.Long? = null
   82     93   
        /**
   83     94   
         * The description you provided when starting the import volume task.
   84     95   
         */
   85     96   
        public var description: kotlin.String? = null
   86     97   
        /**
   87     98   
         * The image.
   88     99   
         */
   89    100   
        public var image: aws.sdk.kotlin.services.ec2.model.DiskImageDescription? = null
   90    101   
        /**
   91    102   
         * The volume.
   92    103   
         */
   93    104   
        public var volume: aws.sdk.kotlin.services.ec2.model.DiskImageVolumeDescription? = null
   94    105   
   95    106   
        @PublishedApi
   96    107   
        internal constructor()
   97    108   
        @PublishedApi
   98    109   
        internal constructor(x: aws.sdk.kotlin.services.ec2.model.ImportVolumeTaskDetails) : this() {
   99    110   
            this.availabilityZone = x.availabilityZone
         111  +
            this.availabilityZoneId = x.availabilityZoneId
  100    112   
            this.bytesConverted = x.bytesConverted
  101    113   
            this.description = x.description
  102    114   
            this.image = x.image
  103    115   
            this.volume = x.volume
  104    116   
        }
  105    117   
  106    118   
        @PublishedApi
  107    119   
        internal fun build(): aws.sdk.kotlin.services.ec2.model.ImportVolumeTaskDetails = ImportVolumeTaskDetails(this)
  108    120   
  109    121   
        /**

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

@@ -1,1 +84,84 @@
    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   
/**
    8      8   
 * Describes a block device mapping.
    9      9   
 */
   10     10   
public class InstanceBlockDeviceMapping private constructor(builder: Builder) {
   11     11   
    /**
   12         -
     * The device name (for example, `/dev/sdh` or `xvdh`).
          12  +
     * The device name.
   13     13   
     */
   14     14   
    public val deviceName: kotlin.String? = builder.deviceName
   15     15   
    /**
   16     16   
     * Parameters used to automatically set up EBS volumes when the instance is launched.
   17     17   
     */
   18     18   
    public val ebs: aws.sdk.kotlin.services.ec2.model.EbsInstanceBlockDevice? = builder.ebs
   19     19   
   20     20   
    public companion object {
   21     21   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.InstanceBlockDeviceMapping = Builder().apply(block).build()
   22     22   
    }
   23     23   
   24     24   
    override fun toString(): kotlin.String = buildString {
   25     25   
        append("InstanceBlockDeviceMapping(")
   26     26   
        append("deviceName=$deviceName,")
   27     27   
        append("ebs=$ebs")
   28     28   
        append(")")
   29     29   
    }
   30     30   
   31     31   
    override fun hashCode(): kotlin.Int {
   32     32   
        var result = deviceName?.hashCode() ?: 0
   33     33   
        result = 31 * result + (ebs?.hashCode() ?: 0)
   34     34   
        return result
   35     35   
    }
   36     36   
   37     37   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   38     38   
        if (this === other) return true
   39     39   
        if (other == null || this::class != other::class) return false
   40     40   
   41     41   
        other as InstanceBlockDeviceMapping
   42     42   
   43     43   
        if (deviceName != other.deviceName) return false
   44     44   
        if (ebs != other.ebs) return false
   45     45   
   46     46   
        return true
   47     47   
    }
   48     48   
   49     49   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.InstanceBlockDeviceMapping = Builder(this).apply(block).build()
   50     50   
   51     51   
    @SdkDsl
   52     52   
    public class Builder {
   53     53   
        /**
   54         -
         * The device name (for example, `/dev/sdh` or `xvdh`).
          54  +
         * The device name.
   55     55   
         */
   56     56   
        public var deviceName: kotlin.String? = null
   57     57   
        /**
   58     58   
         * Parameters used to automatically set up EBS volumes when the instance is launched.
   59     59   
         */
   60     60   
        public var ebs: aws.sdk.kotlin.services.ec2.model.EbsInstanceBlockDevice? = null
   61     61   
   62     62   
        @PublishedApi
   63     63   
        internal constructor()
   64     64   
        @PublishedApi

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

@@ -1,1 +98,98 @@
    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   
/**
    8      8   
 * Describes a block device mapping entry.
    9      9   
 */
   10     10   
public class InstanceBlockDeviceMappingSpecification private constructor(builder: Builder) {
   11     11   
    /**
   12         -
     * The device name (for example, `/dev/sdh` or `xvdh`).
          12  +
     * The device name. For available device names, see [Device names for volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html).
   13     13   
     */
   14     14   
    public val deviceName: kotlin.String? = builder.deviceName
   15     15   
    /**
   16     16   
     * Parameters used to automatically set up EBS volumes when the instance is launched.
   17     17   
     */
   18     18   
    public val ebs: aws.sdk.kotlin.services.ec2.model.EbsInstanceBlockDeviceSpecification? = builder.ebs
   19     19   
    /**
   20     20   
     * Suppresses the specified device included in the block device mapping.
   21     21   
     */
   22     22   
    public val noDevice: kotlin.String? = builder.noDevice
   23     23   
    /**
   24     24   
     * The virtual device name.
   25     25   
     */
   26     26   
    public val virtualName: kotlin.String? = builder.virtualName
   27     27   
   28     28   
    public companion object {
   29     29   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ec2.model.InstanceBlockDeviceMappingSpecification = Builder().apply(block).build()
   30     30   
    }
   31     31   
   32     32   
    override fun toString(): kotlin.String = buildString {
   33     33   
        append("InstanceBlockDeviceMappingSpecification(")
   34     34   
        append("deviceName=$deviceName,")
   35     35   
        append("ebs=$ebs,")
   36     36   
        append("noDevice=$noDevice,")
   37     37   
        append("virtualName=$virtualName")
   38     38   
        append(")")
   39     39   
    }
   40     40   
   41     41   
    override fun hashCode(): kotlin.Int {
   42     42   
        var result = deviceName?.hashCode() ?: 0
   43     43   
        result = 31 * result + (ebs?.hashCode() ?: 0)
   44     44   
        result = 31 * result + (noDevice?.hashCode() ?: 0)
   45     45   
        result = 31 * result + (virtualName?.hashCode() ?: 0)
   46     46   
        return result
   47     47   
    }
   48     48   
   49     49   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   50     50   
        if (this === other) return true
   51     51   
        if (other == null || this::class != other::class) return false
   52     52   
   53     53   
        other as InstanceBlockDeviceMappingSpecification
   54     54   
   55     55   
        if (deviceName != other.deviceName) return false
   56     56   
        if (ebs != other.ebs) return false
   57     57   
        if (noDevice != other.noDevice) return false
   58     58   
        if (virtualName != other.virtualName) return false
   59     59   
   60     60   
        return true
   61     61   
    }
   62     62   
   63     63   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ec2.model.InstanceBlockDeviceMappingSpecification = Builder(this).apply(block).build()
   64     64   
   65     65   
    @SdkDsl
   66     66   
    public class Builder {
   67     67   
        /**
   68         -
         * The device name (for example, `/dev/sdh` or `xvdh`).
          68  +
         * The device name. For available device names, see [Device names for volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html).
   69     69   
         */
   70     70   
        public var deviceName: kotlin.String? = null
   71     71   
        /**
   72     72   
         * Parameters used to automatically set up EBS volumes when the instance is launched.
   73     73   
         */
   74     74   
        public var ebs: aws.sdk.kotlin.services.ec2.model.EbsInstanceBlockDeviceSpecification? = null
   75     75   
        /**
   76     76   
         * Suppresses the specified device included in the block device mapping.
   77     77   
         */
   78     78   
        public var noDevice: kotlin.String? = null