diff --git a/apis/v1alpha1/ack-generate-metadata.yaml b/apis/v1alpha1/ack-generate-metadata.yaml index ef57017..282ee1a 100755 --- a/apis/v1alpha1/ack-generate-metadata.yaml +++ b/apis/v1alpha1/ack-generate-metadata.yaml @@ -1,8 +1,8 @@ ack_generate_info: - build_date: "2024-01-29T07:04:57Z" - build_hash: 92f531cde5631865cfc3dfa778cbc9611f3a64c3 - go_version: go1.21.5 - version: v0.29.2 + build_date: "2024-02-14T04:03:57Z" + build_hash: 947081ffebdeefcf2c61c4ca6d7e68810bdf9d08 + go_version: go1.22.0 + version: v0.30.0 api_directory_checksum: f50cdf03c85532166479736d285eaf6330f91d2b api_version: v1alpha1 aws_sdk_go_version: v1.44.93 diff --git a/apis/v1alpha1/zz_generated.deepcopy.go b/apis/v1alpha1/zz_generated.deepcopy.go index 80b625a..f4fa04a 100644 --- a/apis/v1alpha1/zz_generated.deepcopy.go +++ b/apis/v1alpha1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated // Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. // diff --git a/config/controller/kustomization.yaml b/config/controller/kustomization.yaml index 03b7f8e..f2eaf9f 100644 --- a/config/controller/kustomization.yaml +++ b/config/controller/kustomization.yaml @@ -6,4 +6,4 @@ kind: Kustomization images: - name: controller newName: public.ecr.aws/aws-controllers-k8s/s3-controller - newTag: 1.0.8 + newTag: 1.0.9 diff --git a/config/crd/bases/s3.services.k8s.aws_buckets.yaml b/config/crd/bases/s3.services.k8s.aws_buckets.yaml index 78b2488..1a38bd6 100644 --- a/config/crd/bases/s3.services.k8s.aws_buckets.yaml +++ b/config/crd/bases/s3.services.k8s.aws_buckets.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: buckets.s3.services.k8s.aws spec: group: s3.services.k8s.aws @@ -21,22 +20,30 @@ spec: description: Bucket is the Schema for the Buckets API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: "BucketSpec defines the desired state of Bucket. \n In terms - of implementation, a Bucket is a resource. An Amazon S3 bucket name + description: |- + BucketSpec defines the desired state of Bucket. + + + In terms of implementation, a Bucket is a resource. An Amazon S3 bucket name is globally unique, and the namespace is shared by all Amazon Web Services - accounts." + accounts. properties: accelerate: description: Container for setting the transfer acceleration state. @@ -49,21 +56,21 @@ spec: type: string analytics: items: - description: Specifies the configuration and any analyses for the - analytics filter of an Amazon S3 bucket. + description: |- + Specifies the configuration and any analyses for the analytics filter of + an Amazon S3 bucket. properties: filter: - description: The filter used to describe a set of objects for - analyses. A filter must have exactly one prefix, one tag, - or one conjunction (AnalyticsAndOperator). If no filter is - provided, all objects will be considered in any analysis. + description: |- + The filter used to describe a set of objects for analyses. A filter must + have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). + If no filter is provided, all objects will be considered in any analysis. properties: and: - description: A conjunction (logical AND) of predicates, - which is used in evaluating a metrics filter. The operator - must have at least two predicates in any combination, - and an object must match all of the predicates for the - filter to apply. + description: |- + A conjunction (logical AND) of predicates, which is used in evaluating a + metrics filter. The operator must have at least two predicates in any combination, + and an object must match all of the predicates for the filter to apply. properties: prefix: type: string @@ -92,13 +99,15 @@ spec: id: type: string storageClassAnalysis: - description: Specifies data related to access patterns to be - collected and made available to analyze the tradeoffs between - different storage classes for an Amazon S3 bucket. + description: |- + Specifies data related to access patterns to be collected and made available + to analyze the tradeoffs between different storage classes for an Amazon + S3 bucket. properties: dataExport: - description: Container for data related to the storage class - analysis for an Amazon S3 bucket for export. + description: |- + Container for data related to the storage class analysis for an Amazon S3 + bucket for export. properties: destination: description: Where to publish the analytics results. @@ -124,10 +133,11 @@ spec: type: object type: array cors: - description: Describes the cross-origin access configuration for objects - in an Amazon S3 bucket. For more information, see Enabling Cross-Origin - Resource Sharing (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) - in the Amazon S3 User Guide. + description: |- + Describes the cross-origin access configuration for objects in an Amazon + S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing + (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon + S3 User Guide. properties: corsRules: items: @@ -172,16 +182,15 @@ spec: description: Specifies the default server-side encryption configuration. properties: applyServerSideEncryptionByDefault: - description: Describes the default server-side encryption - to apply to new objects in the bucket. If a PUT Object - request doesn't specify any server-side encryption, this - default encryption will be applied. If you don't specify - a customer managed key at configuration, Amazon S3 automatically - creates an Amazon Web Services KMS key in your Amazon - Web Services account the first time that you add an object - encrypted with SSE-KMS to a bucket. By default, Amazon - S3 uses this KMS key for SSE-KMS. For more information, - see PUT Bucket encryption (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) + description: |- + Describes the default server-side encryption to apply to new objects in the + bucket. If a PUT Object request doesn't specify any server-side encryption, + this default encryption will be applied. If you don't specify a customer + managed key at configuration, Amazon S3 automatically creates an Amazon Web + Services KMS key in your Amazon Web Services account the first time that + you add an object encrypted with SSE-KMS to a bucket. By default, Amazon + S3 uses this KMS key for SSE-KMS. For more information, see PUT Bucket encryption + (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) in the Amazon S3 API Reference. properties: kmsMasterKeyID: @@ -195,8 +204,9 @@ spec: type: array type: object grantFullControl: - description: Allows grantee the read, write, read ACP, and write ACP - permissions on the bucket. + description: |- + Allows grantee the read, write, read ACP, and write ACP permissions on the + bucket. type: string grantRead: description: Allows grantee to list the objects in the bucket. @@ -205,28 +215,35 @@ spec: description: Allows grantee to read the bucket ACL. type: string grantWrite: - description: "Allows grantee to create new objects in the bucket. - \n For the bucket and object owners of existing objects, also allows - deletions and overwrites of those objects." + description: |- + Allows grantee to create new objects in the bucket. + + + For the bucket and object owners of existing objects, also allows deletions + and overwrites of those objects. type: string grantWriteACP: description: Allows grantee to write the ACL for the applicable bucket. type: string intelligentTiering: items: - description: "Specifies the S3 Intelligent-Tiering configuration - for an Amazon S3 bucket. \n For information about the S3 Intelligent-Tiering - storage class, see Storage class for automatically optimizing - frequently and infrequently accessed objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access)." + description: |- + Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket. + + + For information about the S3 Intelligent-Tiering storage class, see Storage + class for automatically optimizing frequently and infrequently accessed objects + (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access). properties: filter: - description: The Filter is used to identify objects that the - S3 Intelligent-Tiering configuration applies to. + description: |- + The Filter is used to identify objects that the S3 Intelligent-Tiering configuration + applies to. properties: and: - description: A container for specifying S3 Intelligent-Tiering - filters. The filters determine the subset of objects to - which the rule applies. + description: |- + A container for specifying S3 Intelligent-Tiering filters. The filters determine + the subset of objects to which the rule applies. properties: prefix: type: string @@ -258,10 +275,10 @@ spec: type: string tierings: items: - description: The S3 Intelligent-Tiering storage class is designed - to optimize storage costs by automatically moving data to - the most cost-effective storage access tier, without additional - operational overhead. + description: |- + The S3 Intelligent-Tiering storage class is designed to optimize storage + costs by automatically moving data to the most cost-effective storage access + tier, without additional operational overhead. properties: accessTier: type: string @@ -274,8 +291,9 @@ spec: type: array inventory: items: - description: Specifies the inventory configuration for an Amazon - S3 bucket. For more information, see GET Bucket inventory (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) + description: |- + Specifies the inventory configuration for an Amazon S3 bucket. For more information, + see GET Bucket inventory (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the Amazon S3 API Reference. properties: destination: @@ -283,17 +301,18 @@ spec: S3 bucket. properties: s3BucketDestination: - description: Contains the bucket name, file format, bucket - owner (optional), and prefix (optional) where inventory - results are published. + description: |- + Contains the bucket name, file format, bucket owner (optional), and prefix + (optional) where inventory results are published. properties: accountID: type: string bucket: type: string encryption: - description: Contains the type of server-side encryption - used to encrypt the inventory results. + description: |- + Contains the type of server-side encryption used to encrypt the inventory + results. properties: sseKMS: description: Specifies the use of SSE-KMS to encrypt @@ -310,8 +329,9 @@ spec: type: object type: object filter: - description: Specifies an inventory filter. The inventory only - includes objects that meet the filter's criteria. + description: |- + Specifies an inventory filter. The inventory only includes objects that meet + the filter's criteria. properties: prefix: type: string @@ -345,11 +365,11 @@ spec: S3 bucket. properties: abortIncompleteMultipartUpload: - description: Specifies the days since the initiation of - an incomplete multipart upload that Amazon S3 will wait - before permanently removing all parts of the upload. For - more information, see Aborting Incomplete Multipart Uploads - Using a Bucket Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) + description: |- + Specifies the days since the initiation of an incomplete multipart upload + that Amazon S3 will wait before permanently removing all parts of the upload. + For more information, see Aborting Incomplete Multipart Uploads Using a Bucket + Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the Amazon S3 User Guide. properties: daysAfterInitiation: @@ -370,15 +390,15 @@ spec: type: boolean type: object filter: - description: The Filter is used to identify objects that - a Lifecycle Rule applies to. A Filter must have exactly - one of Prefix, Tag, or And specified. + description: |- + The Filter is used to identify objects that a Lifecycle Rule applies to. + A Filter must have exactly one of Prefix, Tag, or And specified. properties: and: - description: This is used in a Lifecycle Rule Filter - to apply a logical AND to two or more predicates. - The Lifecycle Rule will apply to any object matching - all of the predicates configured inside the And operator. + description: |- + This is used in a Lifecycle Rule Filter to apply a logical AND to two or + more predicates. The Lifecycle Rule will apply to any object matching all + of the predicates configured inside the And operator. properties: objectSizeGreaterThan: format: int64 @@ -419,12 +439,12 @@ spec: id: type: string noncurrentVersionExpiration: - description: Specifies when noncurrent object versions expire. - Upon expiration, Amazon S3 permanently deletes the noncurrent - object versions. You set this lifecycle configuration - action on a bucket that has versioning enabled (or suspended) - to request that Amazon S3 delete noncurrent object versions - at a specific period in the object's lifetime. + description: |- + Specifies when noncurrent object versions expire. Upon expiration, Amazon + S3 permanently deletes the noncurrent object versions. You set this lifecycle + configuration action on a bucket that has versioning enabled (or suspended) + to request that Amazon S3 delete noncurrent object versions at a specific + period in the object's lifetime. properties: newerNoncurrentVersions: format: int64 @@ -435,14 +455,13 @@ spec: type: object noncurrentVersionTransitions: items: - description: Container for the transition rule that describes - when noncurrent objects transition to the STANDARD_IA, - ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, GLACIER, - or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled - (or versioning is suspended), you can set this action - to request that Amazon S3 transition noncurrent object - versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, - GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class at + description: |- + Container for the transition rule that describes when noncurrent objects + transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, + GLACIER, or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled + (or versioning is suspended), you can set this action to request that Amazon + S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA, + INTELLIGENT_TIERING, GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's lifetime. properties: newerNoncurrentVersions: @@ -461,9 +480,9 @@ spec: type: string transitions: items: - description: Specifies when an object transitions to a - specified storage class. For more information about - Amazon S3 lifecycle configuration rules, see Transitioning + description: |- + Specifies when an object transitions to a specified storage class. For more + information about Amazon S3 lifecycle configuration rules, see Transitioning Objects Using Amazon S3 Lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) in the Amazon S3 User Guide. properties: @@ -484,20 +503,24 @@ spec: description: Container for logging status information. properties: loggingEnabled: - description: Describes where logs are stored and the prefix that - Amazon S3 assigns to all log object keys for a bucket. For more - information, see PUT Bucket logging (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) + description: |- + Describes where logs are stored and the prefix that Amazon S3 assigns to + all log object keys for a bucket. For more information, see PUT Bucket logging + (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) in the Amazon S3 API Reference. properties: targetBucket: type: string targetGrants: items: - description: "Container for granting information. \n Buckets - that use the bucket owner enforced setting for Object - Ownership don't support target grants. For more information, - see Permissions server access log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) - in the Amazon S3 User Guide." + description: |- + Container for granting information. + + + Buckets that use the bucket owner enforced setting for Object Ownership don't + support target grants. For more information, see Permissions server access + log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) + in the Amazon S3 User Guide. properties: grantee: description: Container for the person being granted @@ -524,28 +547,28 @@ spec: type: object metrics: items: - description: 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). + description: |- + 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). properties: filter: - description: Specifies a metrics configuration filter. The metrics - configuration only includes objects that meet the filter's - criteria. A filter must be a prefix, an object tag, an access - point ARN, or a conjunction (MetricsAndOperator). For more - information, see PutBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html). + description: |- + Specifies a metrics configuration filter. The metrics configuration only + includes objects that meet the filter's criteria. A filter must be a prefix, + an object tag, an access point ARN, or a conjunction (MetricsAndOperator). + For more information, see PutBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html). properties: accessPointARN: type: string and: - description: A conjunction (logical AND) of predicates, - which is used in evaluating a metrics filter. The operator - must have at least two predicates, and an object must - match all of the predicates in order for the filter to - apply. + description: |- + A conjunction (logical AND) of predicates, which is used in evaluating a + metrics filter. The operator must have at least two predicates, and an object + must match all of the predicates in order for the filter to apply. properties: accessPointARN: type: string @@ -581,9 +604,9 @@ spec: description: The name of the bucket to create. type: string notification: - description: A container for specifying the notification configuration - of the bucket. If this element is empty, notifications are turned - off for the bucket. + description: |- + A container for specifying the notification configuration of the bucket. + If this element is empty, notifications are turned off for the bucket. properties: lambdaFunctionConfigurations: items: @@ -595,9 +618,9 @@ spec: type: string type: array filter: - description: Specifies object key name filtering rules. - For information about key name filtering, see Configuring - Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + description: |- + Specifies object key name filtering rules. For information about key name + filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the Amazon S3 User Guide. properties: key: @@ -605,13 +628,13 @@ spec: and suffix filtering rules. properties: filterRules: - description: A list of containers for the key-value - pair that defines the criteria for the filter - rule. + description: |- + A list of containers for the key-value pair that defines the criteria for + the filter rule. items: - description: Specifies the Amazon S3 object key - name to filter on and whether to filter on the - suffix or prefix of the key name. + description: |- + Specifies the Amazon S3 object key name to filter on and whether to filter + on the suffix or prefix of the key name. properties: name: type: string @@ -622,9 +645,9 @@ spec: type: object type: object id: - description: An optional unique identifier for configurations - in a notification configuration. If you don't provide - one, Amazon S3 will assign an ID. + description: |- + An optional unique identifier for configurations in a notification configuration. + If you don't provide one, Amazon S3 will assign an ID. type: string lambdaFunctionARN: type: string @@ -632,18 +655,18 @@ spec: type: array queueConfigurations: items: - description: Specifies the configuration for publishing messages - to an Amazon Simple Queue Service (Amazon SQS) queue when - Amazon S3 detects specified events. + description: |- + Specifies the configuration for publishing messages to an Amazon Simple Queue + Service (Amazon SQS) queue when Amazon S3 detects specified events. properties: events: items: type: string type: array filter: - description: Specifies object key name filtering rules. - For information about key name filtering, see Configuring - Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + description: |- + Specifies object key name filtering rules. For information about key name + filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the Amazon S3 User Guide. properties: key: @@ -651,13 +674,13 @@ spec: and suffix filtering rules. properties: filterRules: - description: A list of containers for the key-value - pair that defines the criteria for the filter - rule. + description: |- + A list of containers for the key-value pair that defines the criteria for + the filter rule. items: - description: Specifies the Amazon S3 object key - name to filter on and whether to filter on the - suffix or prefix of the key name. + description: |- + Specifies the Amazon S3 object key name to filter on and whether to filter + on the suffix or prefix of the key name. properties: name: type: string @@ -668,9 +691,9 @@ spec: type: object type: object id: - description: An optional unique identifier for configurations - in a notification configuration. If you don't provide - one, Amazon S3 will assign an ID. + description: |- + An optional unique identifier for configurations in a notification configuration. + If you don't provide one, Amazon S3 will assign an ID. type: string queueARN: type: string @@ -678,18 +701,19 @@ spec: type: array topicConfigurations: items: - description: A container for specifying the configuration for - publication of messages to an Amazon Simple Notification Service - (Amazon SNS) topic when Amazon S3 detects specified events. + description: |- + A container for specifying the configuration for publication of messages + to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 + detects specified events. properties: events: items: type: string type: array filter: - description: Specifies object key name filtering rules. - For information about key name filtering, see Configuring - Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + description: |- + Specifies object key name filtering rules. For information about key name + filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the Amazon S3 User Guide. properties: key: @@ -697,13 +721,13 @@ spec: and suffix filtering rules. properties: filterRules: - description: A list of containers for the key-value - pair that defines the criteria for the filter - rule. + description: |- + A list of containers for the key-value pair that defines the criteria for + the filter rule. items: - description: Specifies the Amazon S3 object key - name to filter on and whether to filter on the - suffix or prefix of the key name. + description: |- + Specifies the Amazon S3 object key name to filter on and whether to filter + on the suffix or prefix of the key name. properties: name: type: string @@ -714,9 +738,9 @@ spec: type: object type: object id: - description: An optional unique identifier for configurations - in a notification configuration. If you don't provide - one, Amazon S3 will assign an ID. + description: |- + An optional unique identifier for configurations in a notification configuration. + If you don't provide one, Amazon S3 will assign an ID. type: string topicARN: type: string @@ -730,8 +754,9 @@ spec: objectOwnership: type: string ownershipControls: - description: The OwnershipControls (BucketOwnerEnforced, BucketOwnerPreferred, - or ObjectWriter) that you want to apply to this Amazon S3 bucket. + description: |- + The OwnershipControls (BucketOwnerEnforced, BucketOwnerPreferred, or ObjectWriter) + that you want to apply to this Amazon S3 bucket. properties: rules: items: @@ -739,20 +764,24 @@ spec: rule. properties: objectOwnership: - description: "The container element for object ownership - for a bucket's ownership controls. \n BucketOwnerPreferred - - Objects uploaded to the bucket change ownership to the - bucket owner if the objects are uploaded with the bucket-owner-full-control - canned ACL. \n ObjectWriter - The uploading account will - own the object if the object is uploaded with the bucket-owner-full-control - canned ACL. \n BucketOwnerEnforced - Access control lists - (ACLs) are disabled and no longer affect permissions. - The bucket owner automatically owns and has full control - over every object in the bucket. The bucket only accepts - PUT requests that don't specify an ACL or bucket owner - full control ACLs, such as the bucket-owner-full-control - canned ACL or an equivalent form of this ACL expressed - in the XML format." + description: |- + The container element for object ownership for a bucket's ownership controls. + + + BucketOwnerPreferred - Objects uploaded to the bucket change ownership to + the bucket owner if the objects are uploaded with the bucket-owner-full-control + canned ACL. + + + ObjectWriter - The uploading account will own the object if the object is + uploaded with the bucket-owner-full-control canned ACL. + + + BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer + affect permissions. The bucket owner automatically owns and has full control + over every object in the bucket. The bucket only accepts PUT requests that + don't specify an ACL or bucket owner full control ACLs, such as the bucket-owner-full-control + canned ACL or an equivalent form of this ACL expressed in the XML format. type: string type: object type: array @@ -761,11 +790,11 @@ spec: description: The bucket policy as a JSON document. type: string publicAccessBlock: - description: The PublicAccessBlock configuration that you want to - apply to this Amazon S3 bucket. You can enable the configuration - options in any combination. For more information about when Amazon - S3 considers a bucket or object public, see The Meaning of "Public" - (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) + description: |- + The PublicAccessBlock configuration that you want to apply to this Amazon + S3 bucket. You can enable the configuration options in any combination. For + more information about when Amazon S3 considers a bucket or object public, + see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the Amazon S3 User Guide. properties: blockPublicACLs: @@ -778,9 +807,9 @@ spec: type: boolean type: object replication: - description: A container for replication rules. You can add up to - 1,000 rules. The maximum size of a replication configuration is - 2 MB. + description: |- + A container for replication rules. You can add up to 1,000 rules. The maximum + size of a replication configuration is 2 MB. properties: role: type: string @@ -790,28 +819,30 @@ spec: and where to store the replicas. properties: deleteMarkerReplication: - description: "Specifies whether Amazon S3 replicates delete - markers. If you specify a Filter in your replication configuration, - you must also include a DeleteMarkerReplication element. - If your Filter includes a Tag element, the DeleteMarkerReplication - Status must be set to Disabled, because Amazon S3 does - not support replicating delete markers for tag-based rules. - For an example configuration, see Basic Rule Configuration - (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). - \n For more information about delete marker replication, - see Basic Rule Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). - \n If you are using an earlier version of the replication - configuration, Amazon S3 handles replication of delete - markers differently. For more information, see Backward - Compatibility (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations)." + description: |- + Specifies whether Amazon S3 replicates delete markers. If you specify a Filter + in your replication configuration, you must also include a DeleteMarkerReplication + element. If your Filter includes a Tag element, the DeleteMarkerReplication + Status must be set to Disabled, because Amazon S3 does not support replicating + delete markers for tag-based rules. For an example configuration, see Basic + Rule Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). + + + For more information about delete marker replication, see Basic Rule Configuration + (https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). + + + If you are using an earlier version of the replication configuration, Amazon + S3 handles replication of delete markers differently. For more information, + see Backward Compatibility (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations). properties: status: type: string type: object destination: - description: Specifies information about where to publish - analysis or configuration results for an Amazon S3 bucket - and S3 Replication Time Control (S3 RTC). + description: |- + Specifies information about where to publish analysis or configuration results + for an Amazon S3 bucket and S3 Replication Time Control (S3 RTC). properties: accessControlTranslation: description: A container for information about access @@ -825,21 +856,22 @@ spec: bucket: type: string encryptionConfiguration: - description: Specifies encryption-related information - for an Amazon S3 bucket that is a destination for - replicated objects. + description: |- + Specifies encryption-related information for an Amazon S3 bucket that is + a destination for replicated objects. properties: replicaKMSKeyID: type: string type: object metrics: - description: A container specifying replication metrics-related - settings enabling replication metrics and events. + description: |- + A container specifying replication metrics-related settings enabling replication + metrics and events. properties: eventThreshold: - description: A container specifying the time value - for S3 Replication Time Control (S3 RTC) and replication - metrics EventThreshold. + description: |- + A container specifying the time value for S3 Replication Time Control (S3 + RTC) and replication metrics EventThreshold. properties: minutes: format: int64 @@ -849,18 +881,18 @@ spec: type: string type: object replicationTime: - description: A container specifying S3 Replication Time - Control (S3 RTC) related information, including whether - S3 RTC is enabled and the time when all objects and - operations on objects must be replicated. Must be - specified together with a Metrics block. + description: |- + A container specifying S3 Replication Time Control (S3 RTC) related information, + including whether S3 RTC is enabled and the time when all objects and operations + on objects must be replicated. Must be specified together with a Metrics + block. properties: status: type: string time: - description: A container specifying the time value - for S3 Replication Time Control (S3 RTC) and replication - metrics EventThreshold. + description: |- + A container specifying the time value for S3 Replication Time Control (S3 + RTC) and replication metrics EventThreshold. properties: minutes: format: int64 @@ -871,28 +903,35 @@ spec: type: string type: object existingObjectReplication: - description: Optional configuration to replicate existing - source bucket objects. For more information, see Replicating - Existing Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication) + description: |- + Optional configuration to replicate existing source bucket objects. For more + information, see Replicating Existing Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication) in the Amazon S3 User Guide. properties: status: type: string type: object filter: - description: A filter that identifies the subset of objects - to which the replication rule applies. A Filter must specify - exactly one Prefix, Tag, or an And child element. + description: |- + A filter that identifies the subset of objects to which the replication rule + applies. A Filter must specify exactly one Prefix, Tag, or an And child element. properties: and: - description: "A container for specifying rule filters. - The filters determine the subset of objects to which - the rule applies. This element is required only if - you specify more than one filter. \n For example: - \n * If you specify both a Prefix and a Tag filter, - wrap these filters in an And tag. \n * If you specify - a filter based on multiple tags, wrap the Tag elements - in an And tag." + description: |- + A container for specifying rule filters. The filters determine the subset + of objects to which the rule applies. This element is required only if you + specify more than one filter. + + + For example: + + + * If you specify both a Prefix and a Tag filter, wrap these filters in + an And tag. + + + * If you specify a filter based on multiple tags, wrap the Tag elements + in an And tag. properties: prefix: type: string @@ -926,33 +965,34 @@ spec: format: int64 type: integer sourceSelectionCriteria: - description: A container that describes additional filters - for identifying the source objects that you want to replicate. - You can choose to enable or disable the replication of - these objects. Currently, Amazon S3 supports only the - filter that you can specify for objects created with server-side - encryption using a customer managed key stored in Amazon - Web Services Key Management Service (SSE-KMS). + description: |- + A container that describes additional filters for identifying the source + objects that you want to replicate. You can choose to enable or disable the + replication of these objects. Currently, Amazon S3 supports only the filter + that you can specify for objects created with server-side encryption using + a customer managed key stored in Amazon Web Services Key Management Service + (SSE-KMS). properties: replicaModifications: - description: "A filter that you can specify for selection - for modifications on replicas. Amazon S3 doesn't replicate - replica modifications by default. In the latest version - of replication configuration (when Filter is specified), - you can specify this element and set the status to - Enabled to replicate modifications on replicas. \n - If you don't specify the Filter element, Amazon S3 - assumes that the replication configuration is the - earlier version, V1. In the earlier version, this - element is not allowed." + description: |- + A filter that you can specify for selection for modifications on replicas. + Amazon S3 doesn't replicate replica modifications by default. In the latest + version of replication configuration (when Filter is specified), you can + specify this element and set the status to Enabled to replicate modifications + on replicas. + + + If you don't specify the Filter element, Amazon S3 assumes that the replication + configuration is the earlier version, V1. In the earlier version, this element + is not allowed. properties: status: type: string type: object sseKMSEncryptedObjects: - description: A container for filter information for - the selection of S3 objects encrypted with Amazon - Web Services KMS. + description: |- + A container for filter information for the selection of S3 objects encrypted + with Amazon Web Services KMS. properties: status: type: string @@ -1005,8 +1045,9 @@ spec: type: string type: object redirectAllRequestsTo: - description: Specifies the redirect behavior of all requests to - a website endpoint of an Amazon S3 bucket. + description: |- + Specifies the redirect behavior of all requests to a website endpoint of + an Amazon S3 bucket. properties: hostName: type: string @@ -1015,18 +1056,18 @@ spec: type: object routingRules: items: - description: Specifies the redirect behavior and when a redirect - is applied. For more information about routing rules, see - Configuring advanced conditional redirects (https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) + description: |- + Specifies the redirect behavior and when a redirect is applied. For more + information about routing rules, see Configuring advanced conditional redirects + (https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) in the Amazon S3 User Guide. properties: condition: - description: A container for describing a condition that - must be met for the specified redirect to apply. For example, - 1. If request is for pages in the /docs folder, redirect - to the /documents folder. 2. If request results in HTTP - error 4xx, redirect request to another host where you - might process the error. + description: |- + A container for describing a condition that must be met for the specified + redirect to apply. For example, 1. If request is for pages in the /docs folder, + redirect to the /documents folder. 2. If request results in HTTP error 4xx, + redirect request to another host where you might process the error. properties: httpErrorCodeReturnedEquals: type: string @@ -1034,9 +1075,9 @@ spec: type: string type: object redirect: - description: Specifies how requests are redirected. In the - event of an error, you can specify a different error code - to return. + description: |- + Specifies how requests are redirected. In the event of an error, you can + specify a different error code to return. properties: hostName: type: string @@ -1059,24 +1100,26 @@ spec: description: BucketStatus defines the observed state of Bucket properties: ackResourceMetadata: - description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` - member that is used to contain resource sync state, account ownership, + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, constructed ARN for the resource properties: arn: - description: 'ARN is the Amazon Resource Name for the resource. - This is a globally-unique identifier and is set only by the - ACK service controller once the controller has orchestrated - the creation of the resource OR when it has verified that an - "adopted" resource (a resource where the ARN annotation was - set by the Kubernetes user on the CR) exists and matches the - supplied CR''s Spec field values. TODO(vijat@): Find a better - strategy for resources that do not have ARN in CreateOutputResponse - https://github.com/aws/aws-controllers-k8s/issues/270' + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270 type: string ownerAccountID: - description: OwnerAccountID is the AWS Account ID of the account - that owns the backend AWS service API resource. + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. type: string region: description: Region is the AWS region in which the resource exists @@ -1087,14 +1130,16 @@ spec: - region type: object conditions: - description: All CRS managed by ACK have a common `Status.Conditions` - member that contains a collection of `ackv1alpha1.Condition` objects - that describe the various terminal states of the CR and its backend - AWS service API resource + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource items: - description: Condition is the common struct used by all CRDs managed - by ACK service controllers to indicate terminal states of the - CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status diff --git a/config/crd/common/bases/services.k8s.aws_adoptedresources.yaml b/config/crd/common/bases/services.k8s.aws_adoptedresources.yaml index 7dca541..65eff73 100644 --- a/config/crd/common/bases/services.k8s.aws_adoptedresources.yaml +++ b/config/crd/common/bases/services.k8s.aws_adoptedresources.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: adoptedresources.services.k8s.aws spec: group: services.k8s.aws @@ -21,14 +20,19 @@ spec: description: AdoptedResource is the schema for the AdoptedResource API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -42,126 +46,149 @@ spec: additionalKeys: additionalProperties: type: string - description: AdditionalKeys represents any additional arbitrary - identifiers used when describing the target resource. + description: |- + AdditionalKeys represents any additional arbitrary identifiers used when + describing the target resource. type: object arn: - description: ARN is the AWS Resource Name for the resource. It - is a globally unique identifier. + description: |- + ARN is the AWS Resource Name for the resource. It is a globally + unique identifier. type: string nameOrID: - description: NameOrId is a user-supplied string identifier for - the resource. It may or may not be globally unique, depending - on the type of resource. + description: |- + NameOrId is a user-supplied string identifier for the resource. It may + or may not be globally unique, depending on the type of resource. type: string type: object kubernetes: - description: ResourceWithMetadata provides the values necessary to - create a Kubernetes resource and override any of its metadata values. + description: |- + ResourceWithMetadata provides the values necessary to create a + Kubernetes resource and override any of its metadata values. properties: group: type: string kind: type: string metadata: - description: "ObjectMeta is metadata that all persisted resources - must have, which includes all objects users must create. It - is not possible to use `metav1.ObjectMeta` inside spec, as the - controller-gen automatically converts this to an arbitrary string-string - map. https://github.com/kubernetes-sigs/controller-tools/issues/385 - \n Active discussion about inclusion of this field in the spec - is happening in this PR: https://github.com/kubernetes-sigs/controller-tools/pull/395 - \n Until this is allowed, or if it never is, we will produce - a subset of the object meta that contains only the fields which - the user is allowed to modify in the metadata." + description: |- + ObjectMeta is metadata that all persisted resources must have, which includes all objects + users must create. + It is not possible to use `metav1.ObjectMeta` inside spec, as the controller-gen + automatically converts this to an arbitrary string-string map. + https://github.com/kubernetes-sigs/controller-tools/issues/385 + + + Active discussion about inclusion of this field in the spec is happening in this PR: + https://github.com/kubernetes-sigs/controller-tools/pull/395 + + + Until this is allowed, or if it never is, we will produce a subset of the object meta + that contains only the fields which the user is allowed to modify in the metadata. properties: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: http://kubernetes.io/docs/user-guide/annotations type: object generateName: - description: "GenerateName is an optional prefix, used by - the server, to generate a unique name ONLY IF the Name field - has not been provided. If this field is used, the name returned - to the client will be different than the name passed. This - value will also be combined with a unique suffix. The provided - value has the same validation rules as the Name field, and - may be truncated by the length of the suffix required to - make the value unique on the server. \n If this field is - specified and the generated name exists, the server will - NOT return a 409 - instead, it will either return 201 Created - or 500 with Reason ServerTimeout indicating a unique name - could not be found in the time allotted, and the client - should retry (optionally after the time indicated in the - Retry-After header). \n Applied only if Name is not specified. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency" + description: |- + GenerateName is an optional prefix, used by the server, to generate a unique + name ONLY IF the Name field has not been provided. + If this field is used, the name returned to the client will be different + than the name passed. This value will also be combined with a unique suffix. + The provided value has the same validation rules as the Name field, + and may be truncated by the length of the suffix required to make the value + unique on the server. + + + If this field is specified and the generated name exists, the server will + NOT return a 409 - instead, it will either return 201 Created or 500 with Reason + ServerTimeout indicating a unique name could not be found in the time allotted, and the client + should retry (optionally after the time indicated in the Retry-After header). + + + Applied only if Name is not specified. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency type: string labels: additionalProperties: type: string - description: 'Map of string keys and values that can be used - to organize and categorize (scope and select) objects. May - match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels' + description: |- + Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: http://kubernetes.io/docs/user-guide/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow - a client to request the generation of an appropriate name - automatically. Name is primarily intended for creation idempotence - and configuration definition. Cannot be updated. More info: - http://kubernetes.io/docs/user-guide/identifiers#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: http://kubernetes.io/docs/user-guide/identifiers#names type: string namespace: - description: "Namespace defines the space within each name - must be unique. An empty namespace is equivalent to the - \"default\" namespace, but \"default\" is the canonical - representation. Not all objects are required to be scoped - to a namespace - the value of this field for those objects - will be empty. \n Must be a DNS_LABEL. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/namespaces" + description: |- + Namespace defines the space within each name must be unique. An empty namespace is + equivalent to the "default" namespace, but "default" is the canonical representation. + Not all objects are required to be scoped to a namespace - the value of this field for + those objects will be empty. + + + Must be a DNS_LABEL. + Cannot be updated. + More info: http://kubernetes.io/docs/user-guide/namespaces type: string ownerReferences: - description: List of objects depended by this object. If ALL - objects in the list have been deleted, this object will - be garbage collected. If this object is managed by a controller, - then an entry in this list will point to this controller, - with the controller field set to true. There cannot be more - than one managing controller. + description: |- + List of objects depended by this object. If ALL objects in the list have + been deleted, this object will be garbage collected. If this object is managed by a controller, + then an entry in this list will point to this controller, with the controller field set to true. + There cannot be more than one managing controller. items: - description: OwnerReference contains enough information - to let you identify an owning object. An owning object - must be in the same namespace as the dependent, or be - cluster-scoped, so there is no namespace field. + description: |- + OwnerReference contains enough information to let you identify an owning + object. An owning object must be in the same namespace as the dependent, or + be cluster-scoped, so there is no namespace field. properties: apiVersion: description: API version of the referent. type: string blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from the - key-value store until this reference is removed. Defaults - to false. To set this field, a user needs "delete" - permission of the owner, otherwise 422 (Unprocessable - Entity) will be returned. + description: |- + If true, AND if the owner has the "foregroundDeletion" finalizer, then + the owner cannot be deleted from the key-value store until this + reference is removed. + See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion + for how the garbage collector interacts with this field and enforces the foreground deletion. + Defaults to false. + To set this field, a user needs "delete" permission of the owner, + otherwise 422 (Unprocessable Entity) will be returned. type: boolean controller: description: If true, this reference points to the managing controller. type: boolean kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids type: string required: - apiVersion @@ -185,13 +212,14 @@ spec: AdoptedResource. properties: conditions: - description: A collection of `ackv1alpha1.Condition` objects that - describe the various terminal states of the adopted resource CR - and its target custom resource + description: |- + A collection of `ackv1alpha1.Condition` objects that describe the various + terminal states of the adopted resource CR and its target custom resource items: - description: Condition is the common struct used by all CRDs managed - by ACK service controllers to indicate terminal states of the - CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status diff --git a/config/crd/common/bases/services.k8s.aws_fieldexports.yaml b/config/crd/common/bases/services.k8s.aws_fieldexports.yaml index 4a7ab61..4d3a8f1 100644 --- a/config/crd/common/bases/services.k8s.aws_fieldexports.yaml +++ b/config/crd/common/bases/services.k8s.aws_fieldexports.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: fieldexports.services.k8s.aws spec: group: services.k8s.aws @@ -21,14 +20,19 @@ spec: description: FieldExport is the schema for the FieldExport API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -36,15 +40,17 @@ spec: description: FieldExportSpec defines the desired state of the FieldExport. properties: from: - description: ResourceFieldSelector provides the values necessary to - identify an individual field on an individual K8s resource. + description: |- + ResourceFieldSelector provides the values necessary to identify an individual + field on an individual K8s resource. properties: path: type: string resource: - description: NamespacedResource provides all the values necessary - to identify an ACK resource of a given type (within the same - namespace as the custom resource containing this type). + description: |- + NamespacedResource provides all the values necessary to identify an ACK + resource of a given type (within the same namespace as the custom resource + containing this type). properties: group: type: string @@ -62,16 +68,18 @@ spec: - resource type: object to: - description: FieldExportTarget provides the values necessary to identify - the output path for a field export. + description: |- + FieldExportTarget provides the values necessary to identify the + output path for a field export. properties: key: description: Key overrides the default value (`.`) for the FieldExport target type: string kind: - description: FieldExportOutputType represents all types that can - be produced by a field export operation + description: |- + FieldExportOutputType represents all types that can be produced by a field + export operation enum: - configmap - secret @@ -94,12 +102,14 @@ spec: description: FieldExportStatus defines the observed status of the FieldExport. properties: conditions: - description: A collection of `ackv1alpha1.Condition` objects that - describe the various recoverable states of the field CR + description: |- + A collection of `ackv1alpha1.Condition` objects that describe the various + recoverable states of the field CR items: - description: Condition is the common struct used by all CRDs managed - by ACK service controllers to indicate terminal states of the - CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status diff --git a/config/rbac/cluster-role-controller.yaml b/config/rbac/cluster-role-controller.yaml index 9e84a1d..7081d6e 100644 --- a/config/rbac/cluster-role-controller.yaml +++ b/config/rbac/cluster-role-controller.yaml @@ -2,7 +2,6 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - creationTimestamp: null name: ack-s3-controller rules: - apiGroups: diff --git a/go.mod b/go.mod index 75f75b2..eb81c9d 100644 --- a/go.mod +++ b/go.mod @@ -5,16 +5,16 @@ go 1.21 toolchain go1.21.5 require ( - github.com/aws-controllers-k8s/runtime v0.29.2 + github.com/aws-controllers-k8s/runtime v0.30.0 github.com/aws/aws-sdk-go v1.49.0 - github.com/go-logr/logr v1.2.4 + github.com/go-logr/logr v1.4.1 github.com/pkg/errors v0.9.1 github.com/spf13/pflag v1.0.5 - github.com/stretchr/testify v1.8.2 - k8s.io/api v0.28.3 - k8s.io/apimachinery v0.28.3 - k8s.io/client-go v0.28.3 - sigs.k8s.io/controller-runtime v0.16.3 + github.com/stretchr/testify v1.8.4 + k8s.io/api v0.29.0 + k8s.io/apimachinery v0.29.0 + k8s.io/client-go v0.29.0 + sigs.k8s.io/controller-runtime v0.17.0 ) require ( @@ -23,9 +23,9 @@ require ( github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect - github.com/evanphx/json-patch/v5 v5.6.0 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/go-logr/zapr v1.2.4 // indirect + github.com/evanphx/json-patch/v5 v5.8.0 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/go-logr/zapr v1.3.0 // indirect github.com/go-openapi/jsonpointer v0.19.6 // indirect github.com/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/swag v0.22.3 // indirect @@ -33,7 +33,7 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.5.9 // indirect + github.com/google/go-cmp v0.6.0 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/uuid v1.3.0 // indirect github.com/imdario/mergo v0.3.12 // indirect @@ -44,37 +44,37 @@ require ( github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/mailru/easyjson v0.7.7 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect + github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.16.0 // indirect - github.com/prometheus/client_model v0.4.0 // indirect - github.com/prometheus/common v0.44.0 // indirect - github.com/prometheus/procfs v0.10.1 // indirect + github.com/prometheus/client_golang v1.18.0 // indirect + github.com/prometheus/client_model v0.5.0 // indirect + github.com/prometheus/common v0.45.0 // indirect + github.com/prometheus/procfs v0.12.0 // indirect github.com/samber/lo v1.37.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.26.0 // indirect golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect - golang.org/x/net v0.17.0 // indirect - golang.org/x/oauth2 v0.8.0 // indirect - golang.org/x/sys v0.13.0 // indirect - golang.org/x/term v0.13.0 // indirect - golang.org/x/text v0.13.0 // indirect + golang.org/x/net v0.19.0 // indirect + golang.org/x/oauth2 v0.12.0 // indirect + golang.org/x/sys v0.16.0 // indirect + golang.org/x/term v0.15.0 // indirect + golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.3.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.30.0 // indirect + google.golang.org/protobuf v1.31.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiextensions-apiserver v0.28.3 // indirect - k8s.io/component-base v0.28.3 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect + k8s.io/apiextensions-apiserver v0.29.0 // indirect + k8s.io/component-base v0.29.0 // indirect + k8s.io/klog/v2 v2.110.1 // indirect + k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect + k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect + sigs.k8s.io/yaml v1.4.0 // indirect ) diff --git a/go.sum b/go.sum index 93b2cd3..2528b62 100644 --- a/go.sum +++ b/go.sum @@ -1,8 +1,7 @@ -github.com/aws-controllers-k8s/runtime v0.29.2 h1:t6wwoKqFmtbblMcwFivpWp1FZa0gkczoUsk+maIsiRA= -github.com/aws-controllers-k8s/runtime v0.29.2/go.mod h1:mZa9l+/l+tlbxWVmMWWbUC3oAHUbeTzlI7xTOMdYHpA= +github.com/aws-controllers-k8s/runtime v0.30.0 h1:AibYRdi/7xUA3t8BA0u8g+J+OioaTAT6R4Vq8hxLiYw= +github.com/aws-controllers-k8s/runtime v0.30.0/go.mod h1:Pv1ozlUaO11KO2mwPN/HzhAtZ70ZDE9UP24mjsbkul0= github.com/aws/aws-sdk-go v1.49.0 h1:g9BkW1fo9GqKfwg2+zCD+TW/D36Ux+vtfJ8guF4AYmY= github.com/aws/aws-sdk-go v1.49.0/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= @@ -17,15 +16,15 @@ github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxER github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= -github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/zapr v1.2.4 h1:QHVo+6stLbfJmYGkQ7uGHUCu5hnAFAj6mDe6Ea0SeOo= -github.com/go-logr/zapr v1.2.4/go.mod h1:FyHWQIzQORZ0QVE1BtVHv3cKtNLuXsbNLtpuhNapBOA= +github.com/evanphx/json-patch/v5 v5.8.0 h1:lRj6N9Nci7MvzrXuX6HFzU8XjmhPiXPlsKEy1u0KQro= +github.com/evanphx/json-patch/v5 v5.8.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= +github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= @@ -38,7 +37,6 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= @@ -47,8 +45,9 @@ github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvR github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -64,7 +63,6 @@ github.com/itchyny/timefmt-go v0.1.3 h1:7M3LGVDsqcd0VZH2U+x393obrzZisp7C0uEe921i github.com/itchyny/timefmt-go v0.1.3/go.mod h1:0osSSCQSASBJMsIZnhAaF1C2fCBTJZXrnj37mG8/c+A= github.com/jaypipes/envutil v1.0.0 h1:u6Vwy9HwruFihoZrL0bxDLCa/YNadGVwKyPElNmZWow= github.com/jaypipes/envutil v1.0.0/go.mod h1:vgIRDly+xgBq0eeZRcflOHMMobMwgC6MkMbxo/Nw65M= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= @@ -75,7 +73,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -87,8 +84,8 @@ github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0 github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= -github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -96,23 +93,22 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.11.0 h1:WgqUCUt/lT6yXoQ8Wef0fsNn5cAuMK7+KT9UFRz2tcU= -github.com/onsi/ginkgo/v2 v2.11.0/go.mod h1:ZhrRA5XmEE3x3rhlzamx/JJvujdZoJ2uvgI7kR0iZvM= -github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= -github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/onsi/ginkgo/v2 v2.14.0 h1:vSmGj2Z5YPb9JwCWT6z6ihcUvDhuXLc3sJiqd3jMKAY= +github.com/onsi/ginkgo/v2 v2.14.0/go.mod h1:JkUdW7JkN0V6rFvsHcJ478egV3XH9NxpD27Hal/PhZw= +github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8= +github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= -github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= -github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= -github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= -github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= -github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= -github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= -github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= +github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= +github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= +github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= +github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM= +github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= +github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= +github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/samber/lo v1.37.0 h1:XjVcB8g6tgUp8rsPsJ2CvhClfImrpL04YpQHXeHPhRw= @@ -124,23 +120,17 @@ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSS github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= -go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -148,55 +138,42 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA= golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= -golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4= +golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= +golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.9.3 h1:Gn1I8+64MsuTb/HpH+LmQtNas23LhUVr3rYZ0eKuaMM= -golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= +golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA= +golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -207,10 +184,9 @@ google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6 google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= @@ -223,27 +199,27 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.3 h1:Gj1HtbSdB4P08C8rs9AR94MfSGpRhJgsS+GF9V26xMM= -k8s.io/api v0.28.3/go.mod h1:MRCV/jr1dW87/qJnZ57U5Pak65LGmQVkKTzf3AtKFHc= -k8s.io/apiextensions-apiserver v0.28.3 h1:Od7DEnhXHnHPZG+W9I97/fSQkVpVPQx2diy+2EtmY08= -k8s.io/apiextensions-apiserver v0.28.3/go.mod h1:NE1XJZ4On0hS11aWWJUTNkmVB03j9LM7gJSisbRt8Lc= -k8s.io/apimachinery v0.28.3 h1:B1wYx8txOaCQG0HmYF6nbpU8dg6HvA06x5tEffvOe7A= -k8s.io/apimachinery v0.28.3/go.mod h1:uQTKmIqs+rAYaq+DFaoD2X7pcjLOqbQX2AOiO0nIpb8= -k8s.io/client-go v0.28.3 h1:2OqNb72ZuTZPKCl+4gTKvqao0AMOl9f3o2ijbAj3LI4= -k8s.io/client-go v0.28.3/go.mod h1:LTykbBp9gsA7SwqirlCXBWtK0guzfhpoW4qSm7i9dxo= -k8s.io/component-base v0.28.3 h1:rDy68eHKxq/80RiMb2Ld/tbH8uAE75JdCqJyi6lXMzI= -k8s.io/component-base v0.28.3/go.mod h1:fDJ6vpVNSk6cRo5wmDa6eKIG7UlIQkaFmZN2fYgIUD8= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/controller-runtime v0.16.3 h1:2TuvuokmfXvDUamSx1SuAOO3eTyye+47mJCigwG62c4= -sigs.k8s.io/controller-runtime v0.16.3/go.mod h1:j7bialYoSn142nv9sCOJmQgDXQXxnroFU4VnX/brVJ0= +k8s.io/api v0.29.0 h1:NiCdQMY1QOp1H8lfRyeEf8eOwV6+0xA6XEE44ohDX2A= +k8s.io/api v0.29.0/go.mod h1:sdVmXoz2Bo/cb77Pxi71IPTSErEW32xa4aXwKH7gfBA= +k8s.io/apiextensions-apiserver v0.29.0 h1:0VuspFG7Hj+SxyF/Z/2T0uFbI5gb5LRgEyUVE3Q4lV0= +k8s.io/apiextensions-apiserver v0.29.0/go.mod h1:TKmpy3bTS0mr9pylH0nOt/QzQRrW7/h7yLdRForMZwc= +k8s.io/apimachinery v0.29.0 h1:+ACVktwyicPz0oc6MTMLwa2Pw3ouLAfAon1wPLtG48o= +k8s.io/apimachinery v0.29.0/go.mod h1:eVBxQ/cwiJxH58eK/jd/vAk4mrxmVlnpBH5J2GbMeis= +k8s.io/client-go v0.29.0 h1:KmlDtFcrdUzOYrBhXHgKw5ycWzc3ryPX5mQe0SkG3y8= +k8s.io/client-go v0.29.0/go.mod h1:yLkXH4HKMAywcrD82KMSmfYg2DlE8mepPR4JGSo5n38= +k8s.io/component-base v0.29.0 h1:T7rjd5wvLnPBV1vC4zWd/iWRbV8Mdxs+nGaoaFzGw3s= +k8s.io/component-base v0.29.0/go.mod h1:sADonFTQ9Zc9yFLghpDpmNXEdHyQmFIGbiuZbqAXQ1M= +k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0= +k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo= +k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780= +k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= +k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= +k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +sigs.k8s.io/controller-runtime v0.17.0 h1:fjJQf8Ukya+VjogLO6/bNX9HE6Y2xpsO5+fyS26ur/s= +sigs.k8s.io/controller-runtime v0.17.0/go.mod h1:+MngTvIQQQhfXtwfdGw/UOQ/aIaqsYywfCINOtwMO/s= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= +sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= +sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= diff --git a/helm/Chart.yaml b/helm/Chart.yaml index 1e4f20e..9e3d07e 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 name: s3-chart description: A Helm chart for the ACK service controller for Amazon Simple Storage Service (S3) -version: 1.0.8 -appVersion: 1.0.8 +version: 1.0.9 +appVersion: 1.0.9 home: https://github.com/aws-controllers-k8s/s3-controller icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png sources: diff --git a/helm/crds/s3.services.k8s.aws_buckets.yaml b/helm/crds/s3.services.k8s.aws_buckets.yaml index 78b2488..1a38bd6 100644 --- a/helm/crds/s3.services.k8s.aws_buckets.yaml +++ b/helm/crds/s3.services.k8s.aws_buckets.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: buckets.s3.services.k8s.aws spec: group: s3.services.k8s.aws @@ -21,22 +20,30 @@ spec: description: Bucket is the Schema for the Buckets API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: "BucketSpec defines the desired state of Bucket. \n In terms - of implementation, a Bucket is a resource. An Amazon S3 bucket name + description: |- + BucketSpec defines the desired state of Bucket. + + + In terms of implementation, a Bucket is a resource. An Amazon S3 bucket name is globally unique, and the namespace is shared by all Amazon Web Services - accounts." + accounts. properties: accelerate: description: Container for setting the transfer acceleration state. @@ -49,21 +56,21 @@ spec: type: string analytics: items: - description: Specifies the configuration and any analyses for the - analytics filter of an Amazon S3 bucket. + description: |- + Specifies the configuration and any analyses for the analytics filter of + an Amazon S3 bucket. properties: filter: - description: The filter used to describe a set of objects for - analyses. A filter must have exactly one prefix, one tag, - or one conjunction (AnalyticsAndOperator). If no filter is - provided, all objects will be considered in any analysis. + description: |- + The filter used to describe a set of objects for analyses. A filter must + have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). + If no filter is provided, all objects will be considered in any analysis. properties: and: - description: A conjunction (logical AND) of predicates, - which is used in evaluating a metrics filter. The operator - must have at least two predicates in any combination, - and an object must match all of the predicates for the - filter to apply. + description: |- + A conjunction (logical AND) of predicates, which is used in evaluating a + metrics filter. The operator must have at least two predicates in any combination, + and an object must match all of the predicates for the filter to apply. properties: prefix: type: string @@ -92,13 +99,15 @@ spec: id: type: string storageClassAnalysis: - description: Specifies data related to access patterns to be - collected and made available to analyze the tradeoffs between - different storage classes for an Amazon S3 bucket. + description: |- + Specifies data related to access patterns to be collected and made available + to analyze the tradeoffs between different storage classes for an Amazon + S3 bucket. properties: dataExport: - description: Container for data related to the storage class - analysis for an Amazon S3 bucket for export. + description: |- + Container for data related to the storage class analysis for an Amazon S3 + bucket for export. properties: destination: description: Where to publish the analytics results. @@ -124,10 +133,11 @@ spec: type: object type: array cors: - description: Describes the cross-origin access configuration for objects - in an Amazon S3 bucket. For more information, see Enabling Cross-Origin - Resource Sharing (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) - in the Amazon S3 User Guide. + description: |- + Describes the cross-origin access configuration for objects in an Amazon + S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing + (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon + S3 User Guide. properties: corsRules: items: @@ -172,16 +182,15 @@ spec: description: Specifies the default server-side encryption configuration. properties: applyServerSideEncryptionByDefault: - description: Describes the default server-side encryption - to apply to new objects in the bucket. If a PUT Object - request doesn't specify any server-side encryption, this - default encryption will be applied. If you don't specify - a customer managed key at configuration, Amazon S3 automatically - creates an Amazon Web Services KMS key in your Amazon - Web Services account the first time that you add an object - encrypted with SSE-KMS to a bucket. By default, Amazon - S3 uses this KMS key for SSE-KMS. For more information, - see PUT Bucket encryption (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) + description: |- + Describes the default server-side encryption to apply to new objects in the + bucket. If a PUT Object request doesn't specify any server-side encryption, + this default encryption will be applied. If you don't specify a customer + managed key at configuration, Amazon S3 automatically creates an Amazon Web + Services KMS key in your Amazon Web Services account the first time that + you add an object encrypted with SSE-KMS to a bucket. By default, Amazon + S3 uses this KMS key for SSE-KMS. For more information, see PUT Bucket encryption + (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) in the Amazon S3 API Reference. properties: kmsMasterKeyID: @@ -195,8 +204,9 @@ spec: type: array type: object grantFullControl: - description: Allows grantee the read, write, read ACP, and write ACP - permissions on the bucket. + description: |- + Allows grantee the read, write, read ACP, and write ACP permissions on the + bucket. type: string grantRead: description: Allows grantee to list the objects in the bucket. @@ -205,28 +215,35 @@ spec: description: Allows grantee to read the bucket ACL. type: string grantWrite: - description: "Allows grantee to create new objects in the bucket. - \n For the bucket and object owners of existing objects, also allows - deletions and overwrites of those objects." + description: |- + Allows grantee to create new objects in the bucket. + + + For the bucket and object owners of existing objects, also allows deletions + and overwrites of those objects. type: string grantWriteACP: description: Allows grantee to write the ACL for the applicable bucket. type: string intelligentTiering: items: - description: "Specifies the S3 Intelligent-Tiering configuration - for an Amazon S3 bucket. \n For information about the S3 Intelligent-Tiering - storage class, see Storage class for automatically optimizing - frequently and infrequently accessed objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access)." + description: |- + Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket. + + + For information about the S3 Intelligent-Tiering storage class, see Storage + class for automatically optimizing frequently and infrequently accessed objects + (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access). properties: filter: - description: The Filter is used to identify objects that the - S3 Intelligent-Tiering configuration applies to. + description: |- + The Filter is used to identify objects that the S3 Intelligent-Tiering configuration + applies to. properties: and: - description: A container for specifying S3 Intelligent-Tiering - filters. The filters determine the subset of objects to - which the rule applies. + description: |- + A container for specifying S3 Intelligent-Tiering filters. The filters determine + the subset of objects to which the rule applies. properties: prefix: type: string @@ -258,10 +275,10 @@ spec: type: string tierings: items: - description: The S3 Intelligent-Tiering storage class is designed - to optimize storage costs by automatically moving data to - the most cost-effective storage access tier, without additional - operational overhead. + description: |- + The S3 Intelligent-Tiering storage class is designed to optimize storage + costs by automatically moving data to the most cost-effective storage access + tier, without additional operational overhead. properties: accessTier: type: string @@ -274,8 +291,9 @@ spec: type: array inventory: items: - description: Specifies the inventory configuration for an Amazon - S3 bucket. For more information, see GET Bucket inventory (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) + description: |- + Specifies the inventory configuration for an Amazon S3 bucket. For more information, + see GET Bucket inventory (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the Amazon S3 API Reference. properties: destination: @@ -283,17 +301,18 @@ spec: S3 bucket. properties: s3BucketDestination: - description: Contains the bucket name, file format, bucket - owner (optional), and prefix (optional) where inventory - results are published. + description: |- + Contains the bucket name, file format, bucket owner (optional), and prefix + (optional) where inventory results are published. properties: accountID: type: string bucket: type: string encryption: - description: Contains the type of server-side encryption - used to encrypt the inventory results. + description: |- + Contains the type of server-side encryption used to encrypt the inventory + results. properties: sseKMS: description: Specifies the use of SSE-KMS to encrypt @@ -310,8 +329,9 @@ spec: type: object type: object filter: - description: Specifies an inventory filter. The inventory only - includes objects that meet the filter's criteria. + description: |- + Specifies an inventory filter. The inventory only includes objects that meet + the filter's criteria. properties: prefix: type: string @@ -345,11 +365,11 @@ spec: S3 bucket. properties: abortIncompleteMultipartUpload: - description: Specifies the days since the initiation of - an incomplete multipart upload that Amazon S3 will wait - before permanently removing all parts of the upload. For - more information, see Aborting Incomplete Multipart Uploads - Using a Bucket Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) + description: |- + Specifies the days since the initiation of an incomplete multipart upload + that Amazon S3 will wait before permanently removing all parts of the upload. + For more information, see Aborting Incomplete Multipart Uploads Using a Bucket + Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the Amazon S3 User Guide. properties: daysAfterInitiation: @@ -370,15 +390,15 @@ spec: type: boolean type: object filter: - description: The Filter is used to identify objects that - a Lifecycle Rule applies to. A Filter must have exactly - one of Prefix, Tag, or And specified. + description: |- + The Filter is used to identify objects that a Lifecycle Rule applies to. + A Filter must have exactly one of Prefix, Tag, or And specified. properties: and: - description: This is used in a Lifecycle Rule Filter - to apply a logical AND to two or more predicates. - The Lifecycle Rule will apply to any object matching - all of the predicates configured inside the And operator. + description: |- + This is used in a Lifecycle Rule Filter to apply a logical AND to two or + more predicates. The Lifecycle Rule will apply to any object matching all + of the predicates configured inside the And operator. properties: objectSizeGreaterThan: format: int64 @@ -419,12 +439,12 @@ spec: id: type: string noncurrentVersionExpiration: - description: Specifies when noncurrent object versions expire. - Upon expiration, Amazon S3 permanently deletes the noncurrent - object versions. You set this lifecycle configuration - action on a bucket that has versioning enabled (or suspended) - to request that Amazon S3 delete noncurrent object versions - at a specific period in the object's lifetime. + description: |- + Specifies when noncurrent object versions expire. Upon expiration, Amazon + S3 permanently deletes the noncurrent object versions. You set this lifecycle + configuration action on a bucket that has versioning enabled (or suspended) + to request that Amazon S3 delete noncurrent object versions at a specific + period in the object's lifetime. properties: newerNoncurrentVersions: format: int64 @@ -435,14 +455,13 @@ spec: type: object noncurrentVersionTransitions: items: - description: Container for the transition rule that describes - when noncurrent objects transition to the STANDARD_IA, - ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, GLACIER, - or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled - (or versioning is suspended), you can set this action - to request that Amazon S3 transition noncurrent object - versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, - GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class at + description: |- + Container for the transition rule that describes when noncurrent objects + transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, + GLACIER, or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled + (or versioning is suspended), you can set this action to request that Amazon + S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA, + INTELLIGENT_TIERING, GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's lifetime. properties: newerNoncurrentVersions: @@ -461,9 +480,9 @@ spec: type: string transitions: items: - description: Specifies when an object transitions to a - specified storage class. For more information about - Amazon S3 lifecycle configuration rules, see Transitioning + description: |- + Specifies when an object transitions to a specified storage class. For more + information about Amazon S3 lifecycle configuration rules, see Transitioning Objects Using Amazon S3 Lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) in the Amazon S3 User Guide. properties: @@ -484,20 +503,24 @@ spec: description: Container for logging status information. properties: loggingEnabled: - description: Describes where logs are stored and the prefix that - Amazon S3 assigns to all log object keys for a bucket. For more - information, see PUT Bucket logging (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) + description: |- + Describes where logs are stored and the prefix that Amazon S3 assigns to + all log object keys for a bucket. For more information, see PUT Bucket logging + (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) in the Amazon S3 API Reference. properties: targetBucket: type: string targetGrants: items: - description: "Container for granting information. \n Buckets - that use the bucket owner enforced setting for Object - Ownership don't support target grants. For more information, - see Permissions server access log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) - in the Amazon S3 User Guide." + description: |- + Container for granting information. + + + Buckets that use the bucket owner enforced setting for Object Ownership don't + support target grants. For more information, see Permissions server access + log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) + in the Amazon S3 User Guide. properties: grantee: description: Container for the person being granted @@ -524,28 +547,28 @@ spec: type: object metrics: items: - description: 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). + description: |- + 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). properties: filter: - description: Specifies a metrics configuration filter. The metrics - configuration only includes objects that meet the filter's - criteria. A filter must be a prefix, an object tag, an access - point ARN, or a conjunction (MetricsAndOperator). For more - information, see PutBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html). + description: |- + Specifies a metrics configuration filter. The metrics configuration only + includes objects that meet the filter's criteria. A filter must be a prefix, + an object tag, an access point ARN, or a conjunction (MetricsAndOperator). + For more information, see PutBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html). properties: accessPointARN: type: string and: - description: A conjunction (logical AND) of predicates, - which is used in evaluating a metrics filter. The operator - must have at least two predicates, and an object must - match all of the predicates in order for the filter to - apply. + description: |- + A conjunction (logical AND) of predicates, which is used in evaluating a + metrics filter. The operator must have at least two predicates, and an object + must match all of the predicates in order for the filter to apply. properties: accessPointARN: type: string @@ -581,9 +604,9 @@ spec: description: The name of the bucket to create. type: string notification: - description: A container for specifying the notification configuration - of the bucket. If this element is empty, notifications are turned - off for the bucket. + description: |- + A container for specifying the notification configuration of the bucket. + If this element is empty, notifications are turned off for the bucket. properties: lambdaFunctionConfigurations: items: @@ -595,9 +618,9 @@ spec: type: string type: array filter: - description: Specifies object key name filtering rules. - For information about key name filtering, see Configuring - Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + description: |- + Specifies object key name filtering rules. For information about key name + filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the Amazon S3 User Guide. properties: key: @@ -605,13 +628,13 @@ spec: and suffix filtering rules. properties: filterRules: - description: A list of containers for the key-value - pair that defines the criteria for the filter - rule. + description: |- + A list of containers for the key-value pair that defines the criteria for + the filter rule. items: - description: Specifies the Amazon S3 object key - name to filter on and whether to filter on the - suffix or prefix of the key name. + description: |- + Specifies the Amazon S3 object key name to filter on and whether to filter + on the suffix or prefix of the key name. properties: name: type: string @@ -622,9 +645,9 @@ spec: type: object type: object id: - description: An optional unique identifier for configurations - in a notification configuration. If you don't provide - one, Amazon S3 will assign an ID. + description: |- + An optional unique identifier for configurations in a notification configuration. + If you don't provide one, Amazon S3 will assign an ID. type: string lambdaFunctionARN: type: string @@ -632,18 +655,18 @@ spec: type: array queueConfigurations: items: - description: Specifies the configuration for publishing messages - to an Amazon Simple Queue Service (Amazon SQS) queue when - Amazon S3 detects specified events. + description: |- + Specifies the configuration for publishing messages to an Amazon Simple Queue + Service (Amazon SQS) queue when Amazon S3 detects specified events. properties: events: items: type: string type: array filter: - description: Specifies object key name filtering rules. - For information about key name filtering, see Configuring - Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + description: |- + Specifies object key name filtering rules. For information about key name + filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the Amazon S3 User Guide. properties: key: @@ -651,13 +674,13 @@ spec: and suffix filtering rules. properties: filterRules: - description: A list of containers for the key-value - pair that defines the criteria for the filter - rule. + description: |- + A list of containers for the key-value pair that defines the criteria for + the filter rule. items: - description: Specifies the Amazon S3 object key - name to filter on and whether to filter on the - suffix or prefix of the key name. + description: |- + Specifies the Amazon S3 object key name to filter on and whether to filter + on the suffix or prefix of the key name. properties: name: type: string @@ -668,9 +691,9 @@ spec: type: object type: object id: - description: An optional unique identifier for configurations - in a notification configuration. If you don't provide - one, Amazon S3 will assign an ID. + description: |- + An optional unique identifier for configurations in a notification configuration. + If you don't provide one, Amazon S3 will assign an ID. type: string queueARN: type: string @@ -678,18 +701,19 @@ spec: type: array topicConfigurations: items: - description: A container for specifying the configuration for - publication of messages to an Amazon Simple Notification Service - (Amazon SNS) topic when Amazon S3 detects specified events. + description: |- + A container for specifying the configuration for publication of messages + to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 + detects specified events. properties: events: items: type: string type: array filter: - description: Specifies object key name filtering rules. - For information about key name filtering, see Configuring - Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + description: |- + Specifies object key name filtering rules. For information about key name + filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the Amazon S3 User Guide. properties: key: @@ -697,13 +721,13 @@ spec: and suffix filtering rules. properties: filterRules: - description: A list of containers for the key-value - pair that defines the criteria for the filter - rule. + description: |- + A list of containers for the key-value pair that defines the criteria for + the filter rule. items: - description: Specifies the Amazon S3 object key - name to filter on and whether to filter on the - suffix or prefix of the key name. + description: |- + Specifies the Amazon S3 object key name to filter on and whether to filter + on the suffix or prefix of the key name. properties: name: type: string @@ -714,9 +738,9 @@ spec: type: object type: object id: - description: An optional unique identifier for configurations - in a notification configuration. If you don't provide - one, Amazon S3 will assign an ID. + description: |- + An optional unique identifier for configurations in a notification configuration. + If you don't provide one, Amazon S3 will assign an ID. type: string topicARN: type: string @@ -730,8 +754,9 @@ spec: objectOwnership: type: string ownershipControls: - description: The OwnershipControls (BucketOwnerEnforced, BucketOwnerPreferred, - or ObjectWriter) that you want to apply to this Amazon S3 bucket. + description: |- + The OwnershipControls (BucketOwnerEnforced, BucketOwnerPreferred, or ObjectWriter) + that you want to apply to this Amazon S3 bucket. properties: rules: items: @@ -739,20 +764,24 @@ spec: rule. properties: objectOwnership: - description: "The container element for object ownership - for a bucket's ownership controls. \n BucketOwnerPreferred - - Objects uploaded to the bucket change ownership to the - bucket owner if the objects are uploaded with the bucket-owner-full-control - canned ACL. \n ObjectWriter - The uploading account will - own the object if the object is uploaded with the bucket-owner-full-control - canned ACL. \n BucketOwnerEnforced - Access control lists - (ACLs) are disabled and no longer affect permissions. - The bucket owner automatically owns and has full control - over every object in the bucket. The bucket only accepts - PUT requests that don't specify an ACL or bucket owner - full control ACLs, such as the bucket-owner-full-control - canned ACL or an equivalent form of this ACL expressed - in the XML format." + description: |- + The container element for object ownership for a bucket's ownership controls. + + + BucketOwnerPreferred - Objects uploaded to the bucket change ownership to + the bucket owner if the objects are uploaded with the bucket-owner-full-control + canned ACL. + + + ObjectWriter - The uploading account will own the object if the object is + uploaded with the bucket-owner-full-control canned ACL. + + + BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer + affect permissions. The bucket owner automatically owns and has full control + over every object in the bucket. The bucket only accepts PUT requests that + don't specify an ACL or bucket owner full control ACLs, such as the bucket-owner-full-control + canned ACL or an equivalent form of this ACL expressed in the XML format. type: string type: object type: array @@ -761,11 +790,11 @@ spec: description: The bucket policy as a JSON document. type: string publicAccessBlock: - description: The PublicAccessBlock configuration that you want to - apply to this Amazon S3 bucket. You can enable the configuration - options in any combination. For more information about when Amazon - S3 considers a bucket or object public, see The Meaning of "Public" - (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) + description: |- + The PublicAccessBlock configuration that you want to apply to this Amazon + S3 bucket. You can enable the configuration options in any combination. For + more information about when Amazon S3 considers a bucket or object public, + see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the Amazon S3 User Guide. properties: blockPublicACLs: @@ -778,9 +807,9 @@ spec: type: boolean type: object replication: - description: A container for replication rules. You can add up to - 1,000 rules. The maximum size of a replication configuration is - 2 MB. + description: |- + A container for replication rules. You can add up to 1,000 rules. The maximum + size of a replication configuration is 2 MB. properties: role: type: string @@ -790,28 +819,30 @@ spec: and where to store the replicas. properties: deleteMarkerReplication: - description: "Specifies whether Amazon S3 replicates delete - markers. If you specify a Filter in your replication configuration, - you must also include a DeleteMarkerReplication element. - If your Filter includes a Tag element, the DeleteMarkerReplication - Status must be set to Disabled, because Amazon S3 does - not support replicating delete markers for tag-based rules. - For an example configuration, see Basic Rule Configuration - (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). - \n For more information about delete marker replication, - see Basic Rule Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). - \n If you are using an earlier version of the replication - configuration, Amazon S3 handles replication of delete - markers differently. For more information, see Backward - Compatibility (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations)." + description: |- + Specifies whether Amazon S3 replicates delete markers. If you specify a Filter + in your replication configuration, you must also include a DeleteMarkerReplication + element. If your Filter includes a Tag element, the DeleteMarkerReplication + Status must be set to Disabled, because Amazon S3 does not support replicating + delete markers for tag-based rules. For an example configuration, see Basic + Rule Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). + + + For more information about delete marker replication, see Basic Rule Configuration + (https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). + + + If you are using an earlier version of the replication configuration, Amazon + S3 handles replication of delete markers differently. For more information, + see Backward Compatibility (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations). properties: status: type: string type: object destination: - description: Specifies information about where to publish - analysis or configuration results for an Amazon S3 bucket - and S3 Replication Time Control (S3 RTC). + description: |- + Specifies information about where to publish analysis or configuration results + for an Amazon S3 bucket and S3 Replication Time Control (S3 RTC). properties: accessControlTranslation: description: A container for information about access @@ -825,21 +856,22 @@ spec: bucket: type: string encryptionConfiguration: - description: Specifies encryption-related information - for an Amazon S3 bucket that is a destination for - replicated objects. + description: |- + Specifies encryption-related information for an Amazon S3 bucket that is + a destination for replicated objects. properties: replicaKMSKeyID: type: string type: object metrics: - description: A container specifying replication metrics-related - settings enabling replication metrics and events. + description: |- + A container specifying replication metrics-related settings enabling replication + metrics and events. properties: eventThreshold: - description: A container specifying the time value - for S3 Replication Time Control (S3 RTC) and replication - metrics EventThreshold. + description: |- + A container specifying the time value for S3 Replication Time Control (S3 + RTC) and replication metrics EventThreshold. properties: minutes: format: int64 @@ -849,18 +881,18 @@ spec: type: string type: object replicationTime: - description: A container specifying S3 Replication Time - Control (S3 RTC) related information, including whether - S3 RTC is enabled and the time when all objects and - operations on objects must be replicated. Must be - specified together with a Metrics block. + description: |- + A container specifying S3 Replication Time Control (S3 RTC) related information, + including whether S3 RTC is enabled and the time when all objects and operations + on objects must be replicated. Must be specified together with a Metrics + block. properties: status: type: string time: - description: A container specifying the time value - for S3 Replication Time Control (S3 RTC) and replication - metrics EventThreshold. + description: |- + A container specifying the time value for S3 Replication Time Control (S3 + RTC) and replication metrics EventThreshold. properties: minutes: format: int64 @@ -871,28 +903,35 @@ spec: type: string type: object existingObjectReplication: - description: Optional configuration to replicate existing - source bucket objects. For more information, see Replicating - Existing Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication) + description: |- + Optional configuration to replicate existing source bucket objects. For more + information, see Replicating Existing Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication) in the Amazon S3 User Guide. properties: status: type: string type: object filter: - description: A filter that identifies the subset of objects - to which the replication rule applies. A Filter must specify - exactly one Prefix, Tag, or an And child element. + description: |- + A filter that identifies the subset of objects to which the replication rule + applies. A Filter must specify exactly one Prefix, Tag, or an And child element. properties: and: - description: "A container for specifying rule filters. - The filters determine the subset of objects to which - the rule applies. This element is required only if - you specify more than one filter. \n For example: - \n * If you specify both a Prefix and a Tag filter, - wrap these filters in an And tag. \n * If you specify - a filter based on multiple tags, wrap the Tag elements - in an And tag." + description: |- + A container for specifying rule filters. The filters determine the subset + of objects to which the rule applies. This element is required only if you + specify more than one filter. + + + For example: + + + * If you specify both a Prefix and a Tag filter, wrap these filters in + an And tag. + + + * If you specify a filter based on multiple tags, wrap the Tag elements + in an And tag. properties: prefix: type: string @@ -926,33 +965,34 @@ spec: format: int64 type: integer sourceSelectionCriteria: - description: A container that describes additional filters - for identifying the source objects that you want to replicate. - You can choose to enable or disable the replication of - these objects. Currently, Amazon S3 supports only the - filter that you can specify for objects created with server-side - encryption using a customer managed key stored in Amazon - Web Services Key Management Service (SSE-KMS). + description: |- + A container that describes additional filters for identifying the source + objects that you want to replicate. You can choose to enable or disable the + replication of these objects. Currently, Amazon S3 supports only the filter + that you can specify for objects created with server-side encryption using + a customer managed key stored in Amazon Web Services Key Management Service + (SSE-KMS). properties: replicaModifications: - description: "A filter that you can specify for selection - for modifications on replicas. Amazon S3 doesn't replicate - replica modifications by default. In the latest version - of replication configuration (when Filter is specified), - you can specify this element and set the status to - Enabled to replicate modifications on replicas. \n - If you don't specify the Filter element, Amazon S3 - assumes that the replication configuration is the - earlier version, V1. In the earlier version, this - element is not allowed." + description: |- + A filter that you can specify for selection for modifications on replicas. + Amazon S3 doesn't replicate replica modifications by default. In the latest + version of replication configuration (when Filter is specified), you can + specify this element and set the status to Enabled to replicate modifications + on replicas. + + + If you don't specify the Filter element, Amazon S3 assumes that the replication + configuration is the earlier version, V1. In the earlier version, this element + is not allowed. properties: status: type: string type: object sseKMSEncryptedObjects: - description: A container for filter information for - the selection of S3 objects encrypted with Amazon - Web Services KMS. + description: |- + A container for filter information for the selection of S3 objects encrypted + with Amazon Web Services KMS. properties: status: type: string @@ -1005,8 +1045,9 @@ spec: type: string type: object redirectAllRequestsTo: - description: Specifies the redirect behavior of all requests to - a website endpoint of an Amazon S3 bucket. + description: |- + Specifies the redirect behavior of all requests to a website endpoint of + an Amazon S3 bucket. properties: hostName: type: string @@ -1015,18 +1056,18 @@ spec: type: object routingRules: items: - description: Specifies the redirect behavior and when a redirect - is applied. For more information about routing rules, see - Configuring advanced conditional redirects (https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) + description: |- + Specifies the redirect behavior and when a redirect is applied. For more + information about routing rules, see Configuring advanced conditional redirects + (https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) in the Amazon S3 User Guide. properties: condition: - description: A container for describing a condition that - must be met for the specified redirect to apply. For example, - 1. If request is for pages in the /docs folder, redirect - to the /documents folder. 2. If request results in HTTP - error 4xx, redirect request to another host where you - might process the error. + description: |- + A container for describing a condition that must be met for the specified + redirect to apply. For example, 1. If request is for pages in the /docs folder, + redirect to the /documents folder. 2. If request results in HTTP error 4xx, + redirect request to another host where you might process the error. properties: httpErrorCodeReturnedEquals: type: string @@ -1034,9 +1075,9 @@ spec: type: string type: object redirect: - description: Specifies how requests are redirected. In the - event of an error, you can specify a different error code - to return. + description: |- + Specifies how requests are redirected. In the event of an error, you can + specify a different error code to return. properties: hostName: type: string @@ -1059,24 +1100,26 @@ spec: description: BucketStatus defines the observed state of Bucket properties: ackResourceMetadata: - description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` - member that is used to contain resource sync state, account ownership, + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, constructed ARN for the resource properties: arn: - description: 'ARN is the Amazon Resource Name for the resource. - This is a globally-unique identifier and is set only by the - ACK service controller once the controller has orchestrated - the creation of the resource OR when it has verified that an - "adopted" resource (a resource where the ARN annotation was - set by the Kubernetes user on the CR) exists and matches the - supplied CR''s Spec field values. TODO(vijat@): Find a better - strategy for resources that do not have ARN in CreateOutputResponse - https://github.com/aws/aws-controllers-k8s/issues/270' + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270 type: string ownerAccountID: - description: OwnerAccountID is the AWS Account ID of the account - that owns the backend AWS service API resource. + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. type: string region: description: Region is the AWS region in which the resource exists @@ -1087,14 +1130,16 @@ spec: - region type: object conditions: - description: All CRS managed by ACK have a common `Status.Conditions` - member that contains a collection of `ackv1alpha1.Condition` objects - that describe the various terminal states of the CR and its backend - AWS service API resource + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource items: - description: Condition is the common struct used by all CRDs managed - by ACK service controllers to indicate terminal states of the - CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status diff --git a/helm/crds/services.k8s.aws_adoptedresources.yaml b/helm/crds/services.k8s.aws_adoptedresources.yaml index 9a12ef7..65eff73 100644 --- a/helm/crds/services.k8s.aws_adoptedresources.yaml +++ b/helm/crds/services.k8s.aws_adoptedresources.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: adoptedresources.services.k8s.aws spec: group: services.k8s.aws @@ -21,14 +20,19 @@ spec: description: AdoptedResource is the schema for the AdoptedResource API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -42,129 +46,149 @@ spec: additionalKeys: additionalProperties: type: string - description: AdditionalKeys represents any additional arbitrary - identifiers used when describing the target resource. + description: |- + AdditionalKeys represents any additional arbitrary identifiers used when + describing the target resource. type: object arn: - description: ARN is the AWS Resource Name for the resource. It - is a globally unique identifier. + description: |- + ARN is the AWS Resource Name for the resource. It is a globally + unique identifier. type: string nameOrID: - description: NameOrId is a user-supplied string identifier for - the resource. It may or may not be globally unique, depending - on the type of resource. + description: |- + NameOrId is a user-supplied string identifier for the resource. It may + or may not be globally unique, depending on the type of resource. type: string type: object kubernetes: - description: ResourceWithMetadata provides the values necessary to - create a Kubernetes resource and override any of its metadata values. + description: |- + ResourceWithMetadata provides the values necessary to create a + Kubernetes resource and override any of its metadata values. properties: group: type: string kind: type: string metadata: - description: "ObjectMeta is metadata that all persisted resources - must have, which includes all objects users must create. It - is not possible to use `metav1.ObjectMeta` inside spec, as the - controller-gen automatically converts this to an arbitrary string-string - map. https://github.com/kubernetes-sigs/controller-tools/issues/385 - \n Active discussion about inclusion of this field in the spec - is happening in this PR: https://github.com/kubernetes-sigs/controller-tools/pull/395 - \n Until this is allowed, or if it never is, we will produce - a subset of the object meta that contains only the fields which - the user is allowed to modify in the metadata." + description: |- + ObjectMeta is metadata that all persisted resources must have, which includes all objects + users must create. + It is not possible to use `metav1.ObjectMeta` inside spec, as the controller-gen + automatically converts this to an arbitrary string-string map. + https://github.com/kubernetes-sigs/controller-tools/issues/385 + + + Active discussion about inclusion of this field in the spec is happening in this PR: + https://github.com/kubernetes-sigs/controller-tools/pull/395 + + + Until this is allowed, or if it never is, we will produce a subset of the object meta + that contains only the fields which the user is allowed to modify in the metadata. properties: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - http://kubernetes.io/docs/user-guide/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: http://kubernetes.io/docs/user-guide/annotations type: object generateName: - description: "GenerateName is an optional prefix, used by - the server, to generate a unique name ONLY IF the Name field - has not been provided. If this field is used, the name returned - to the client will be different than the name passed. This - value will also be combined with a unique suffix. The provided - value has the same validation rules as the Name field, and - may be truncated by the length of the suffix required to - make the value unique on the server. \n If this field is - specified and the generated name exists, the server will - NOT return a 409 - instead, it will either return 201 Created - or 500 with Reason ServerTimeout indicating a unique name - could not be found in the time allotted, and the client - should retry (optionally after the time indicated in the - Retry-After header). \n Applied only if Name is not specified. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency" + description: |- + GenerateName is an optional prefix, used by the server, to generate a unique + name ONLY IF the Name field has not been provided. + If this field is used, the name returned to the client will be different + than the name passed. This value will also be combined with a unique suffix. + The provided value has the same validation rules as the Name field, + and may be truncated by the length of the suffix required to make the value + unique on the server. + + + If this field is specified and the generated name exists, the server will + NOT return a 409 - instead, it will either return 201 Created or 500 with Reason + ServerTimeout indicating a unique name could not be found in the time allotted, and the client + should retry (optionally after the time indicated in the Retry-After header). + + + Applied only if Name is not specified. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency type: string labels: additionalProperties: type: string - description: 'Map of string keys and values that can be used - to organize and categorize (scope and select) objects. May - match selectors of replication controllers and services. - More info: http://kubernetes.io/docs/user-guide/labels' + description: |- + Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: http://kubernetes.io/docs/user-guide/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow - a client to request the generation of an appropriate name - automatically. Name is primarily intended for creation idempotence - and configuration definition. Cannot be updated. More info: - http://kubernetes.io/docs/user-guide/identifiers#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: http://kubernetes.io/docs/user-guide/identifiers#names type: string namespace: - description: "Namespace defines the space within each name - must be unique. An empty namespace is equivalent to the - \"default\" namespace, but \"default\" is the canonical - representation. Not all objects are required to be scoped - to a namespace - the value of this field for those objects - will be empty. \n Must be a DNS_LABEL. Cannot be updated. - More info: http://kubernetes.io/docs/user-guide/namespaces" + description: |- + Namespace defines the space within each name must be unique. An empty namespace is + equivalent to the "default" namespace, but "default" is the canonical representation. + Not all objects are required to be scoped to a namespace - the value of this field for + those objects will be empty. + + + Must be a DNS_LABEL. + Cannot be updated. + More info: http://kubernetes.io/docs/user-guide/namespaces type: string ownerReferences: - description: List of objects depended by this object. If ALL - objects in the list have been deleted, this object will - be garbage collected. If this object is managed by a controller, - then an entry in this list will point to this controller, - with the controller field set to true. There cannot be more - than one managing controller. + description: |- + List of objects depended by this object. If ALL objects in the list have + been deleted, this object will be garbage collected. If this object is managed by a controller, + then an entry in this list will point to this controller, with the controller field set to true. + There cannot be more than one managing controller. items: - description: OwnerReference contains enough information - to let you identify an owning object. An owning object - must be in the same namespace as the dependent, or be - cluster-scoped, so there is no namespace field. + description: |- + OwnerReference contains enough information to let you identify an owning + object. An owning object must be in the same namespace as the dependent, or + be cluster-scoped, so there is no namespace field. properties: apiVersion: description: API version of the referent. type: string blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" - finalizer, then the owner cannot be deleted from the - key-value store until this reference is removed. See - https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion - for how the garbage collector interacts with this - field and enforces the foreground deletion. Defaults - to false. To set this field, a user needs "delete" - permission of the owner, otherwise 422 (Unprocessable - Entity) will be returned. + description: |- + If true, AND if the owner has the "foregroundDeletion" finalizer, then + the owner cannot be deleted from the key-value store until this + reference is removed. + See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion + for how the garbage collector interacts with this field and enforces the foreground deletion. + Defaults to false. + To set this field, a user needs "delete" permission of the owner, + otherwise 422 (Unprocessable Entity) will be returned. type: boolean controller: description: If true, this reference points to the managing controller. type: boolean kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids type: string required: - apiVersion @@ -188,13 +212,14 @@ spec: AdoptedResource. properties: conditions: - description: A collection of `ackv1alpha1.Condition` objects that - describe the various terminal states of the adopted resource CR - and its target custom resource + description: |- + A collection of `ackv1alpha1.Condition` objects that describe the various + terminal states of the adopted resource CR and its target custom resource items: - description: Condition is the common struct used by all CRDs managed - by ACK service controllers to indicate terminal states of the - CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status diff --git a/helm/crds/services.k8s.aws_fieldexports.yaml b/helm/crds/services.k8s.aws_fieldexports.yaml index 4a7ab61..4d3a8f1 100644 --- a/helm/crds/services.k8s.aws_fieldexports.yaml +++ b/helm/crds/services.k8s.aws_fieldexports.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: fieldexports.services.k8s.aws spec: group: services.k8s.aws @@ -21,14 +20,19 @@ spec: description: FieldExport is the schema for the FieldExport API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -36,15 +40,17 @@ spec: description: FieldExportSpec defines the desired state of the FieldExport. properties: from: - description: ResourceFieldSelector provides the values necessary to - identify an individual field on an individual K8s resource. + description: |- + ResourceFieldSelector provides the values necessary to identify an individual + field on an individual K8s resource. properties: path: type: string resource: - description: NamespacedResource provides all the values necessary - to identify an ACK resource of a given type (within the same - namespace as the custom resource containing this type). + description: |- + NamespacedResource provides all the values necessary to identify an ACK + resource of a given type (within the same namespace as the custom resource + containing this type). properties: group: type: string @@ -62,16 +68,18 @@ spec: - resource type: object to: - description: FieldExportTarget provides the values necessary to identify - the output path for a field export. + description: |- + FieldExportTarget provides the values necessary to identify the + output path for a field export. properties: key: description: Key overrides the default value (`.`) for the FieldExport target type: string kind: - description: FieldExportOutputType represents all types that can - be produced by a field export operation + description: |- + FieldExportOutputType represents all types that can be produced by a field + export operation enum: - configmap - secret @@ -94,12 +102,14 @@ spec: description: FieldExportStatus defines the observed status of the FieldExport. properties: conditions: - description: A collection of `ackv1alpha1.Condition` objects that - describe the various recoverable states of the field CR + description: |- + A collection of `ackv1alpha1.Condition` objects that describe the various + recoverable states of the field CR items: - description: Condition is the common struct used by all CRDs managed - by ACK service controllers to indicate terminal states of the - CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status diff --git a/helm/templates/NOTES.txt b/helm/templates/NOTES.txt index 5f1d305..048b252 100644 --- a/helm/templates/NOTES.txt +++ b/helm/templates/NOTES.txt @@ -1,5 +1,5 @@ {{ .Chart.Name }} has been installed. -This chart deploys "public.ecr.aws/aws-controllers-k8s/s3-controller:1.0.8". +This chart deploys "public.ecr.aws/aws-controllers-k8s/s3-controller:1.0.9". Check its status by running: kubectl --namespace {{ .Release.Namespace }} get pods -l "app.kubernetes.io/instance={{ .Release.Name }}" diff --git a/helm/templates/_helpers.tpl b/helm/templates/_helpers.tpl index 8d81087..588cf02 100644 --- a/helm/templates/_helpers.tpl +++ b/helm/templates/_helpers.tpl @@ -1,5 +1,5 @@ {{/* The name of the application this chart installs */}} -{{- define "app.name" -}} +{{- define "ack-s3-controller.app.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} {{- end -}} @@ -8,7 +8,7 @@ Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). If release name contains chart name it will be used as a full name. */}} -{{- define "app.fullname" -}} +{{- define "ack-s3-controller.app.fullname" -}} {{- if .Values.fullnameOverride -}} {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} {{- else -}} @@ -22,33 +22,33 @@ If release name contains chart name it will be used as a full name. {{- end -}} {{/* The name and version as used by the chart label */}} -{{- define "chart.name-version" -}} +{{- define "ack-s3-controller.chart.name-version" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} {{- end -}} {{/* The name of the service account to use */}} -{{- define "service-account.name" -}} +{{- define "ack-s3-controller.service-account.name" -}} {{ default "default" .Values.serviceAccount.name }} {{- end -}} -{{- define "watch-namespace" -}} +{{- define "ack-s3-controller.watch-namespace" -}} {{- if eq .Values.installScope "namespace" -}} {{ .Values.watchNamespace | default .Release.Namespace }} {{- end -}} {{- end -}} {{/* The mount path for the shared credentials file */}} -{{- define "aws.credentials.secret_mount_path" -}} +{{- define "ack-s3-controller.aws.credentials.secret_mount_path" -}} {{- "/var/run/secrets/aws" -}} {{- end -}} {{/* The path the shared credentials file is mounted */}} -{{- define "aws.credentials.path" -}} +{{- define "ack-s3-controller.aws.credentials.path" -}} {{- printf "%s/%s" (include "aws.credentials.secret_mount_path" .) .Values.aws.credentials.secretKey -}} {{- end -}} {{/* The rules a of ClusterRole or Role */}} -{{- define "controller-role-rules" }} +{{- define "ack-s3-controller.rbac-rules" -}} rules: - apiGroups: - "" diff --git a/helm/templates/cluster-role-binding.yaml b/helm/templates/cluster-role-binding.yaml index a27eb46..7cdf198 100644 --- a/helm/templates/cluster-role-binding.yaml +++ b/helm/templates/cluster-role-binding.yaml @@ -2,20 +2,21 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: {{ include "app.fullname" . }} + name: {{ include "ack-s3-controller.app.fullname" . }} roleRef: kind: ClusterRole apiGroup: rbac.authorization.k8s.io name: ack-s3-controller subjects: - kind: ServiceAccount - name: {{ include "service-account.name" . }} + name: {{ include "ack-s3-controller.service-account.name" . }} namespace: {{ .Release.Namespace }} -{{ else if .Values.watchNamespace }} -{{ $namespaces := split "," .Values.watchNamespace }} -{{ $fullname := include "app.fullname" . }} +{{ else if eq .Values.installScope "namespace" }} +{{ $wn := include "ack-s3-controller.watch-namespace" . }} +{{ $namespaces := split "," $wn }} +{{ $fullname := include "ack-s3-controller.app.fullname" . }} {{ $releaseNamespace := .Release.Namespace }} -{{ $serviceAccountName := include "service-account.name" . }} +{{ $serviceAccountName := include "ack-s3-controller.service-account.name" . }} {{ range $namespaces }} --- apiVersion: rbac.authorization.k8s.io/v1 diff --git a/helm/templates/cluster-role-controller.yaml b/helm/templates/cluster-role-controller.yaml index ff70a77..232f71e 100644 --- a/helm/templates/cluster-role-controller.yaml +++ b/helm/templates/cluster-role-controller.yaml @@ -1,5 +1,5 @@ {{ $labels := .Values.role.labels }} -{{ $rules := include "controller-role-rules" . }} +{{ $rbacRules := include "ack-s3-controller.rbac-rules" . }} {{ if eq .Values.installScope "cluster" }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -9,9 +9,10 @@ metadata: {{- range $key, $value := $labels }} {{ $key }}: {{ $value | quote }} {{- end }} -{{- $rules }} -{{ else if .Values.watchNamespace }} -{{ $namespaces := split "," .Values.watchNamespace }} +{{$rbacRules }} +{{ else if eq .Values.installScope "namespace" }} +{{ $wn := include "ack-s3-controller.watch-namespace" . }} +{{ $namespaces := split "," $wn }} {{ range $namespaces }} --- apiVersion: rbac.authorization.k8s.io/v1 @@ -23,6 +24,6 @@ metadata: {{- range $key, $value := $labels }} {{ $key }}: {{ $value | quote }} {{- end }} -{{- $rules }} +{{ $rbacRules }} {{ end }} {{ end }} \ No newline at end of file diff --git a/helm/templates/deployment.yaml b/helm/templates/deployment.yaml index cea38ec..28a671f 100644 --- a/helm/templates/deployment.yaml +++ b/helm/templates/deployment.yaml @@ -1,20 +1,20 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ include "app.fullname" . }} + name: {{ include "ack-s3-controller.app.fullname" . }} namespace: {{ .Release.Namespace }} labels: - app.kubernetes.io/name: {{ include "app.name" . }} + app.kubernetes.io/name: {{ include "ack-s3-controller.app.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: Helm app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} - k8s-app: {{ include "app.name" . }} - helm.sh/chart: {{ include "chart.name-version" . }} + k8s-app: {{ include "ack-s3-controller.app.name" . }} + helm.sh/chart: {{ include "ack-s3-controller.chart.name-version" . }} spec: replicas: {{ .Values.deployment.replicas }} selector: matchLabels: - app.kubernetes.io/name: {{ include "app.name" . }} + app.kubernetes.io/name: {{ include "ack-s3-controller.app.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} template: metadata: @@ -25,15 +25,15 @@ spec: {{- end }} {{- end }} labels: - app.kubernetes.io/name: {{ include "app.name" . }} + app.kubernetes.io/name: {{ include "ack-s3-controller.app.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: Helm - k8s-app: {{ include "app.name" . }} + k8s-app: {{ include "ack-s3-controller.app.name" . }} {{- range $key, $value := .Values.deployment.labels }} {{ $key }}: {{ $value | quote }} {{- end }} spec: - serviceAccountName: {{ include "service-account.name" . }} + serviceAccountName: {{ include "ack-s3-controller.service-account.name" . }} {{- if .Values.image.pullSecrets }} imagePullSecrets: {{- range .Values.image.pullSecrets }} @@ -90,7 +90,7 @@ spec: - name: AWS_ENDPOINT_URL value: {{ .Values.aws.endpoint_url | quote }} - name: ACK_WATCH_NAMESPACE - value: {{ include "watch-namespace" . }} + value: {{ include "ack-s3-controller.watch-namespace" . }} - name: DELETION_POLICY value: {{ .Values.deletionPolicy }} - name: LEADER_ELECTION_NAMESPACE @@ -109,7 +109,7 @@ spec: {{- end }} {{- if .Values.aws.credentials.secretName }} - name: AWS_SHARED_CREDENTIALS_FILE - value: {{ include "aws.credentials.path" . }} + value: {{ include "ack-s3-controller.aws.credentials.path" . }} - name: AWS_PROFILE value: {{ .Values.aws.credentials.profile }} {{- end }} @@ -119,7 +119,7 @@ spec: volumeMounts: {{- if .Values.aws.credentials.secretName }} - name: {{ .Values.aws.credentials.secretName }} - mountPath: {{ include "aws.credentials.secret_mount_path" . }} + mountPath: {{ include "ack-s3-controller.aws.credentials.secret_mount_path" . }} readOnly: true {{- end }} {{- if .Values.deployment.extraVolumeMounts -}} diff --git a/helm/templates/leader-election-role-binding.yaml b/helm/templates/leader-election-role-binding.yaml index efef0f6..f3a73f5 100644 --- a/helm/templates/leader-election-role-binding.yaml +++ b/helm/templates/leader-election-role-binding.yaml @@ -14,5 +14,5 @@ roleRef: name: s3-leader-election-role subjects: - kind: ServiceAccount - name: {{ include "service-account.name" . }} + name: {{ include "ack-s3-controller.service-account.name" . }} namespace: {{ .Release.Namespace }}{{- end }} diff --git a/helm/templates/metrics-service.yaml b/helm/templates/metrics-service.yaml index 638858a..388e770 100644 --- a/helm/templates/metrics-service.yaml +++ b/helm/templates/metrics-service.yaml @@ -5,18 +5,18 @@ metadata: name: {{ .Chart.Name | trimSuffix "-chart" | trunc 44 }}-controller-metrics namespace: {{ .Release.Namespace }} labels: - app.kubernetes.io/name: {{ include "app.name" . }} + app.kubernetes.io/name: {{ include "ack-s3-controller.app.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: Helm app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} - k8s-app: {{ include "app.name" . }} - helm.sh/chart: {{ include "chart.name-version" . }} + k8s-app: {{ include "ack-s3-controller.app.name" . }} + helm.sh/chart: {{ include "ack-s3-controller.chart.name-version" . }} spec: selector: - app.kubernetes.io/name: {{ include "app.name" . }} + app.kubernetes.io/name: {{ include "ack-s3-controller.app.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: Helm - k8s-app: {{ include "app.name" . }} + k8s-app: {{ include "ack-s3-controller.app.name" . }} {{- range $key, $value := .Values.deployment.labels }} {{ $key }}: {{ $value | quote }} {{- end }} diff --git a/helm/templates/service-account.yaml b/helm/templates/service-account.yaml index 7330639..983eb9a 100644 --- a/helm/templates/service-account.yaml +++ b/helm/templates/service-account.yaml @@ -3,13 +3,13 @@ apiVersion: v1 kind: ServiceAccount metadata: labels: - app.kubernetes.io/name: {{ include "app.name" . }} + app.kubernetes.io/name: {{ include "ack-s3-controller.app.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: Helm app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} - k8s-app: {{ include "app.name" . }} - helm.sh/chart: {{ include "chart.name-version" . }} - name: {{ include "service-account.name" . }} + k8s-app: {{ include "ack-s3-controller.app.name" . }} + helm.sh/chart: {{ include "ack-s3-controller.chart.name-version" . }} + name: {{ include "ack-s3-controller.service-account.name" . }} namespace: {{ .Release.Namespace }} annotations: {{- range $key, $value := .Values.serviceAccount.annotations }} diff --git a/helm/values.yaml b/helm/values.yaml index fbab10f..1e93ae1 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -4,7 +4,7 @@ image: repository: public.ecr.aws/aws-controllers-k8s/s3-controller - tag: 1.0.8 + tag: 1.0.9 pullPolicy: IfNotPresent pullSecrets: []