AWS SDK

AWS SDK

rev. 2493670155f3f484f4055f00c7816463c1a2ced2..ac5e22252d1e170d05dd8b11ceb2a7a284cd7f2e (ignoring whitespace)

Files changed:

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/FilterRuleName.kt

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

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/GetBucketMetricsConfigurationRequest.kt

@@ -1,1 +87,95 @@
    1      1   
// Code generated by smithy-kotlin codegen. DO NOT EDIT!
    2      2   
    3      3   
package aws.sdk.kotlin.services.s3.model
    4      4   
    5      5   
import aws.smithy.kotlin.runtime.SdkDsl
    6      6   
    7      7   
    8      8   
public class GetBucketMetricsConfigurationRequest private constructor(builder: Builder) {
    9      9   
    /**
   10     10   
     * The name of the bucket containing the metrics configuration to retrieve.
          11  +
     *
          12  +
     * **Directory buckets ** - When you use this operation with a directory bucket, you must use path-style requests in the format `https://s3express-control.<i>region-code</i>.amazonaws.com/<i>bucket-name</i> `. Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format ` <i>bucket-base-name</i>--<i>zone-id</i>--x-s3` (for example, ` <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3`). For information about bucket naming restrictions, see [Directory bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) in the *Amazon S3 User Guide*
   11     13   
     */
   12     14   
    public val bucket: kotlin.String? = builder.bucket
   13     15   
    /**
   14     16   
     * The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code `403 Forbidden` (access denied).
          17  +
     *
          18  +
     * For directory buckets, this header is not supported in this API operation. If you specify this header, the request fails with the HTTP status code `501 Not Implemented`.
   15     19   
     */
   16     20   
    public val expectedBucketOwner: kotlin.String? = builder.expectedBucketOwner
   17     21   
    /**
   18     22   
     * The ID used to identify the metrics configuration. The ID has a 64 character limit and can only contain letters, numbers, periods, dashes, and underscores.
   19     23   
     */
   20     24   
    public val id: kotlin.String? = builder.id
   21     25   
   22     26   
    public companion object {
   23     27   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.s3.model.GetBucketMetricsConfigurationRequest = Builder().apply(block).build()
   24     28   
    }
   25     29   
   26     30   
    override fun toString(): kotlin.String = buildString {
   27     31   
        append("GetBucketMetricsConfigurationRequest(")
   28     32   
        append("bucket=$bucket,")
   29     33   
        append("expectedBucketOwner=$expectedBucketOwner,")
   30     34   
        append("id=$id")
   31     35   
        append(")")
   32     36   
    }
   33     37   
   34     38   
    override fun hashCode(): kotlin.Int {
   35     39   
        var result = bucket?.hashCode() ?: 0
   36     40   
        result = 31 * result + (this.expectedBucketOwner?.hashCode() ?: 0)
   37     41   
        result = 31 * result + (this.id?.hashCode() ?: 0)
   38     42   
        return result
   39     43   
    }
   40     44   
   41     45   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   42     46   
        if (this === other) return true
   43     47   
        if (other == null || this::class != other::class) return false
   44     48   
   45     49   
        other as GetBucketMetricsConfigurationRequest
   46     50   
   47     51   
        if (bucket != other.bucket) return false
   48     52   
        if (expectedBucketOwner != other.expectedBucketOwner) return false
   49     53   
        if (id != other.id) return false
   50     54   
   51     55   
        return true
   52     56   
    }
   53     57   
   54     58   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.s3.model.GetBucketMetricsConfigurationRequest = Builder(this).apply(block).build()
   55     59   
   56     60   
    @SdkDsl
   57     61   
    public class Builder {
   58     62   
        /**
   59     63   
         * The name of the bucket containing the metrics configuration to retrieve.
          64  +
         *
          65  +
         * **Directory buckets ** - When you use this operation with a directory bucket, you must use path-style requests in the format `https://s3express-control.<i>region-code</i>.amazonaws.com/<i>bucket-name</i> `. Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format ` <i>bucket-base-name</i>--<i>zone-id</i>--x-s3` (for example, ` <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3`). For information about bucket naming restrictions, see [Directory bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) in the *Amazon S3 User Guide*
   60     66   
         */
   61     67   
        public var bucket: kotlin.String? = null
   62     68   
        /**
   63     69   
         * The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code `403 Forbidden` (access denied).
          70  +
         *
          71  +
         * For directory buckets, this header is not supported in this API operation. If you specify this header, the request fails with the HTTP status code `501 Not Implemented`.
   64     72   
         */
   65     73   
        public var expectedBucketOwner: kotlin.String? = null
   66     74   
        /**
   67     75   
         * The ID used to identify the metrics configuration. The ID has a 64 character limit and can only contain letters, numbers, periods, dashes, and underscores.
   68     76   
         */
   69     77   
        public var id: kotlin.String? = null
   70     78   
   71     79   
        @PublishedApi
   72     80   
        internal constructor()
   73     81   
        @PublishedApi

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/IntelligentTieringAccessTier.kt

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

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/IntelligentTieringStatus.kt

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

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/InventoryConfigurationState.kt

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

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/InventoryFormat.kt

@@ -15,15 +51,51 @@
   35     35   
            "ORC" -> Orc
   36     36   
            "Parquet" -> Parquet
   37     37   
            else -> SdkUnknown(value)
   38     38   
        }
   39     39   
   40     40   
        /**
   41     41   
         * Get a list of all possible variants
   42     42   
         */
   43     43   
        public fun values(): kotlin.collections.List<aws.sdk.kotlin.services.s3.model.InventoryFormat> = values
   44     44   
   45         -
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.s3.model.InventoryFormat> = listOf(
          45  +
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.s3.model.InventoryFormat> by lazy { listOf(
   46     46   
            Csv,
   47     47   
            Orc,
   48     48   
            Parquet,
   49         -
        )
          49  +
        ) }
   50     50   
    }
   51     51   
}

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/InventoryFrequency.kt

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

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/InventoryIncludedObjectVersions.kt

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

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/InventoryOptionalField.kt

@@ -93,93 +142,142 @@
  113    113   
            "Size" -> Size
  114    114   
            "StorageClass" -> StorageClass
  115    115   
            else -> SdkUnknown(value)
  116    116   
        }
  117    117   
  118    118   
        /**
  119    119   
         * Get a list of all possible variants
  120    120   
         */
  121    121   
        public fun values(): kotlin.collections.List<aws.sdk.kotlin.services.s3.model.InventoryOptionalField> = values
  122    122   
  123         -
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.s3.model.InventoryOptionalField> = listOf(
         123  +
        private val values: kotlin.collections.List<aws.sdk.kotlin.services.s3.model.InventoryOptionalField> by lazy { listOf(
  124    124   
            BucketKeyStatus,
  125    125   
            ChecksumAlgorithm,
  126    126   
            ETag,
  127    127   
            EncryptionStatus,
  128    128   
            IntelligentTieringAccessTier,
  129    129   
            IsMultipartUploaded,
  130    130   
            LastModifiedDate,
  131    131   
            LifecycleExpirationDate,
  132    132   
            ObjectAccessControlList,
  133    133   
            ObjectLockLegalHoldStatus,
  134    134   
            ObjectLockMode,
  135    135   
            ObjectLockRetainUntilDate,
  136    136   
            ObjectOwner,
  137    137   
            ReplicationStatus,
  138    138   
            Size,
  139    139   
            StorageClass,
  140         -
        )
         140  +
        ) }
  141    141   
    }
  142    142   
}

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/JsonType.kt

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

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/ListBucketMetricsConfigurationsRequest.kt

@@ -1,1 +87,95 @@
    1      1   
// Code generated by smithy-kotlin codegen. DO NOT EDIT!
    2      2   
    3      3   
package aws.sdk.kotlin.services.s3.model
    4      4   
    5      5   
import aws.smithy.kotlin.runtime.SdkDsl
    6      6   
    7      7   
    8      8   
public class ListBucketMetricsConfigurationsRequest private constructor(builder: Builder) {
    9      9   
    /**
   10     10   
     * The name of the bucket containing the metrics configurations to retrieve.
          11  +
     *
          12  +
     * **Directory buckets ** - When you use this operation with a directory bucket, you must use path-style requests in the format `https://s3express-control.<i>region-code</i>.amazonaws.com/<i>bucket-name</i> `. Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format ` <i>bucket-base-name</i>--<i>zone-id</i>--x-s3` (for example, ` <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3`). For information about bucket naming restrictions, see [Directory bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) in the *Amazon S3 User Guide*
   11     13   
     */
   12     14   
    public val bucket: kotlin.String? = builder.bucket
   13     15   
    /**
   14     16   
     * The marker that is used to continue a metrics configuration listing that has been truncated. Use the `NextContinuationToken` from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.
   15     17   
     */
   16     18   
    public val continuationToken: kotlin.String? = builder.continuationToken
   17     19   
    /**
   18     20   
     * The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code `403 Forbidden` (access denied).
          21  +
     *
          22  +
     * For directory buckets, this header is not supported in this API operation. If you specify this header, the request fails with the HTTP status code `501 Not Implemented`.
   19     23   
     */
   20     24   
    public val expectedBucketOwner: kotlin.String? = builder.expectedBucketOwner
   21     25   
   22     26   
    public companion object {
   23     27   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.s3.model.ListBucketMetricsConfigurationsRequest = Builder().apply(block).build()
   24     28   
    }
   25     29   
   26     30   
    override fun toString(): kotlin.String = buildString {
   27     31   
        append("ListBucketMetricsConfigurationsRequest(")
   28     32   
        append("bucket=$bucket,")
   29     33   
        append("continuationToken=$continuationToken,")
   30     34   
        append("expectedBucketOwner=$expectedBucketOwner")
   31     35   
        append(")")
   32     36   
    }
   33     37   
   34     38   
    override fun hashCode(): kotlin.Int {
   35     39   
        var result = bucket?.hashCode() ?: 0
   36     40   
        result = 31 * result + (this.continuationToken?.hashCode() ?: 0)
   37     41   
        result = 31 * result + (this.expectedBucketOwner?.hashCode() ?: 0)
   38     42   
        return result
   39     43   
    }
   40     44   
   41     45   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   42     46   
        if (this === other) return true
   43     47   
        if (other == null || this::class != other::class) return false
   44     48   
   45     49   
        other as ListBucketMetricsConfigurationsRequest
   46     50   
   47     51   
        if (bucket != other.bucket) return false
   48     52   
        if (continuationToken != other.continuationToken) return false
   49     53   
        if (expectedBucketOwner != other.expectedBucketOwner) return false
   50     54   
   51     55   
        return true
   52     56   
    }
   53     57   
   54     58   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.s3.model.ListBucketMetricsConfigurationsRequest = Builder(this).apply(block).build()
   55     59   
   56     60   
    @SdkDsl
   57     61   
    public class Builder {
   58     62   
        /**
   59     63   
         * The name of the bucket containing the metrics configurations to retrieve.
          64  +
         *
          65  +
         * **Directory buckets ** - When you use this operation with a directory bucket, you must use path-style requests in the format `https://s3express-control.<i>region-code</i>.amazonaws.com/<i>bucket-name</i> `. Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format ` <i>bucket-base-name</i>--<i>zone-id</i>--x-s3` (for example, ` <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3`). For information about bucket naming restrictions, see [Directory bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) in the *Amazon S3 User Guide*
   60     66   
         */
   61     67   
        public var bucket: kotlin.String? = null
   62     68   
        /**
   63     69   
         * The marker that is used to continue a metrics configuration listing that has been truncated. Use the `NextContinuationToken` from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.
   64     70   
         */
   65     71   
        public var continuationToken: kotlin.String? = null
   66     72   
        /**
   67     73   
         * The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code `403 Forbidden` (access denied).
          74  +
         *
          75  +
         * For directory buckets, this header is not supported in this API operation. If you specify this header, the request fails with the HTTP status code `501 Not Implemented`.
   68     76   
         */
   69     77   
        public var expectedBucketOwner: kotlin.String? = null
   70     78   
   71     79   
        @PublishedApi
   72     80   
        internal constructor()
   73     81   
        @PublishedApi
   74     82   
        internal constructor(x: aws.sdk.kotlin.services.s3.model.ListBucketMetricsConfigurationsRequest) : this() {
   75     83   
            this.bucket = x.bucket
   76     84   
            this.continuationToken = x.continuationToken
   77     85   
            this.expectedBucketOwner = x.expectedBucketOwner

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/LocationType.kt

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

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/MetadataDirective.kt

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

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/MetricsAndOperator.kt

@@ -1,1 +90,94 @@
   12     12   
    /**
   13     13   
     * The access point ARN used when evaluating an `AND` predicate.
   14     14   
     */
   15     15   
    public val accessPointArn: kotlin.String? = builder.accessPointArn
   16     16   
    /**
   17     17   
     * The prefix used when evaluating an AND predicate.
   18     18   
     */
   19     19   
    public val prefix: kotlin.String? = builder.prefix
   20     20   
    /**
   21     21   
     * The list of tags used when evaluating an AND predicate.
          22  +
     *
          23  +
     * `Tag` filters are not supported for directory buckets.
   22     24   
     */
   23     25   
    public val tags: List<Tag>? = builder.tags
   24     26   
   25     27   
    public companion object {
   26     28   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.s3.model.MetricsAndOperator = Builder().apply(block).build()
   27     29   
    }
   28     30   
   29     31   
    override fun toString(): kotlin.String = buildString {
   30     32   
        append("MetricsAndOperator(")
   31     33   
        append("accessPointArn=$accessPointArn,")
   32     34   
        append("prefix=$prefix,")
   33     35   
        append("tags=$tags")
   34     36   
        append(")")
   35     37   
    }
   36     38   
   37     39   
    override fun hashCode(): kotlin.Int {
   38     40   
        var result = accessPointArn?.hashCode() ?: 0
   39     41   
        result = 31 * result + (this.prefix?.hashCode() ?: 0)
   40     42   
        result = 31 * result + (this.tags?.hashCode() ?: 0)
   41     43   
        return result
   42     44   
    }
   43     45   
   44     46   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   45     47   
        if (this === other) return true
   46     48   
        if (other == null || this::class != other::class) return false
   47     49   
   48     50   
        other as MetricsAndOperator
   49     51   
   50     52   
        if (accessPointArn != other.accessPointArn) return false
   51     53   
        if (prefix != other.prefix) return false
   52     54   
        if (tags != other.tags) return false
   53     55   
   54     56   
        return true
   55     57   
    }
   56     58   
   57     59   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.s3.model.MetricsAndOperator = Builder(this).apply(block).build()
   58     60   
   59     61   
    @SdkDsl
   60     62   
    public class Builder {
   61     63   
        /**
   62     64   
         * The access point ARN used when evaluating an `AND` predicate.
   63     65   
         */
   64     66   
        public var accessPointArn: kotlin.String? = null
   65     67   
        /**
   66     68   
         * The prefix used when evaluating an AND predicate.
   67     69   
         */
   68     70   
        public var prefix: kotlin.String? = null
   69     71   
        /**
   70     72   
         * The list of tags used when evaluating an AND predicate.
          73  +
         *
          74  +
         * `Tag` filters are not supported for directory buckets.
   71     75   
         */
   72     76   
        public var tags: List<Tag>? = null
   73     77   
   74     78   
        @PublishedApi
   75     79   
        internal constructor()
   76     80   
        @PublishedApi
   77     81   
        internal constructor(x: aws.sdk.kotlin.services.s3.model.MetricsAndOperator) : this() {
   78     82   
            this.accessPointArn = x.accessPointArn
   79     83   
            this.prefix = x.prefix
   80     84   
            this.tags = x.tags

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/MetricsConfiguration.kt

@@ -1,1 +79,83 @@
    4      4   
    5      5   
import aws.smithy.kotlin.runtime.SdkDsl
    6      6   
    7      7   
    8      8   
/**
    9      9   
 * Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html).
   10     10   
 */
   11     11   
public class MetricsConfiguration private constructor(builder: Builder) {
   12     12   
    /**
   13     13   
     * Specifies a metrics configuration filter. The metrics configuration will only include objects that meet the filter's criteria. A filter must be a prefix, an object tag, an access point ARN, or a conjunction (MetricsAndOperator).
          14  +
     *
          15  +
     * Metrics configurations for directory buckets do not support tag filters.
   14     16   
     */
   15     17   
    public val filter: aws.sdk.kotlin.services.s3.model.MetricsFilter? = builder.filter
   16     18   
    /**
   17     19   
     * The ID used to identify the metrics configuration. The ID has a 64 character limit and can only contain letters, numbers, periods, dashes, and underscores.
   18     20   
     */
   19     21   
    public val id: kotlin.String = requireNotNull(builder.id) { "A non-null value must be provided for id" }
   20     22   
   21     23   
    public companion object {
   22     24   
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.s3.model.MetricsConfiguration = Builder().apply(block).build()
   23     25   
    }
   24     26   
   25     27   
    override fun toString(): kotlin.String = buildString {
   26     28   
        append("MetricsConfiguration(")
   27     29   
        append("filter=$filter,")
   28     30   
        append("id=$id")
   29     31   
        append(")")
   30     32   
    }
   31     33   
   32     34   
    override fun hashCode(): kotlin.Int {
   33     35   
        var result = filter?.hashCode() ?: 0
   34     36   
        result = 31 * result + (this.id.hashCode())
   35     37   
        return result
   36     38   
    }
   37     39   
   38     40   
    override fun equals(other: kotlin.Any?): kotlin.Boolean {
   39     41   
        if (this === other) return true
   40     42   
        if (other == null || this::class != other::class) return false
   41     43   
   42     44   
        other as MetricsConfiguration
   43     45   
   44     46   
        if (filter != other.filter) return false
   45     47   
        if (id != other.id) return false
   46     48   
   47     49   
        return true
   48     50   
    }
   49     51   
   50     52   
    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.s3.model.MetricsConfiguration = Builder(this).apply(block).build()
   51     53   
   52     54   
    @SdkDsl
   53     55   
    public class Builder {
   54     56   
        /**
   55     57   
         * Specifies a metrics configuration filter. The metrics configuration will only include objects that meet the filter's criteria. A filter must be a prefix, an object tag, an access point ARN, or a conjunction (MetricsAndOperator).
          58  +
         *
          59  +
         * Metrics configurations for directory buckets do not support tag filters.
   56     60   
         */
   57     61   
        public var filter: aws.sdk.kotlin.services.s3.model.MetricsFilter? = null
   58     62   
        /**
   59     63   
         * The ID used to identify the metrics configuration. The ID has a 64 character limit and can only contain letters, numbers, periods, dashes, and underscores.
   60     64   
         */
   61     65   
        public var id: kotlin.String? = null
   62     66   
   63     67   
        @PublishedApi
   64     68   
        internal constructor()
   65     69   
        @PublishedApi

tmp-codegen-diff/services/s3/generated-src/main/kotlin/aws/sdk/kotlin/services/s3/model/MetricsFilter.kt

@@ -1,1 +60,62 @@
   21     21   
    }
   22     22   
   23     23   
    /**
   24     24   
     * The prefix used when evaluating a metrics filter.
   25     25   
     */
   26     26   
    public data class Prefix(val value: kotlin.String) : aws.sdk.kotlin.services.s3.model.MetricsFilter() {
   27     27   
    }
   28     28   
   29     29   
    /**
   30     30   
     * The tag used when evaluating a metrics filter.
          31  +
     *
          32  +
     * `Tag` filters are not supported for directory buckets.
   31     33   
     */
   32     34   
    public data class Tag(val value: aws.sdk.kotlin.services.s3.model.Tag) : aws.sdk.kotlin.services.s3.model.MetricsFilter() {
   33     35   
    }
   34     36   
   35     37   
    public object SdkUnknown : aws.sdk.kotlin.services.s3.model.MetricsFilter() {
   36     38   
    }
   37     39   
   38     40   
    /**
   39     41   
     * Casts this [MetricsFilter] as a [AccessPointArn] and retrieves its [kotlin.String] value. Throws an exception if the [MetricsFilter] is not a
   40     42   
     * [AccessPointArn].