diff --git a/addons/ec2-chart/Chart.yaml b/addons/ec2-chart/Chart.yaml index eb9b53da..86c20c13 100644 --- a/addons/ec2-chart/Chart.yaml +++ b/addons/ec2-chart/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 name: ec2-chart description: A Helm chart for the ACK service controller for Amazon Elastic Cloud Compute (EC2) -version: 1.2.0 -appVersion: 1.2.0 +version: 1.2.17 +appVersion: 1.2.17 home: https://github.com/aws-controllers-k8s/ec2-controller icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png sources: diff --git a/addons/ec2-chart/crds/ec2.services.k8s.aws_dhcpoptions.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_dhcpoptions.yaml index b8faba96..172353bc 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_dhcpoptions.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_dhcpoptions.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: dhcpoptions.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -25,20 +24,28 @@ spec: description: DHCPOptions is the Schema for the DHCPOptions 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: "DhcpOptionsSpec defines the desired state of DhcpOptions. - \n Describes a set of DHCP options." + description: |- + DhcpOptionsSpec defines the desired state of DhcpOptions. + + + Describes a set of DHCP options. properties: dhcpConfigurations: description: A DHCP configuration option. @@ -53,9 +60,10 @@ spec: type: object type: array tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -72,16 +80,19 @@ spec: vpcRefs: items: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: - my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object type: array @@ -92,24 +103,26 @@ spec: description: DHCPOptionsStatus defines the observed state of DHCPOptions 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 @@ -120,14 +133,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/addons/ec2-chart/crds/ec2.services.k8s.aws_elasticipaddresses.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_elasticipaddresses.yaml index 061e59ff..10e2bac9 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_elasticipaddresses.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_elasticipaddresses.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: elasticipaddresses.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -28,14 +27,19 @@ spec: description: ElasticIPAddress is the Schema for the ElasticIPAddresses 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 @@ -43,34 +47,42 @@ spec: description: ElasticIPAddressSpec defines the desired state of ElasticIPAddress. properties: address: - description: '[EC2-VPC] The Elastic IP address to recover or an IPv4 - address from an address pool.' + description: |- + [EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address + pool. type: string customerOwnedIPv4Pool: - description: The ID of a customer-owned address pool. Use this parameter - to let Amazon EC2 select an address from the address pool. Alternatively, - specify a specific address from the address pool. + description: |- + The ID of a customer-owned address pool. Use this parameter to let Amazon + EC2 select an address from the address pool. Alternatively, specify a specific + address from the address pool. type: string networkBorderGroup: - description: "A unique set of Availability Zones, Local Zones, or - Wavelength Zones from which Amazon Web Services advertises IP addresses. - Use this parameter to limit the IP address to this location. IP - addresses cannot move between network border groups. \n Use DescribeAvailabilityZones - (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) - to view the network border groups. \n You cannot use a network border - group with EC2 Classic. If you attempt this operation on EC2 Classic, - you receive an InvalidParameterCombination error." + description: |- + A unique set of Availability Zones, Local Zones, or Wavelength Zones from + which Amazon Web Services advertises IP addresses. Use this parameter to + limit the IP address to this location. IP addresses cannot move between network + border groups. + + + Use DescribeAvailabilityZones (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) + to view the network border groups. + + + You cannot use a network border group with EC2 Classic. If you attempt this + operation on EC2 Classic, you receive an InvalidParameterCombination error. type: string publicIPv4Pool: - description: The ID of an address pool that you own. Use this parameter - to let Amazon EC2 select an address from the address pool. To specify - a specific address from the address pool, use the Address parameter - instead. + description: |- + The ID of an address pool that you own. Use this parameter to let Amazon + EC2 select an address from the address pool. To specify a specific address + from the address pool, use the Address parameter instead. type: string tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -85,24 +97,26 @@ spec: description: ElasticIPAddressStatus defines the observed state of ElasticIPAddress 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 @@ -113,24 +127,26 @@ spec: - region type: object allocationID: - description: '[EC2-VPC] The ID that Amazon Web Services assigns to - represent the allocation of the Elastic IP address for use with - instances in a VPC.' + description: |- + [EC2-VPC] The ID that Amazon Web Services assigns to represent the allocation + of the Elastic IP address for use with instances in a VPC. type: string carrierIP: - description: The carrier IP address. This option is only available - for network interfaces which reside in a subnet in a Wavelength - Zone (for example an EC2 instance). + description: |- + The carrier IP address. This option is only available for network interfaces + which reside in a subnet in a Wavelength Zone (for example an EC2 instance). type: string 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/addons/ec2-chart/crds/ec2.services.k8s.aws_flowlogs.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_flowlogs.yaml index a245242c..87dc6cf0 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_flowlogs.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_flowlogs.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: flowlogs.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -21,26 +20,37 @@ spec: description: FlowLog is the Schema for the FlowLogs 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: "FlowLogSpec defines the desired state of FlowLog. \n Describes - a flow log." + description: |- + FlowLogSpec defines the desired state of FlowLog. + + + Describes a flow log. properties: deliverLogsPermissionARN: - description: "The ARN for the IAM role that permits Amazon EC2 to - publish flow logs to a CloudWatch Logs log group in your account. - \n If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn - or LogGroupName." + description: |- + The ARN for the IAM role that permits Amazon EC2 to publish flow logs to + a CloudWatch Logs log group in your account. + + + If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn + or LogGroupName. type: string destinationOptions: description: The destination options. @@ -53,64 +63,87 @@ spec: type: boolean type: object logDestination: - description: "The destination to which the flow log data is to be - published. Flow log data can be published to a CloudWatch Logs log - group or an Amazon S3 bucket. The value specified for this parameter - depends on the value specified for LogDestinationType. \n If LogDestinationType - is not specified or cloud-watch-logs, specify the Amazon Resource - Name (ARN) of the CloudWatch Logs log group. For example, to publish + description: |- + The destination to which the flow log data is to be published. Flow log data + can be published to a CloudWatch Logs log group or an Amazon S3 bucket. The + value specified for this parameter depends on the value specified for LogDestinationType. + + + If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon + Resource Name (ARN) of the CloudWatch Logs log group. For example, to publish to a log group called my-logs, specify arn:aws:logs:us-east-1:123456789012:log-group:my-logs. - Alternatively, use LogGroupName instead. \n If LogDestinationType - is s3, specify the ARN of the Amazon S3 bucket. You can also specify - a subfolder in the bucket. To specify a subfolder in the bucket, - use the following ARN format: bucket_ARN/subfolder_name/. For example, - to specify a subfolder named my-logs in a bucket named my-bucket, - use the following ARN: arn:aws:s3:::my-bucket/my-logs/. You cannot - use AWSLogs as a subfolder name. This is a reserved term." + Alternatively, use LogGroupName instead. + + + If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You + can also specify a subfolder in the bucket. To specify a subfolder in the + bucket, use the following ARN format: bucket_ARN/subfolder_name/. For example, + to specify a subfolder named my-logs in a bucket named my-bucket, use the + following ARN: arn:aws:s3:::my-bucket/my-logs/. You cannot use AWSLogs as + a subfolder name. This is a reserved term. type: string logDestinationType: - description: "The type of destination to which the flow log data is - to be published. Flow log data can be published to CloudWatch Logs - or Amazon S3. To publish flow log data to CloudWatch Logs, specify - cloud-watch-logs. To publish flow log data to Amazon S3, specify - s3. \n If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn - or LogGroupName. \n Default: cloud-watch-logs" + description: |- + The type of destination to which the flow log data is to be published. Flow + log data can be published to CloudWatch Logs or Amazon S3. To publish flow + log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow log + data to Amazon S3, specify s3. + + + If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn + or LogGroupName. + + + Default: cloud-watch-logs type: string logFormat: - description: "The fields to include in the flow log record, in the - order in which they should appear. For a list of available fields, - see Flow log records (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records). - If you omit this parameter, the flow log is created using the default - format. If you specify this parameter, you must specify at least - one field. \n Specify the fields using the ${field-id} format, separated - by spaces. For the CLI, surround this parameter value with single - quotes on Linux or double quotes on Windows." + description: |- + The fields to include in the flow log record, in the order in which they + should appear. For a list of available fields, see Flow log records (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records). + If you omit this parameter, the flow log is created using the default format. + If you specify this parameter, you must specify at least one field. + + + Specify the fields using the ${field-id} format, separated by spaces. For + the CLI, surround this parameter value with single quotes on Linux or double + quotes on Windows. type: string logGroupName: - description: "The name of a new or existing CloudWatch Logs log group - where Amazon EC2 publishes your flow logs. \n If you specify LogDestinationType - as s3, do not specify DeliverLogsPermissionArn or LogGroupName." + description: |- + The name of a new or existing CloudWatch Logs log group where Amazon EC2 + publishes your flow logs. + + + If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn + or LogGroupName. type: string maxAggregationInterval: - description: "The maximum interval of time during which a flow of - packets is captured and aggregated into a flow log record. You can - specify 60 seconds (1 minute) or 600 seconds (10 minutes). \n When - a network interface is attached to a Nitro-based instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances), - the aggregation interval is always 60 seconds or less, regardless - of the value that you specify. \n Default: 600" + description: |- + The maximum interval of time during which a flow of packets is captured and + aggregated into a flow log record. You can specify 60 seconds (1 minute) + or 600 seconds (10 minutes). + + + When a network interface is attached to a Nitro-based instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances), + the aggregation interval is always 60 seconds or less, regardless of the + value that you specify. + + + Default: 600 format: int64 type: integer resourceID: type: string resourceType: - description: The type of resource for which to create the flow log. - For example, if you specified a VPC ID for the ResourceId property, - specify VPC for this property. + description: |- + The type of resource for which to create the flow log. For example, if you + specified a VPC ID for the ResourceId property, specify VPC for this property. type: string tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -121,8 +154,9 @@ spec: type: object type: array trafficType: - description: The type of traffic to log. You can log traffic that - the resource accepts or rejects, or all traffic. + description: |- + The type of traffic to log. You can log traffic that the resource accepts + or rejects, or all traffic. type: string required: - resourceID @@ -132,24 +166,26 @@ spec: description: FlowLogStatus defines the observed state of FlowLog 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 @@ -160,18 +196,21 @@ spec: - region type: object clientToken: - description: Unique, case-sensitive identifier that you provide to - ensure the idempotency of the request. + description: |- + Unique, case-sensitive identifier that you provide to ensure the idempotency + of the request. type: string 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 @@ -206,8 +245,9 @@ spec: processed in a batch call. properties: error: - description: Information about the error that occurred. For - more information about errors, see Error codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html). + description: |- + Information about the error that occurred. For more information about errors, + see Error codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html). properties: code: type: string diff --git a/addons/ec2-chart/crds/ec2.services.k8s.aws_instances.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_instances.yaml index fb716d24..9f86446c 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_instances.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_instances.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: instances.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -25,30 +24,39 @@ spec: description: Instance is the Schema for the Instances 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: "InstanceSpec defines the desired state of Instance. \n Describes - an instance." + description: |- + InstanceSpec defines the desired state of Instance. + + + Describes an instance. properties: blockDeviceMappings: - description: The block device mapping, which defines the EBS volumes - and instance store volumes to attach to the instance at launch. - For more information, see Block device mappings (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) + description: |- + The block device mapping, which defines the EBS volumes and instance store + volumes to attach to the instance at launch. For more information, see Block + device mappings (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) in the Amazon EC2 User Guide. items: - description: Describes a block device mapping, which defines the - EBS volumes and instance store volumes to attach to an instance - at launch. + description: |- + Describes a block device mapping, which defines the EBS volumes and instance + store volumes to attach to an instance at launch. properties: deviceName: type: string @@ -84,11 +92,11 @@ spec: type: object type: array capacityReservationSpecification: - description: Information about the Capacity Reservation targeting - option. If you do not specify this parameter, the instance's Capacity - Reservation preference defaults to open, which enables it to run - in any open Capacity Reservation that has matching attributes (instance - type, platform, Availability Zone). + description: |- + Information about the Capacity Reservation targeting option. If you do not + specify this parameter, the instance's Capacity Reservation preference defaults + to open, which enables it to run in any open Capacity Reservation that has + matching attributes (instance type, platform, Availability Zone). properties: capacityReservationPreference: type: string @@ -103,8 +111,9 @@ spec: type: object type: object cpuOptions: - description: The CPU options for the instance. For more information, - see Optimize CPU options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) + description: |- + The CPU options for the instance. For more information, see Optimize CPU + options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the Amazon EC2 User Guide. properties: coreCount: @@ -115,43 +124,54 @@ spec: type: integer type: object creditSpecification: - description: "The credit option for CPU usage of the burstable performance - instance. Valid values are standard and unlimited. To change this - attribute after launch, use ModifyInstanceCreditSpecification (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html). + description: |- + The credit option for CPU usage of the burstable performance instance. Valid + values are standard and unlimited. To change this attribute after launch, + use ModifyInstanceCreditSpecification (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html). For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) - in the Amazon EC2 User Guide. \n Default: standard (T2 instances) - or unlimited (T3/T3a/T4g instances) \n For T3 instances with host - tenancy, only standard is supported." + in the Amazon EC2 User Guide. + + + Default: standard (T2 instances) or unlimited (T3/T3a/T4g instances) + + + For T3 instances with host tenancy, only standard is supported. properties: cpuCredits: type: string type: object disableAPIStop: - description: Indicates whether an instance is enabled for stop protection. - For more information, see Stop protection (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + description: |- + Indicates whether an instance is enabled for stop protection. For more information, + see Stop protection (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). type: boolean disableAPITermination: - description: "If you set this parameter to true, you can't terminate - the instance using the Amazon EC2 console, CLI, or API; otherwise, - you can. To change this attribute after launch, use ModifyInstanceAttribute - (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html). + description: |- + If you set this parameter to true, you can't terminate the instance using + the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute + after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html). Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, - you can terminate the instance by running the shutdown command from - the instance. \n Default: false" + you can terminate the instance by running the shutdown command from the instance. + + + Default: false type: boolean ebsOptimized: - description: "Indicates whether the instance is optimized for Amazon - EBS I/O. This optimization provides dedicated throughput to Amazon - EBS and an optimized configuration stack to provide optimal Amazon - EBS I/O performance. This optimization isn't available with all - instance types. Additional usage charges apply when using an EBS-optimized - instance. \n Default: false" + description: |- + Indicates whether the instance is optimized for Amazon EBS I/O. This optimization + provides dedicated throughput to Amazon EBS and an optimized configuration + stack to provide optimal Amazon EBS I/O performance. This optimization isn't + available with all instance types. Additional usage charges apply when using + an EBS-optimized instance. + + + Default: false type: boolean elasticGPUSpecification: - description: An elastic GPU to associate with the instance. An Elastic - GPU is a GPU resource that you can attach to your Windows instance - to accelerate the graphics performance of your applications. For - more information, see Amazon EC2 Elastic GPUs (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html) + description: |- + An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource + that you can attach to your Windows instance to accelerate the graphics performance + of your applications. For more information, see Amazon EC2 Elastic GPUs (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html) in the Amazon EC2 User Guide. items: description: A specification for an Elastic Graphics accelerator. @@ -161,11 +181,13 @@ spec: type: object type: array elasticInferenceAccelerators: - description: "An elastic inference accelerator to associate with the - instance. Elastic inference accelerators are a resource you can - attach to your Amazon EC2 instances to accelerate your Deep Learning - (DL) inference workloads. \n You cannot specify accelerators from - different generations in the same request." + description: |- + An elastic inference accelerator to associate with the instance. Elastic + inference accelerators are a resource you can attach to your Amazon EC2 instances + to accelerate your Deep Learning (DL) inference workloads. + + + You cannot specify accelerators from different generations in the same request. items: description: Describes an elastic inference accelerator. properties: @@ -177,21 +199,27 @@ spec: type: object type: array enclaveOptions: - description: "Indicates whether the instance is enabled for Amazon - Web Services Nitro Enclaves. For more information, see What is Amazon - Web Services Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html) - in the Amazon Web Services Nitro Enclaves User Guide. \n You can't - enable Amazon Web Services Nitro Enclaves and hibernation on the - same instance." + description: |- + Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. + For more information, see What is Amazon Web Services Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html) + in the Amazon Web Services Nitro Enclaves User Guide. + + + You can't enable Amazon Web Services Nitro Enclaves and hibernation on the + same instance. properties: enabled: type: boolean type: object hibernationOptions: - description: "Indicates whether an instance is enabled for hibernation. - For more information, see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) - in the Amazon EC2 User Guide. \n You can't enable hibernation and - Amazon Web Services Nitro Enclaves on the same instance." + description: |- + Indicates whether an instance is enabled for hibernation. For more information, + see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) + in the Amazon EC2 User Guide. + + + You can't enable hibernation and Amazon Web Services Nitro Enclaves on the + same instance. properties: configured: type: boolean @@ -206,19 +234,25 @@ spec: type: string type: object imageID: - description: The ID of the AMI. An AMI ID is required to launch an - instance and must be specified here or in a launch template. + description: |- + The ID of the AMI. An AMI ID is required to launch an instance and must be + specified here or in a launch template. type: string instanceInitiatedShutdownBehavior: - description: "Indicates whether an instance stops or terminates when - you initiate shutdown from the instance (using the operating system - command for system shutdown). \n Default: stop" + description: |- + Indicates whether an instance stops or terminates when you initiate shutdown + from the instance (using the operating system command for system shutdown). + + + Default: stop type: string instanceMarketOptions: - description: "The market (purchasing) option for the instances. \n - For RunInstances, persistent Spot Instance requests are only supported - when InstanceInterruptionBehavior is set to either hibernate or - stop." + description: |- + The market (purchasing) option for the instances. + + + For RunInstances, persistent Spot Instance requests are only supported when + InstanceInterruptionBehavior is set to either hibernate or stop. properties: marketType: type: string @@ -240,27 +274,36 @@ spec: type: object type: object instanceType: - description: "The instance type. For more information, see Instance - types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) - in the Amazon EC2 User Guide. \n Default: m1.small" + description: |- + The instance type. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + in the Amazon EC2 User Guide. + + + Default: m1.small type: string ipv6AddressCount: - description: "[EC2-VPC] The number of IPv6 addresses to associate - with the primary network interface. Amazon EC2 chooses the IPv6 - addresses from the range of your subnet. You cannot specify this - option and the option to assign specific IPv6 addresses in the same - request. You can specify this option if you've specified a minimum - number of instances to launch. \n You cannot specify this option - and the network interfaces option in the same request." + description: |- + [EC2-VPC] The number of IPv6 addresses to associate with the primary network + interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. + You cannot specify this option and the option to assign specific IPv6 addresses + in the same request. You can specify this option if you've specified a minimum + number of instances to launch. + + + You cannot specify this option and the network interfaces option in the same + request. format: int64 type: integer ipv6Addresses: - description: "[EC2-VPC] The IPv6 addresses from the range of the subnet - to associate with the primary network interface. You cannot specify - this option and the option to assign a number of IPv6 addresses - in the same request. You cannot specify this option if you've specified - a minimum number of instances to launch. \n You cannot specify this - option and the network interfaces option in the same request." + description: |- + [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with + the primary network interface. You cannot specify this option and the option + to assign a number of IPv6 addresses in the same request. You cannot specify + this option if you've specified a minimum number of instances to launch. + + + You cannot specify this option and the network interfaces option in the same + request. items: description: Describes an IPv6 address. properties: @@ -269,24 +312,28 @@ spec: type: object type: array kernelID: - description: "The ID of the kernel. \n We recommend that you use PV-GRUB - instead of kernels and RAM disks. For more information, see PV-GRUB - (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) - in the Amazon EC2 User Guide." + description: |- + The ID of the kernel. + + + We recommend that you use PV-GRUB instead of kernels and RAM disks. For more + information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) + in the Amazon EC2 User Guide. type: string keyName: - description: "The name of the key pair. You can create a key pair - using CreateKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html) + description: |- + The name of the key pair. You can create a key pair using CreateKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html) or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html). - \n If you do not specify a key pair, you can't connect to the instance - unless you choose an AMI that is configured to allow users another - way to log in." + + + If you do not specify a key pair, you can't connect to the instance unless + you choose an AMI that is configured to allow users another way to log in. type: string launchTemplate: - description: The launch template to use to launch the instances. Any - parameters that you specify in RunInstances override the same parameters - in the launch template. You can specify either the name or ID of - a launch template, but not both. + description: |- + The launch template to use to launch the instances. Any parameters that you + specify in RunInstances override the same parameters in the launch template. + You can specify either the name or ID of a launch template, but not both. properties: launchTemplateID: type: string @@ -311,19 +358,22 @@ spec: type: string type: object maxCount: - description: "The maximum number of instances to launch. If you specify - more instances than Amazon EC2 can launch in the target Availability - Zone, Amazon EC2 launches the largest possible number of instances - above MinCount. \n Constraints: Between 1 and the maximum number - you're allowed for the specified instance type. For more information - about the default limits, and how to request an increase, see How - many instances can I run in Amazon EC2 (http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2) - in the Amazon EC2 FAQ." + description: |- + The maximum number of instances to launch. If you specify more instances + than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches + the largest possible number of instances above MinCount. + + + Constraints: Between 1 and the maximum number you're allowed for the specified + instance type. For more information about the default limits, and how to + request an increase, see How many instances can I run in Amazon EC2 (http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2) + in the Amazon EC2 FAQ. format: int64 type: integer metadataOptions: - description: The metadata options for the instance. For more information, - see Instance metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). + description: |- + The metadata options for the instance. For more information, see Instance + metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). properties: httpEndpoint: type: string @@ -338,14 +388,16 @@ spec: type: string type: object minCount: - description: "The minimum number of instances to launch. If you specify - a minimum that is more instances than Amazon EC2 can launch in the - target Availability Zone, Amazon EC2 launches no instances. \n Constraints: - Between 1 and the maximum number you're allowed for the specified - instance type. For more information about the default limits, and - how to request an increase, see How many instances can I run in - Amazon EC2 (http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2) - in the Amazon EC2 General FAQ." + description: |- + The minimum number of instances to launch. If you specify a minimum that + is more instances than Amazon EC2 can launch in the target Availability Zone, + Amazon EC2 launches no instances. + + + Constraints: Between 1 and the maximum number you're allowed for the specified + instance type. For more information about the default limits, and how to + request an increase, see How many instances can I run in Amazon EC2 (http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2) + in the Amazon EC2 General FAQ. format: int64 type: integer monitoring: @@ -356,9 +408,10 @@ spec: type: boolean type: object networkInterfaces: - description: The network interfaces to associate with the instance. - If you specify a network interface, you must specify any security - groups and subnets as part of the network interface. + description: |- + The network interfaces to associate with the instance. If you specify a network + interface, you must specify any security groups and subnets as part of the + network interface. items: description: Describes a network interface. properties: @@ -457,8 +510,9 @@ spec: type: string type: object privateDNSNameOptions: - description: The options for the instance hostname. The default values - are inherited from the subnet. + description: |- + The options for the instance hostname. The default values are inherited from + the subnet. properties: enableResourceNameDNSAAAARecord: type: boolean @@ -468,51 +522,70 @@ spec: type: string type: object privateIPAddress: - description: "[EC2-VPC] The primary IPv4 address. You must specify - a value from the IPv4 address range of the subnet. \n Only one private - IP address can be designated as primary. You can't specify this - option if you've specified the option to designate a private IP - address as the primary IP address in a network interface specification. - You cannot specify this option if you're launching more than one - instance in the request. \n You cannot specify this option and the - network interfaces option in the same request." + description: |- + [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 + address range of the subnet. + + + Only one private IP address can be designated as primary. You can't specify + this option if you've specified the option to designate a private IP address + as the primary IP address in a network interface specification. You cannot + specify this option if you're launching more than one instance in the request. + + + You cannot specify this option and the network interfaces option in the same + request. type: string ramDiskID: - description: "The ID of the RAM disk to select. Some kernels require - additional drivers at launch. Check the kernel requirements for - information about whether you need to specify a RAM disk. To find - kernel requirements, go to the Amazon Web Services Resource Center - and search for the kernel ID. \n We recommend that you use PV-GRUB - instead of kernels and RAM disks. For more information, see PV-GRUB - (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) - in the Amazon EC2 User Guide." + description: |- + The ID of the RAM disk to select. Some kernels require additional drivers + at launch. Check the kernel requirements for information about whether you + need to specify a RAM disk. To find kernel requirements, go to the Amazon + Web Services Resource Center and search for the kernel ID. + + + We recommend that you use PV-GRUB instead of kernels and RAM disks. For more + information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) + in the Amazon EC2 User Guide. type: string securityGroupIDs: - description: "The IDs of the security groups. You can create a security - group using CreateSecurityGroup (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html). - \n If you specify a network interface, you must specify any security - groups as part of the network interface." + description: |- + The IDs of the security groups. You can create a security group using CreateSecurityGroup + (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html). + + + If you specify a network interface, you must specify any security groups + as part of the network interface. items: type: string type: array securityGroups: - description: "[EC2-Classic, default VPC] The names of the security - groups. For a nondefault VPC, you must use security group IDs instead. - \n If you specify a network interface, you must specify any security - groups as part of the network interface. \n Default: Amazon EC2 - uses the default security group." + description: |- + [EC2-Classic, default VPC] The names of the security groups. For a nondefault + VPC, you must use security group IDs instead. + + + If you specify a network interface, you must specify any security groups + as part of the network interface. + + + Default: Amazon EC2 uses the default security group. items: type: string type: array subnetID: - description: "[EC2-VPC] The ID of the subnet to launch the instance - into. \n If you specify a network interface, you must specify any - subnets as part of the network interface." + description: |- + [EC2-VPC] The ID of the subnet to launch the instance into. + + + If you specify a network interface, you must specify any subnets as part + of the network interface. type: string tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -523,37 +596,39 @@ spec: type: object type: array userData: - description: The user data script to make available to the instance. - For more information, see Run commands on your Linux instance at - launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) + description: |- + The user data script to make available to the instance. For more information, + see Run commands on your Linux instance at launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) and Run commands on your Windows instance at launch (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html). - If you are using a command line tool, base64-encoding is performed - for you, and you can load the text from a file. Otherwise, you must - provide base64-encoded text. User data is limited to 16 KB. + If you are using a command line tool, base64-encoding is performed for you, + and you can load the text from a file. Otherwise, you must provide base64-encoded + text. User data is limited to 16 KB. type: string type: object status: description: InstanceStatus defines the observed state of Instance 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 @@ -564,30 +639,33 @@ spec: - region type: object amiLaunchIndex: - description: The AMI launch index, which can be used to find this - instance in the launch group. + description: |- + The AMI launch index, which can be used to find this instance in the launch + group. format: int64 type: integer architecture: description: The architecture of the image. type: string bootMode: - description: The boot mode of the instance. For more information, - see Boot modes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html) + description: |- + The boot mode of the instance. For more information, see Boot modes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html) in the Amazon EC2 User Guide. type: string capacityReservationID: description: The ID of the Capacity Reservation. type: string 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 @@ -650,8 +728,9 @@ spec: description: Specifies whether enhanced networking with ENA is enabled. type: boolean hypervisor: - description: The hypervisor type of the instance. The value xen is - used for both Xen and Nitro hypervisors. + description: |- + The hypervisor type of the instance. The value xen is used for both Xen and + Nitro hypervisors. type: string instanceID: description: The ID of the instance. @@ -684,19 +763,22 @@ spec: blank. type: string platformDetails: - description: The platform details value for the instance. For more - information, see AMI billing information fields (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/billing-info-fields.html) + description: |- + The platform details value for the instance. For more information, see AMI + billing information fields (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/billing-info-fields.html) in the Amazon EC2 User Guide. type: string privateDNSName: - description: "(IPv4 only) The private DNS hostname name assigned to - the instance. This DNS hostname can only be used inside the Amazon - EC2 network. This name is not available until the instance enters - the running state. \n [EC2-VPC] The Amazon-provided DNS server resolves - Amazon-provided private DNS hostnames if you've enabled DNS resolution - and DNS hostnames in your VPC. If you are not using the Amazon-provided - DNS server in your VPC, your custom domain name servers must resolve - the hostname as appropriate." + description: |- + (IPv4 only) The private DNS hostname name assigned to the instance. This + DNS hostname can only be used inside the Amazon EC2 network. This name is + not available until the instance enters the running state. + + + [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private + DNS hostnames if you've enabled DNS resolution and DNS hostnames in your + VPC. If you are not using the Amazon-provided DNS server in your VPC, your + custom domain name servers must resolve the hostname as appropriate. type: string productCodes: description: The product codes attached to this instance, if applicable. @@ -710,24 +792,28 @@ spec: type: object type: array publicDNSName: - description: (IPv4 only) The public DNS name assigned to the instance. - This name is not available until the instance enters the running - state. For EC2-VPC, this name is only available if you've enabled - DNS hostnames for your VPC. + description: |- + (IPv4 only) The public DNS name assigned to the instance. This name is not + available until the instance enters the running state. For EC2-VPC, this + name is only available if you've enabled DNS hostnames for your VPC. type: string publicIPAddress: - description: "The public IPv4 address, or the Carrier IP address assigned - to the instance, if applicable. \n A Carrier IP address only applies - to an instance launched in a subnet associated with a Wavelength - Zone." + description: |- + The public IPv4 address, or the Carrier IP address assigned to the instance, + if applicable. + + + A Carrier IP address only applies to an instance launched in a subnet associated + with a Wavelength Zone. type: string rootDeviceName: description: The device name of the root device volume (for example, /dev/sda1). type: string rootDeviceType: - description: The root device type used by the AMI. The AMI can use - an EBS volume or an instance store volume. + description: |- + The root device type used by the AMI. The AMI can use an EBS volume or an + instance store volume. type: string sourceDestCheck: description: Indicates whether source/destination checking is enabled. @@ -737,8 +823,9 @@ spec: the request. type: string sriovNetSupport: - description: Specifies whether enhanced networking with the Intel - 82599 Virtual Function interface is enabled. + description: |- + Specifies whether enhanced networking with the Intel 82599 Virtual Function + interface is enabled. type: string state: description: The current state of the instance. @@ -762,13 +849,15 @@ spec: might be an empty string. type: string tpmSupport: - description: If the instance is configured for NitroTPM support, the - value is v2.0. For more information, see NitroTPM (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) + description: |- + If the instance is configured for NitroTPM support, the value is v2.0. For + more information, see NitroTPM (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon EC2 User Guide. type: string usageOperation: - description: The usage operation value for the instance. For more - information, see AMI billing information fields (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/billing-info-fields.html) + description: |- + The usage operation value for the instance. For more information, see AMI + billing information fields (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/billing-info-fields.html) in the Amazon EC2 User Guide. type: string usageOperationUpdateTime: diff --git a/addons/ec2-chart/crds/ec2.services.k8s.aws_internetgateways.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_internetgateways.yaml index cdf9f68e..1e17297e 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_internetgateways.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_internetgateways.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: internetgateways.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -25,34 +24,45 @@ spec: description: InternetGateway is the Schema for the InternetGateways 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: "InternetGatewaySpec defines the desired state of InternetGateway. - \n Describes an internet gateway." + description: |- + InternetGatewaySpec defines the desired state of InternetGateway. + + + Describes an internet gateway. properties: routeTableRefs: items: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: - my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object type: array @@ -61,9 +71,10 @@ spec: type: string type: array tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -78,15 +89,19 @@ spec: type: string vpcRef: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object type: object @@ -94,24 +109,26 @@ spec: description: InternetGatewayStatus defines the observed state of InternetGateway 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 @@ -124,8 +141,9 @@ spec: attachments: description: Any VPCs attached to the internet gateway. items: - description: Describes the attachment of a VPC to an internet gateway - or an egress-only internet gateway. + description: |- + Describes the attachment of a VPC to an internet gateway or an egress-only + internet gateway. properties: state: type: string @@ -134,14 +152,16 @@ spec: type: object type: array 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/addons/ec2-chart/crds/ec2.services.k8s.aws_natgateways.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_natgateways.yaml index b1344aa9..971d6e5d 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_natgateways.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_natgateways.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: natgateways.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -28,65 +27,83 @@ spec: description: NATGateway is the Schema for the NATGateways 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: "NatGatewaySpec defines the desired state of NatGateway. - \n Describes a NAT gateway." + description: |- + NatGatewaySpec defines the desired state of NatGateway. + + + Describes a NAT gateway. properties: allocationID: - description: '[Public NAT gateways only] The allocation ID of an Elastic - IP address to associate with the NAT gateway. You cannot specify - an Elastic IP address with a private NAT gateway. If the Elastic - IP address is associated with another resource, you must first disassociate - it.' + description: |- + [Public NAT gateways only] The allocation ID of an Elastic IP address to + associate with the NAT gateway. You cannot specify an Elastic IP address + with a private NAT gateway. If the Elastic IP address is associated with + another resource, you must first disassociate it. type: string allocationRef: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object connectivityType: - description: Indicates whether the NAT gateway supports public or - private connectivity. The default is public connectivity. + description: |- + Indicates whether the NAT gateway supports public or private connectivity. + The default is public connectivity. type: string subnetID: description: The subnet in which to create the NAT gateway. type: string subnetRef: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -101,24 +118,26 @@ spec: description: NATGatewayStatus defines the observed state of NATGateway 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 @@ -129,14 +148,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 @@ -170,28 +191,44 @@ spec: format: date-time type: string failureCode: - description: If the NAT gateway could not be created, specifies the - error code for the failure. (InsufficientFreeAddressesInSubnet | - Gateway.NotAttached | InvalidAllocationID.NotFound | Resource.AlreadyAssociated - | InternalError | InvalidSubnetID.NotFound) + description: |- + If the NAT gateway could not be created, specifies the error code for the + failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound + | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound) type: string failureMessage: - description: "If the NAT gateway could not be created, specifies the - error message for the failure, that corresponds to the error code. - \n * For InsufficientFreeAddressesInSubnet: \"Subnet has insufficient - free addresses to create this NAT gateway\" \n * For Gateway.NotAttached: - \"Network vpc-xxxxxxxx has no Internet gateway attached\" \n * For - InvalidAllocationID.NotFound: \"Elastic IP address eipalloc-xxxxxxxx - could not be associated with this NAT gateway\" \n * For Resource.AlreadyAssociated: - \"Elastic IP address eipalloc-xxxxxxxx is already associated\" \n - * For InternalError: \"Network interface eni-xxxxxxxx, created and - used internally by this NAT gateway is in an invalid state. Please - try again.\" \n * For InvalidSubnetID.NotFound: \"The specified - subnet subnet-xxxxxxxx does not exist or could not be found.\"" + description: |- + If the NAT gateway could not be created, specifies the error message for + the failure, that corresponds to the error code. + + + * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free + addresses to create this NAT gateway" + + + * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway + attached" + + + * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx + could not be associated with this NAT gateway" + + + * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx + is already associated" + + + * For InternalError: "Network interface eni-xxxxxxxx, created and used + internally by this NAT gateway is in an invalid state. Please try again." + + + * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx + does not exist or could not be found." type: string natGatewayAddresses: - description: Information about the IP addresses and network interface - associated with the NAT gateway. + description: |- + Information about the IP addresses and network interface associated with + the NAT gateway. items: description: Describes the IP addresses and network interface associated with a NAT gateway. @@ -210,8 +247,9 @@ spec: description: The ID of the NAT gateway. type: string provisionedBandwidth: - description: Reserved. If you need to sustain traffic greater than - the documented limits (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html), + description: |- + Reserved. If you need to sustain traffic greater than the documented limits + (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html), contact us through the Support Center (https://console.aws.amazon.com/support/home?). properties: provisionTime: @@ -228,16 +266,29 @@ spec: type: string type: object state: - description: "The state of the NAT gateway. \n * pending: The NAT - gateway is being created and is not ready to process traffic. \n - * failed: The NAT gateway could not be created. Check the failureCode - and failureMessage fields for the reason. \n * available: The NAT - gateway is able to process traffic. This status remains until you - delete the NAT gateway, and does not indicate the health of the - NAT gateway. \n * deleting: The NAT gateway is in the process of - being terminated and may still be processing traffic. \n * deleted: - The NAT gateway has been terminated and is no longer processing - traffic." + description: |- + The state of the NAT gateway. + + + * pending: The NAT gateway is being created and is not ready to process + traffic. + + + * failed: The NAT gateway could not be created. Check the failureCode + and failureMessage fields for the reason. + + + * available: The NAT gateway is able to process traffic. This status remains + until you delete the NAT gateway, and does not indicate the health of + the NAT gateway. + + + * deleting: The NAT gateway is in the process of being terminated and + may still be processing traffic. + + + * deleted: The NAT gateway has been terminated and is no longer processing + traffic. type: string vpcID: description: The ID of the VPC in which the NAT gateway is located. diff --git a/addons/ec2-chart/crds/ec2.services.k8s.aws_networkacls.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_networkacls.yaml index 6df07fe5..bb7b8372 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_networkacls.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_networkacls.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: networkacls.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -25,20 +24,28 @@ spec: description: NetworkACL is the Schema for the NetworkACLS 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: "NetworkAclSpec defines the desired state of NetworkAcl. - \n Describes a network ACL." + description: |- + NetworkAclSpec defines the desired state of NetworkAcl. + + + Describes a network ACL. properties: associations: items: @@ -55,12 +62,14 @@ spec: description: Reference field for SubnetID properties: from: - description: AWSResourceReference provides all the values - necessary to reference another k8s resource for finding - the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object type: object @@ -105,9 +114,10 @@ spec: type: object type: array tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -122,15 +132,19 @@ spec: type: string vpcRef: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object type: object @@ -138,24 +152,26 @@ spec: description: NetworkACLStatus defines the observed state of NetworkACL 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 @@ -166,14 +182,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/addons/ec2-chart/crds/ec2.services.k8s.aws_routetables.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_routetables.yaml index cc938cb3..679b0570 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_routetables.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_routetables.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: routetables.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -25,20 +24,28 @@ spec: description: RouteTable is the Schema for the RouteTables 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: "RouteTableSpec defines the desired state of RouteTable. - \n Describes a route table." + description: |- + RouteTableSpec defines the desired state of RouteTable. + + + Describes a route table. properties: routes: items: @@ -61,12 +68,14 @@ spec: description: Reference field for GatewayID properties: from: - description: AWSResourceReference provides all the values - necessary to reference another k8s resource for finding - the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object instanceID: @@ -79,12 +88,14 @@ spec: description: Reference field for NATGatewayID properties: from: - description: AWSResourceReference provides all the values - necessary to reference another k8s resource for finding - the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object networkInterfaceID: @@ -95,12 +106,14 @@ spec: description: Reference field for TransitGatewayID properties: from: - description: AWSResourceReference provides all the values - necessary to reference another k8s resource for finding - the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object vpcEndpointID: @@ -109,12 +122,14 @@ spec: description: Reference field for VPCEndpointID properties: from: - description: AWSResourceReference provides all the values - necessary to reference another k8s resource for finding - the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object vpcPeeringConnectionID: @@ -123,20 +138,23 @@ spec: description: Reference field for VPCPeeringConnectionID properties: from: - description: AWSResourceReference provides all the values - necessary to reference another k8s resource for finding - the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object type: object type: array tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -151,15 +169,19 @@ spec: type: string vpcRef: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object type: object @@ -167,24 +189,26 @@ spec: description: RouteTableStatus defines the observed state of RouteTable 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 @@ -202,8 +226,9 @@ spec: a subnet or gateway. properties: associationState: - description: Describes the state of an association between a - route table and a subnet or gateway. + description: |- + Describes the state of an association between a route table and a subnet + or gateway. properties: state: type: string @@ -223,14 +248,16 @@ spec: type: object type: array 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/addons/ec2-chart/crds/ec2.services.k8s.aws_securitygroups.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_securitygroups.yaml index 3efa575d..7053e96e 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_securitygroups.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_securitygroups.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: securitygroups.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -25,26 +24,41 @@ spec: description: SecurityGroup is the Schema for the SecurityGroups 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: "SecurityGroupSpec defines the desired state of SecurityGroup. - \n Describes a security group." + description: |- + SecurityGroupSpec defines the desired state of SecurityGroup. + + + Describes a security group. properties: description: - description: "A description for the security group. This is informational - only. \n Constraints: Up to 255 characters in length \n Constraints - for EC2-Classic: ASCII characters \n Constraints for EC2-VPC: a-z, - A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*" + description: |- + A description for the security group. This is informational only. + + + Constraints: Up to 255 characters in length + + + Constraints for EC2-Classic: ASCII characters + + + Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$* type: string egressRules: items: @@ -91,12 +105,14 @@ spec: type: integer userIDGroupPairs: items: - description: "Describes a security group and Amazon Web Services - account ID pair. \n We are retiring EC2-Classic on August - 15, 2022. We recommend that you migrate from EC2-Classic - to a VPC. For more information, see Migrate from EC2-Classic + description: |- + Describes a security group and Amazon Web Services account ID pair. + + + We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate + from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) - in the Amazon Elastic Compute Cloud User Guide." + in the Amazon Elastic Compute Cloud User Guide. properties: description: type: string @@ -104,6 +120,20 @@ spec: type: string groupName: type: string + groupRef: + description: Reference field for GroupID + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + namespace: + type: string + type: object + type: object peeringStatus: type: string userID: @@ -112,6 +142,20 @@ spec: type: string vpcPeeringConnectionID: type: string + vpcRef: + description: Reference field for VPCID + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + namespace: + type: string + type: object + type: object type: object type: array type: object @@ -161,12 +205,14 @@ spec: type: integer userIDGroupPairs: items: - description: "Describes a security group and Amazon Web Services - account ID pair. \n We are retiring EC2-Classic on August - 15, 2022. We recommend that you migrate from EC2-Classic - to a VPC. For more information, see Migrate from EC2-Classic + description: |- + Describes a security group and Amazon Web Services account ID pair. + + + We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate + from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) - in the Amazon Elastic Compute Cloud User Guide." + in the Amazon Elastic Compute Cloud User Guide. properties: description: type: string @@ -174,6 +220,20 @@ spec: type: string groupName: type: string + groupRef: + description: Reference field for GroupID + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + namespace: + type: string + type: object + type: object peeringStatus: type: string userID: @@ -182,20 +242,42 @@ spec: type: string vpcPeeringConnectionID: type: string + vpcRef: + description: Reference field for VPCID + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + namespace: + type: string + type: object + type: object type: object type: array type: object type: array name: - description: "The name of the security group. \n Constraints: Up to - 255 characters in length. Cannot start with sg-. \n Constraints - for EC2-Classic: ASCII characters \n Constraints for EC2-VPC: a-z, - A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*" + description: |- + The name of the security group. + + + Constraints: Up to 255 characters in length. Cannot start with sg-. + + + Constraints for EC2-Classic: ASCII characters + + + Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$* type: string tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -210,15 +292,19 @@ spec: type: string vpcRef: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object required: @@ -229,24 +315,26 @@ spec: description: SecurityGroupStatus defines the observed state of SecurityGroup 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 @@ -257,14 +345,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/addons/ec2-chart/crds/ec2.services.k8s.aws_subnets.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_subnets.yaml index 0bc6e9fc..ec5badbe 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_subnets.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_subnets.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: subnets.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -28,44 +27,61 @@ spec: description: Subnet is the Schema for the Subnets 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: "SubnetSpec defines the desired state of Subnet. \n Describes - a subnet." + description: |- + SubnetSpec defines the desired state of Subnet. + + + Describes a subnet. properties: assignIPv6AddressOnCreation: type: boolean availabilityZone: - description: "The Availability Zone or Local Zone for the subnet. - \n Default: Amazon Web Services selects one for you. If you create - more than one subnet in your VPC, we do not necessarily select a - different zone for each subnet. \n To create a subnet in a Local - Zone, set this value to the Local Zone ID, for example us-west-2-lax-1a. - For information about the Regions that support Local Zones, see - Available Regions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions) - in the Amazon Elastic Compute Cloud User Guide. \n To create a subnet - in an Outpost, set this value to the Availability Zone for the Outpost - and specify the Outpost ARN." + description: |- + The Availability Zone or Local Zone for the subnet. + + + Default: Amazon Web Services selects one for you. If you create more than + one subnet in your VPC, we do not necessarily select a different zone for + each subnet. + + + To create a subnet in a Local Zone, set this value to the Local Zone ID, + for example us-west-2-lax-1a. For information about the Regions that support + Local Zones, see Available Regions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions) + in the Amazon Elastic Compute Cloud User Guide. + + + To create a subnet in an Outpost, set this value to the Availability Zone + for the Outpost and specify the Outpost ARN. type: string availabilityZoneID: description: The AZ ID or the Local Zone ID of the subnet. type: string cidrBlock: - description: "The IPv4 network range for the subnet, in CIDR notation. - For example, 10.0.0.0/24. We modify the specified CIDR block to - its canonical form; for example, if you specify 100.68.0.18/18, - we modify it to 100.68.0.0/18. \n This parameter is not supported - for an IPv6 only subnet." + description: |- + The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. + We modify the specified CIDR block to its canonical form; for example, if + you specify 100.68.0.18/18, we modify it to 100.68.0.0/18. + + + This parameter is not supported for an IPv6 only subnet. type: string customerOwnedIPv4Pool: type: string @@ -78,9 +94,12 @@ spec: hostnameType: type: string ipv6CIDRBlock: - description: "The IPv6 network range for the subnet, in CIDR notation. - The subnet size must use a /64 prefix length. \n This parameter - is required for an IPv6 only subnet." + description: |- + The IPv6 network range for the subnet, in CIDR notation. The subnet size + must use a /64 prefix length. + + + This parameter is required for an IPv6 only subnet. type: string ipv6Native: description: Indicates whether to create an IPv6 only subnet. @@ -88,23 +107,26 @@ spec: mapPublicIPOnLaunch: type: boolean outpostARN: - description: The Amazon Resource Name (ARN) of the Outpost. If you - specify an Outpost ARN, you must also specify the Availability Zone - of the Outpost subnet. + description: |- + The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost + ARN, you must also specify the Availability Zone of the Outpost subnet. type: string routeTableRefs: items: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: - my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object type: array @@ -113,9 +135,10 @@ spec: type: string type: array tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -130,15 +153,19 @@ spec: type: string vpcRef: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object type: object @@ -146,24 +173,26 @@ spec: description: SubnetStatus defines the observed state of Subnet 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 @@ -174,19 +203,22 @@ spec: - region type: object availableIPAddressCount: - description: The number of unused private IPv4 addresses in the subnet. - The IPv4 addresses for any stopped instances are considered unavailable. + description: |- + The number of unused private IPv4 addresses in the subnet. The IPv4 addresses + for any stopped instances are considered unavailable. format: int64 type: integer 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 @@ -216,9 +248,10 @@ spec: Availability Zone. type: boolean enableLniAtDeviceIndex: - description: Indicates the device position for local network interfaces - in this subnet. For example, 1 indicates local network interfaces - in this subnet are the secondary network interface (eth1). + description: |- + Indicates the device position for local network interfaces in this subnet. + For example, 1 indicates local network interfaces in this subnet are the + secondary network interface (eth1). format: int64 type: integer ipv6CIDRBlockAssociationSet: @@ -243,18 +276,19 @@ spec: type: object type: array mapCustomerOwnedIPOnLaunch: - description: Indicates whether a network interface created in this - subnet (including a network interface created by RunInstances) receives - a customer-owned IPv4 address. + description: |- + Indicates whether a network interface created in this subnet (including a + network interface created by RunInstances) receives a customer-owned IPv4 + address. type: boolean ownerID: description: The ID of the Amazon Web Services account that owns the subnet. type: string privateDNSNameOptionsOnLaunch: - description: The type of hostnames to assign to instances in the subnet - at launch. An instance hostname is based on the IPv4 address or - ID of the instance. + description: |- + The type of hostnames to assign to instances in the subnet at launch. An + instance hostname is based on the IPv4 address or ID of the instance. properties: enableResourceNameDNSAAAARecord: type: boolean diff --git a/addons/ec2-chart/crds/ec2.services.k8s.aws_transitgateways.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_transitgateways.yaml index 11f85031..b203eaad 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_transitgateways.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_transitgateways.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: transitgateways.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -28,20 +27,28 @@ spec: description: TransitGateway is the Schema for the TransitGateways 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: "TransitGatewaySpec defines the desired state of TransitGateway. - \n Describes a transit gateway." + description: |- + TransitGatewaySpec defines the desired state of TransitGateway. + + + Describes a transit gateway. properties: description: description: A description of the transit gateway. @@ -70,9 +77,10 @@ spec: type: string type: object tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -87,24 +95,26 @@ spec: description: TransitGatewayStatus defines the observed state of TransitGateway 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 @@ -115,14 +125,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/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcendpoints.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcendpoints.yaml index 35be446f..f1b8bdc6 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcendpoints.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcendpoints.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: vpcendpoints.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -28,20 +27,28 @@ spec: description: VPCEndpoint is the Schema for the VPCEndpoints 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: "VpcEndpointSpec defines the desired state of VpcEndpoint. - \n Describes a VPC endpoint." + description: |- + VpcEndpointSpec defines the desired state of VpcEndpoint. + + + Describes a VPC endpoint. properties: dnsOptions: description: The DNS options for the endpoint. @@ -53,23 +60,29 @@ spec: description: The IP address type for the endpoint. type: string policyDocument: - description: (Interface and gateway endpoints) A policy to attach - to the endpoint that controls access to the service. The policy - must be in valid JSON format. If this parameter is not specified, - we attach a default policy that allows full access to the service. + description: |- + (Interface and gateway endpoints) A policy to attach to the endpoint that + controls access to the service. The policy must be in valid JSON format. + If this parameter is not specified, we attach a default policy that allows + full access to the service. type: string privateDNSEnabled: - description: "(Interface endpoint) Indicates whether to associate - a private hosted zone with the specified VPC. The private hosted - zone contains a record set for the default public DNS name for the - service for the Region (for example, kinesis.us-east-1.amazonaws.com), - which resolves to the private IP addresses of the endpoint network - interfaces in the VPC. This enables you to make requests to the - default public DNS name for the service instead of the public DNS + description: |- + (Interface endpoint) Indicates whether to associate a private hosted zone + with the specified VPC. The private hosted zone contains a record set for + the default public DNS name for the service for the Region (for example, + kinesis.us-east-1.amazonaws.com), which resolves to the private IP addresses + of the endpoint network interfaces in the VPC. This enables you to make requests + to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service. - \n To use a private hosted zone, you must set the following VPC - attributes to true: enableDnsHostnames and enableDnsSupport. Use - ModifyVpcAttribute to set the VPC attributes. \n Default: true" + + + To use a private hosted zone, you must set the following VPC attributes to + true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to + set the VPC attributes. + + + Default: true type: boolean routeTableIDs: description: (Gateway endpoint) One or more route table IDs. @@ -79,74 +92,85 @@ spec: routeTableRefs: items: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: - my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object type: array securityGroupIDs: - description: (Interface endpoint) The ID of one or more security groups - to associate with the endpoint network interface. + description: |- + (Interface endpoint) The ID of one or more security groups to associate with + the endpoint network interface. items: type: string type: array securityGroupRefs: items: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: - my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object type: array serviceName: - description: The service name. To get a list of available services, - use the DescribeVpcEndpointServices request, or get the name from - the service provider. + description: |- + The service name. To get a list of available services, use the DescribeVpcEndpointServices + request, or get the name from the service provider. type: string subnetIDs: - description: (Interface and Gateway Load Balancer endpoints) The ID - of one or more subnets in which to create an endpoint network interface. - For a Gateway Load Balancer endpoint, you can specify one subnet - only. + description: |- + (Interface and Gateway Load Balancer endpoints) The ID of one or more subnets + in which to create an endpoint network interface. For a Gateway Load Balancer + endpoint, you can specify one subnet only. items: type: string type: array subnetRefs: items: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: - my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object type: array tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -157,22 +181,30 @@ spec: type: object type: array vpcEndpointType: - description: "The type of endpoint. \n Default: Gateway" + description: |- + The type of endpoint. + + + Default: Gateway type: string vpcID: description: The ID of the VPC in which the endpoint will be used. type: string vpcRef: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object required: @@ -182,24 +214,26 @@ spec: description: VPCEndpointStatus defines the observed state of VPCEndpoint 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 @@ -210,14 +244,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 @@ -258,8 +294,9 @@ spec: type: object type: array groups: - description: (Interface endpoint) Information about the security groups - that are associated with the network interface. + description: |- + (Interface endpoint) Information about the security groups that are associated + with the network interface. items: description: Describes a security group. properties: diff --git a/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcendpointserviceconfigurations.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcendpointserviceconfigurations.yaml index fd4225e1..8c215bdf 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcendpointserviceconfigurations.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcendpointserviceconfigurations.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: vpcendpointserviceconfigurations.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -29,14 +28,19 @@ spec: 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 @@ -45,13 +49,15 @@ spec: of VpcEndpointServiceConfiguration. properties: acceptanceRequired: - description: Indicates whether requests from service consumers to - create an endpoint to your service must be accepted manually. + description: |- + Indicates whether requests from service consumers to create an endpoint to + your service must be accepted manually. type: boolean allowedPrincipals: - description: The Amazon Resource Names (ARN) of one or more principals. - Permissions are granted to the principals in this list. To grant - permissions to all principals, specify an asterisk (*). + description: |- + The Amazon Resource Names (ARN) of one or more principals. Permissions are + granted to the principals in this list. To grant permissions to all principals, + specify an asterisk (*). items: type: string type: array @@ -62,14 +68,16 @@ spec: type: string type: array networkLoadBalancerARNs: - description: The Amazon Resource Names (ARNs) of one or more Network - Load Balancers for your service. + description: |- + The Amazon Resource Names (ARNs) of one or more Network Load Balancers for + your service. items: type: string type: array privateDNSName: - description: (Interface endpoint configuration) The private DNS name - to assign to the VPC endpoint service. + description: |- + (Interface endpoint configuration) The private DNS name to assign to the + VPC endpoint service. type: string supportedIPAddressTypes: description: The supported IP address types. The possible values are @@ -78,9 +86,10 @@ spec: type: string type: array tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -96,24 +105,26 @@ spec: state of VPCEndpointServiceConfiguration 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 @@ -134,14 +145,16 @@ spec: type: string type: array 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 @@ -167,9 +180,9 @@ spec: type: object type: array managesVPCEndpoints: - description: Indicates whether the service manages its VPC endpoints. - Management of the service VPC endpoints using the VPC endpoint API - is restricted. + description: |- + Indicates whether the service manages its VPC endpoints. Management of the + service VPC endpoints using the VPC endpoint API is restricted. type: boolean payerResponsibility: description: The payer responsibility. diff --git a/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcpeeringconnections.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcpeeringconnections.yaml index e19de7ca..63d5e144 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcpeeringconnections.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcpeeringconnections.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: vpcpeeringconnections.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -22,20 +21,28 @@ spec: 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: "VpcPeeringConnectionSpec defines the desired state of VpcPeeringConnection. - \n Describes a VPC peering connection." + description: |- + VpcPeeringConnectionSpec defines the desired state of VpcPeeringConnection. + + + Describes a VPC peering connection. properties: acceptRequest: type: boolean @@ -50,29 +57,40 @@ spec: type: boolean type: object peerOwnerID: - description: "The Amazon Web Services account ID of the owner of the - accepter VPC. \n Default: Your Amazon Web Services account ID" + description: |- + The Amazon Web Services account ID of the owner of the accepter VPC. + + + Default: Your Amazon Web Services account ID type: string peerRegion: - description: "The Region code for the accepter VPC, if the accepter - VPC is located in a Region other than the Region in which you make - the request. \n Default: The Region in which you make the request." + description: |- + The Region code for the accepter VPC, if the accepter VPC is located in a + Region other than the Region in which you make the request. + + + Default: The Region in which you make the request. type: string peerVPCID: - description: The ID of the VPC with which you are creating the VPC - peering connection. You must specify this parameter in the request. + description: |- + The ID of the VPC with which you are creating the VPC peering connection. + You must specify this parameter in the request. type: string peerVPCRef: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object requesterPeeringConnectionOptions: @@ -87,9 +105,10 @@ spec: type: boolean type: object tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -105,15 +124,19 @@ spec: type: string vpcRef: description: "AWSResourceReferenceWrapper provides a wrapper around - *AWSResourceReference type to provide more user friendly syntax - for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" properties: from: - description: AWSResourceReference provides all the values necessary - to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string + namespace: + type: string type: object type: object type: object @@ -122,8 +145,9 @@ spec: VPCPeeringConnection properties: accepterVPCInfo: - description: Information about the accepter VPC. CIDR block information - is only returned when describing an active VPC peering connection. + description: |- + Information about the accepter VPC. CIDR block information is only returned + when describing an active VPC peering connection. properties: cidrBlock: type: string @@ -146,11 +170,14 @@ spec: ownerID: type: string peeringOptions: - description: "We are retiring EC2-Classic on August 15, 2022. - We recommend that you migrate from EC2-Classic to a VPC. For - more information, see Migrate from EC2-Classic to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) - in the Amazon Elastic Compute Cloud User Guide. \n Describes - the VPC peering connection options." + description: |- + We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate + from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic + to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) + in the Amazon Elastic Compute Cloud User Guide. + + + Describes the VPC peering connection options. properties: allowDNSResolutionFromRemoteVPC: type: boolean @@ -165,24 +192,26 @@ spec: type: string type: object 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 @@ -193,14 +222,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 @@ -231,8 +262,9 @@ spec: format: date-time type: string requesterVPCInfo: - description: Information about the requester VPC. CIDR block information - is only returned when describing an active VPC peering connection. + description: |- + Information about the requester VPC. CIDR block information is only returned + when describing an active VPC peering connection. properties: cidrBlock: type: string @@ -255,11 +287,14 @@ spec: ownerID: type: string peeringOptions: - description: "We are retiring EC2-Classic on August 15, 2022. - We recommend that you migrate from EC2-Classic to a VPC. For - more information, see Migrate from EC2-Classic to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) - in the Amazon Elastic Compute Cloud User Guide. \n Describes - the VPC peering connection options." + description: |- + We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate + from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic + to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) + in the Amazon Elastic Compute Cloud User Guide. + + + Describes the VPC peering connection options. properties: allowDNSResolutionFromRemoteVPC: type: boolean diff --git a/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcs.yaml b/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcs.yaml index 18ed81d9..e124f992 100644 --- a/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcs.yaml +++ b/addons/ec2-chart/crds/ec2.services.k8s.aws_vpcs.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: vpcs.ec2.services.k8s.aws spec: group: ec2.services.k8s.aws @@ -28,25 +27,34 @@ spec: description: VPC is the Schema for the VPCS 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: "VpcSpec defines the desired state of Vpc. \n Describes a - VPC." + description: |- + VpcSpec defines the desired state of Vpc. + + + Describes a VPC. properties: amazonProvidedIPv6CIDRBlock: - description: Requests an Amazon-provided IPv6 CIDR block with a /56 - prefix length for the VPC. You cannot specify the range of IP addresses, - or the size of the CIDR block. + description: |- + Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for + the VPC. You cannot specify the range of IP addresses, or the size of the + CIDR block. type: boolean cidrBlocks: items: @@ -59,51 +67,65 @@ spec: description: The attribute value. The valid values are true or false. type: boolean instanceTenancy: - description: "The tenancy options for instances launched into the - VPC. For default, instances are launched with shared tenancy by - default. You can launch instances with any tenancy into a shared - tenancy VPC. For dedicated, instances are launched as dedicated - tenancy instances by default. You can only launch instances with - a tenancy of dedicated or host into a dedicated tenancy VPC. \n - Important: The host value cannot be used with this parameter. Use - the default or dedicated values only. \n Default: default" + description: |- + The tenancy options for instances launched into the VPC. For default, instances + are launched with shared tenancy by default. You can launch instances with + any tenancy into a shared tenancy VPC. For dedicated, instances are launched + as dedicated tenancy instances by default. You can only launch instances + with a tenancy of dedicated or host into a dedicated tenancy VPC. + + + Important: The host value cannot be used with this parameter. Use the default + or dedicated values only. + + + Default: default type: string ipv4IPAMPoolID: - description: The ID of an IPv4 IPAM pool you want to use for allocating - this VPC's CIDR. For more information, see What is IPAM? (https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html) + description: |- + The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. + For more information, see What is IPAM? (https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html) in the Amazon VPC IPAM User Guide. type: string ipv4NetmaskLength: - description: The netmask length of the IPv4 CIDR you want to allocate - to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For - more information about IPAM, see What is IPAM? (https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html) + description: |- + The netmask length of the IPv4 CIDR you want to allocate to this VPC from + an Amazon VPC IP Address Manager (IPAM) pool. For more information about + IPAM, see What is IPAM? (https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html) in the Amazon VPC IPAM User Guide. format: int64 type: integer ipv6CIDRBlock: - description: "The IPv6 CIDR block from the IPv6 address pool. You - must also specify Ipv6Pool in the request. \n To let Amazon choose - the IPv6 CIDR block for you, omit this parameter." + description: |- + The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool + in the request. + + + To let Amazon choose the IPv6 CIDR block for you, omit this parameter. type: string ipv6CIDRBlockNetworkBorderGroup: - description: "The name of the location from which we advertise the - IPV6 CIDR block. Use this parameter to limit the address to this - location. \n You must set AmazonProvidedIpv6CidrBlock to true to - use this parameter." + description: |- + The name of the location from which we advertise the IPV6 CIDR block. Use + this parameter to limit the address to this location. + + + You must set AmazonProvidedIpv6CidrBlock to true to use this parameter. type: string ipv6IPAMPoolID: - description: The ID of an IPv6 IPAM pool which will be used to allocate - this VPC an IPv6 CIDR. IPAM is a VPC feature that you can use to - automate your IP address management workflows including assigning, - tracking, troubleshooting, and auditing IP addresses across Amazon - Web Services Regions and accounts throughout your Amazon Web Services - Organization. For more information, see What is IPAM? (https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html) + description: |- + The ID of an IPv6 IPAM pool which will be used to allocate this VPC an IPv6 + CIDR. IPAM is a VPC feature that you can use to automate your IP address + management workflows including assigning, tracking, troubleshooting, and + auditing IP addresses across Amazon Web Services Regions and accounts throughout + your Amazon Web Services Organization. For more information, see What is + IPAM? (https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html) in the Amazon VPC IPAM User Guide. type: string ipv6NetmaskLength: - description: The netmask length of the IPv6 CIDR you want to allocate - to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For - more information about IPAM, see What is IPAM? (https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html) + description: |- + The netmask length of the IPv6 CIDR you want to allocate to this VPC from + an Amazon VPC IP Address Manager (IPAM) pool. For more information about + IPAM, see What is IPAM? (https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html) in the Amazon VPC IPAM User Guide. format: int64 type: integer @@ -112,9 +134,10 @@ spec: the IPv6 CIDR block. type: string tags: - description: The tags. The value parameter is required, but if you - don't want the tag to have a value, specify the parameter with no - value, and we set the value to an empty string. + description: |- + The tags. The value parameter is required, but if you don't want the tag + to have a value, specify the parameter with no value, and we set the value + to an empty string. items: description: Describes a tag. properties: @@ -131,24 +154,26 @@ spec: description: VPCStatus defines the observed state of VPC 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 @@ -179,14 +204,16 @@ spec: type: object type: array 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/addons/ec2-chart/crds/services.k8s.aws_adoptedresources.yaml b/addons/ec2-chart/crds/services.k8s.aws_adoptedresources.yaml index d8d51261..65eff735 100644 --- a/addons/ec2-chart/crds/services.k8s.aws_adoptedresources.yaml +++ b/addons/ec2-chart/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: 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 @@ -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/addons/ec2-chart/crds/services.k8s.aws_fieldexports.yaml b/addons/ec2-chart/crds/services.k8s.aws_fieldexports.yaml index 4a7ab61b..4d3a8f1d 100644 --- a/addons/ec2-chart/crds/services.k8s.aws_fieldexports.yaml +++ b/addons/ec2-chart/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/addons/ec2-chart/templates/NOTES.txt b/addons/ec2-chart/templates/NOTES.txt index b32c8932..a0ef4f87 100644 --- a/addons/ec2-chart/templates/NOTES.txt +++ b/addons/ec2-chart/templates/NOTES.txt @@ -1,5 +1,5 @@ {{ .Chart.Name }} has been installed. -This chart deploys "public.ecr.aws/aws-controllers-k8s/ec2-controller:1.2.0". +This chart deploys "public.ecr.aws/aws-controllers-k8s/ec2-controller:1.2.17". Check its status by running: kubectl --namespace {{ .Release.Namespace }} get pods -l "app.kubernetes.io/instance={{ .Release.Name }}" diff --git a/addons/ec2-chart/templates/_helpers.tpl b/addons/ec2-chart/templates/_helpers.tpl index 391d5de3..a0ced2ef 100644 --- a/addons/ec2-chart/templates/_helpers.tpl +++ b/addons/ec2-chart/templates/_helpers.tpl @@ -1,5 +1,5 @@ {{/* The name of the application this chart installs */}} -{{- define "app.name" -}} +{{- define "ack-ec2-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-ec2-controller.app.fullname" -}} {{- if .Values.fullnameOverride -}} {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} {{- else -}} @@ -22,27 +22,408 @@ 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-ec2-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-ec2-controller.service-account.name" -}} {{ default "default" .Values.serviceAccount.name }} {{- end -}} -{{- define "watch-namespace" -}} +{{- define "ack-ec2-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-ec2-controller.aws.credentials.secret_mount_path" -}} {{- "/var/run/secrets/aws" -}} {{- end -}} {{/* The path the shared credentials file is mounted */}} -{{- define "aws.credentials.path" -}} -{{- printf "%s/%s" (include "aws.credentials.secret_mount_path" .) .Values.aws.credentials.secretKey -}} +{{- define "ack-ec2-controller.aws.credentials.path" -}} +{{ $secret_mount_path := include "ack-ec2-controller.aws.credentials.secret_mount_path" . }} +{{- printf "%s/%s" $secret_mount_path .Values.aws.credentials.secretKey -}} +{{- end -}} + +{{/* The rules a of ClusterRole or Role */}} +{{- define "ack-ec2-controller.rbac-rules" -}} +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - patch + - watch +- apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - secrets + verbs: + - get + - list + - patch + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - dhcpoptions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - dhcpoptions/status + verbs: + - get + - patch + - update +- apiGroups: + - ec2.services.k8s.aws + resources: + - elasticipaddresses + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - elasticipaddresses/status + verbs: + - get + - patch + - update +- apiGroups: + - ec2.services.k8s.aws + resources: + - flowlogs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - flowlogs/status + verbs: + - get + - patch + - update +- apiGroups: + - ec2.services.k8s.aws + resources: + - instances + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - instances/status + verbs: + - get + - patch + - update +- apiGroups: + - ec2.services.k8s.aws + resources: + - internetgateways + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - internetgateways/status + verbs: + - get + - patch + - update +- apiGroups: + - ec2.services.k8s.aws + resources: + - natgateways + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - natgateways/status + verbs: + - get + - patch + - update +- apiGroups: + - ec2.services.k8s.aws + resources: + - networkacls + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - networkacls/status + verbs: + - get + - patch + - update +- apiGroups: + - ec2.services.k8s.aws + resources: + - routetables + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - routetables/status + verbs: + - get + - patch + - update +- apiGroups: + - ec2.services.k8s.aws + resources: + - securitygroups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - securitygroups/status + verbs: + - get + - patch + - update +- apiGroups: + - ec2.services.k8s.aws + resources: + - subnets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - subnets/status + verbs: + - get + - patch + - update +- apiGroups: + - ec2.services.k8s.aws + resources: + - transitgateways + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - transitgateways/status + verbs: + - get + - patch + - update +- apiGroups: + - ec2.services.k8s.aws + resources: + - vpcendpoints + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - vpcendpoints/status + verbs: + - get + - patch + - update +- apiGroups: + - ec2.services.k8s.aws + resources: + - vpcendpointserviceconfigurations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - vpcendpointserviceconfigurations/status + verbs: + - get + - patch + - update +- apiGroups: + - ec2.services.k8s.aws + resources: + - vpcpeeringconnections + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - vpcpeeringconnections/status + verbs: + - get + - patch + - update +- apiGroups: + - ec2.services.k8s.aws + resources: + - vpcs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ec2.services.k8s.aws + resources: + - vpcs/status + verbs: + - get + - patch + - update +- apiGroups: + - services.k8s.aws + resources: + - adoptedresources + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - services.k8s.aws + resources: + - adoptedresources/status + verbs: + - get + - patch + - update +- apiGroups: + - services.k8s.aws + resources: + - fieldexports + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - services.k8s.aws + resources: + - fieldexports/status + verbs: + - get + - patch + - update +{{- end }} + +{{/* Convert k/v map to string like: "key1=value1,key2=value2,..." */}} +{{- define "ack-ec2-controller.feature-gates" -}} +{{- $list := list -}} +{{- range $k, $v := .Values.featureGates -}} +{{- $list = append $list (printf "%s=%s" $k ( $v | toString)) -}} +{{- end -}} +{{ join "," $list }} {{- end -}} diff --git a/addons/ec2-chart/templates/caches-role-binding.yaml b/addons/ec2-chart/templates/caches-role-binding.yaml new file mode 100644 index 00000000..74eca706 --- /dev/null +++ b/addons/ec2-chart/templates/caches-role-binding.yaml @@ -0,0 +1,26 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: ack-namespaces-cache-ec2-controller +roleRef: + kind: ClusterRole + apiGroup: rbac.authorization.k8s.io + name: ack-namespaces-cache-ec2-controller +subjects: +- kind: ServiceAccount + name: ack-ec2-controller + namespace: {{ .Release.Namespace }} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: ack-configmaps-cache-ec2-controller + namespace: {{ .Release.Namespace }} +roleRef: + kind: Role + apiGroup: rbac.authorization.k8s.io + name: ack-configmaps-cache-ec2-controller +subjects: +- kind: ServiceAccount + name: ack-ec2-controller + namespace: {{ .Release.Namespace }} \ No newline at end of file diff --git a/addons/ec2-chart/templates/caches-role.yaml b/addons/ec2-chart/templates/caches-role.yaml new file mode 100644 index 00000000..dfca26e7 --- /dev/null +++ b/addons/ec2-chart/templates/caches-role.yaml @@ -0,0 +1,28 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: ack-namespaces-cache-ec2-controller +rules: +- apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: ack-configmaps-cache-ec2-controller + namespace: {{ .Release.Namespace }} +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch \ No newline at end of file diff --git a/addons/ec2-chart/templates/cluster-role-binding.yaml b/addons/ec2-chart/templates/cluster-role-binding.yaml index 937799fe..29ac919e 100644 --- a/addons/ec2-chart/templates/cluster-role-binding.yaml +++ b/addons/ec2-chart/templates/cluster-role-binding.yaml @@ -1,21 +1,36 @@ -apiVersion: rbac.authorization.k8s.io/v1 {{ if eq .Values.installScope "cluster" }} +apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: {{ include "app.fullname" . }} + name: {{ include "ack-ec2-controller.app.fullname" . }} roleRef: kind: ClusterRole -{{ else }} + apiGroup: rbac.authorization.k8s.io + name: ack-ec2-controller +subjects: +- kind: ServiceAccount + name: {{ include "ack-ec2-controller.service-account.name" . }} + namespace: {{ .Release.Namespace }} +{{ else if eq .Values.installScope "namespace" }} +{{ $wn := include "ack-ec2-controller.watch-namespace" . }} +{{ $namespaces := split "," $wn }} +{{ $fullname := include "ack-ec2-controller.app.fullname" . }} +{{ $releaseNamespace := .Release.Namespace }} +{{ $serviceAccountName := include "ack-ec2-controller.service-account.name" . }} +{{ range $namespaces }} +--- +apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: {{ include "app.fullname" . }} - namespace: {{ .Release.Namespace }} + name: {{ $fullname }} + namespace: {{ . }} roleRef: kind: Role -{{ end }} apiGroup: rbac.authorization.k8s.io name: ack-ec2-controller subjects: - kind: ServiceAccount - name: {{ include "service-account.name" . }} - namespace: {{ .Release.Namespace }} + name: {{ $serviceAccountName }} + namespace: {{ $releaseNamespace }} +{{ end }} +{{ end }} \ No newline at end of file diff --git a/addons/ec2-chart/templates/cluster-role-controller.yaml b/addons/ec2-chart/templates/cluster-role-controller.yaml index c5714ec1..5d4ff129 100644 --- a/addons/ec2-chart/templates/cluster-role-controller.yaml +++ b/addons/ec2-chart/templates/cluster-role-controller.yaml @@ -1,388 +1,29 @@ -apiVersion: rbac.authorization.k8s.io/v1 +{{ $labels := .Values.role.labels }} +{{ $rbacRules := include "ack-ec2-controller.rbac-rules" . }} {{ if eq .Values.installScope "cluster" }} +apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - creationTimestamp: null name: ack-ec2-controller labels: - {{- range $key, $value := .Values.role.labels }} + {{- range $key, $value := $labels }} {{ $key }}: {{ $value | quote }} {{- end }} -{{ else }} +{{$rbacRules }} +{{ else if eq .Values.installScope "namespace" }} +{{ $wn := include "ack-ec2-controller.watch-namespace" . }} +{{ $namespaces := split "," $wn }} +{{ range $namespaces }} +--- +apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: - creationTimestamp: null name: ack-ec2-controller + namespace: {{ . }} labels: - {{- range $key, $value := .Values.role.labels }} + {{- range $key, $value := $labels }} {{ $key }}: {{ $value | quote }} {{- end }} - namespace: {{ .Release.Namespace }} +{{ $rbacRules }} {{ end }} -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - patch - - watch -- apiGroups: - - "" - resources: - - namespaces - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - secrets - verbs: - - get - - list - - patch - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - dhcpoptions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - dhcpoptions/status - verbs: - - get - - patch - - update -- apiGroups: - - ec2.services.k8s.aws - resources: - - elasticipaddresses - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - elasticipaddresses/status - verbs: - - get - - patch - - update -- apiGroups: - - ec2.services.k8s.aws - resources: - - flowlogs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - flowlogs/status - verbs: - - get - - patch - - update -- apiGroups: - - ec2.services.k8s.aws - resources: - - instances - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - instances/status - verbs: - - get - - patch - - update -- apiGroups: - - ec2.services.k8s.aws - resources: - - internetgateways - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - internetgateways/status - verbs: - - get - - patch - - update -- apiGroups: - - ec2.services.k8s.aws - resources: - - natgateways - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - natgateways/status - verbs: - - get - - patch - - update -- apiGroups: - - ec2.services.k8s.aws - resources: - - networkacls - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - networkacls/status - verbs: - - get - - patch - - update -- apiGroups: - - ec2.services.k8s.aws - resources: - - routetables - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - routetables/status - verbs: - - get - - patch - - update -- apiGroups: - - ec2.services.k8s.aws - resources: - - securitygroups - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - securitygroups/status - verbs: - - get - - patch - - update -- apiGroups: - - ec2.services.k8s.aws - resources: - - subnets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - subnets/status - verbs: - - get - - patch - - update -- apiGroups: - - ec2.services.k8s.aws - resources: - - transitgateways - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - transitgateways/status - verbs: - - get - - patch - - update -- apiGroups: - - ec2.services.k8s.aws - resources: - - vpcendpoints - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - vpcendpoints/status - verbs: - - get - - patch - - update -- apiGroups: - - ec2.services.k8s.aws - resources: - - vpcendpointserviceconfigurations - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - vpcendpointserviceconfigurations/status - verbs: - - get - - patch - - update -- apiGroups: - - ec2.services.k8s.aws - resources: - - vpcpeeringconnections - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - vpcpeeringconnections/status - verbs: - - get - - patch - - update -- apiGroups: - - ec2.services.k8s.aws - resources: - - vpcs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - ec2.services.k8s.aws - resources: - - vpcs/status - verbs: - - get - - patch - - update -- apiGroups: - - services.k8s.aws - resources: - - adoptedresources - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - services.k8s.aws - resources: - - adoptedresources/status - verbs: - - get - - patch - - update -- apiGroups: - - services.k8s.aws - resources: - - fieldexports - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - services.k8s.aws - resources: - - fieldexports/status - verbs: - - get - - patch - - update +{{ end }} \ No newline at end of file diff --git a/addons/ec2-chart/templates/deployment.yaml b/addons/ec2-chart/templates/deployment.yaml index cea38ec9..179ab83a 100644 --- a/addons/ec2-chart/templates/deployment.yaml +++ b/addons/ec2-chart/templates/deployment.yaml @@ -1,20 +1,20 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ include "app.fullname" . }} + name: {{ include "ack-ec2-controller.app.fullname" . }} namespace: {{ .Release.Namespace }} labels: - app.kubernetes.io/name: {{ include "app.name" . }} + app.kubernetes.io/name: {{ include "ack-ec2-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-ec2-controller.app.name" . }} + helm.sh/chart: {{ include "ack-ec2-controller.chart.name-version" . }} spec: replicas: {{ .Values.deployment.replicas }} selector: matchLabels: - app.kubernetes.io/name: {{ include "app.name" . }} + app.kubernetes.io/name: {{ include "ack-ec2-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-ec2-controller.app.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: Helm - k8s-app: {{ include "app.name" . }} + k8s-app: {{ include "ack-ec2-controller.app.name" . }} {{- range $key, $value := .Values.deployment.labels }} {{ $key }}: {{ $value | quote }} {{- end }} spec: - serviceAccountName: {{ include "service-account.name" . }} + serviceAccountName: {{ include "ack-ec2-controller.service-account.name" . }} {{- if .Values.image.pullSecrets }} imagePullSecrets: {{- range .Values.image.pullSecrets }} @@ -64,13 +64,25 @@ spec: - --leader-election-namespace - "$(LEADER_ELECTION_NAMESPACE)" {{- end }} -{{- if gt .Values.reconcile.defaultResyncPeriod 0.0 }} +{{- if gt (int .Values.reconcile.defaultResyncPeriod) 0 }} - --reconcile-default-resync-seconds - "$(RECONCILE_DEFAULT_RESYNC_SECONDS)" {{- end }} {{- range $key, $value := .Values.reconcile.resourceResyncPeriods }} - --reconcile-resource-resync-seconds - "$(RECONCILE_RESOURCE_RESYNC_SECONDS_{{ $key | upper }})" +{{- end }} +{{- if gt (int .Values.reconcile.defaultMaxConcurrentSyncs) 0 }} + - --reconcile-default-max-concurrent-syncs + - "$(RECONCILE_DEFAULT_MAX_CONCURRENT_SYNCS)" +{{- end }} +{{- range $key, $value := .Values.reconcile.resourceMaxConcurrentSyncs }} + - --reconcile-resource-max-concurrent-syncs + - "$(RECONCILE_RESOURCE_MAX_CONCURRENT_SYNCS_{{ $key | upper }})" +{{- end }} +{{- if .Values.featureGates}} + - --feature-gates + - "$(FEATURE_GATES)" {{- end }} image: {{ .Values.image.repository }}:{{ .Values.image.tag }} imagePullPolicy: {{ .Values.image.pullPolicy }} @@ -90,7 +102,7 @@ spec: - name: AWS_ENDPOINT_URL value: {{ .Values.aws.endpoint_url | quote }} - name: ACK_WATCH_NAMESPACE - value: {{ include "watch-namespace" . }} + value: {{ include "ack-ec2-controller.watch-namespace" . }} - name: DELETION_POLICY value: {{ .Values.deletionPolicy }} - name: LEADER_ELECTION_NAMESPACE @@ -99,17 +111,29 @@ spec: value: {{ .Values.log.level | quote }} - name: ACK_RESOURCE_TAGS value: {{ join "," .Values.resourceTags | quote }} -{{- if gt .Values.reconcile.defaultResyncPeriod 0.0 }} +{{- if gt (int .Values.reconcile.defaultResyncPeriod) 0 }} - name: RECONCILE_DEFAULT_RESYNC_SECONDS value: {{ .Values.reconcile.defaultResyncPeriod | quote }} {{- end }} {{- range $key, $value := .Values.reconcile.resourceResyncPeriods }} - name: RECONCILE_RESOURCE_RESYNC_SECONDS_{{ $key | upper }} value: {{ $key }}={{ $value }} +{{- end }} +{{- if gt (int .Values.reconcile.defaultMaxConcurrentSyncs) 0 }} + - name: RECONCILE_DEFAULT_MAX_CONCURRENT_SYNCS + value: {{ .Values.reconcile.defaultMaxConcurrentSyncs | quote }} +{{- end }} +{{- range $key, $value := .Values.reconcile.resourceMaxConcurrentSyncs }} + - name: RECONCILE_RESOURCE_MAX_CONCURRENT_SYNCS_{{ $key | upper }} + value: {{ $key }}={{ $value }} +{{- end }} +{{- if .Values.featureGates}} + - name: FEATURE_GATES + value: {{ include "ack-ec2-controller.feature-gates" . }} {{- end }} {{- if .Values.aws.credentials.secretName }} - name: AWS_SHARED_CREDENTIALS_FILE - value: {{ include "aws.credentials.path" . }} + value: {{ include "ack-ec2-controller.aws.credentials.path" . }} - name: AWS_PROFILE value: {{ .Values.aws.credentials.profile }} {{- end }} @@ -119,7 +143,7 @@ spec: volumeMounts: {{- if .Values.aws.credentials.secretName }} - name: {{ .Values.aws.credentials.secretName }} - mountPath: {{ include "aws.credentials.secret_mount_path" . }} + mountPath: {{ include "ack-ec2-controller.aws.credentials.secret_mount_path" . }} readOnly: true {{- end }} {{- if .Values.deployment.extraVolumeMounts -}} @@ -132,6 +156,18 @@ spec: capabilities: drop: - ALL + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 securityContext: seccompProfile: type: RuntimeDefault diff --git a/addons/ec2-chart/templates/leader-election-role-binding.yaml b/addons/ec2-chart/templates/leader-election-role-binding.yaml index d42c6468..d981683a 100644 --- a/addons/ec2-chart/templates/leader-election-role-binding.yaml +++ b/addons/ec2-chart/templates/leader-election-role-binding.yaml @@ -14,5 +14,5 @@ roleRef: name: ec2-leader-election-role subjects: - kind: ServiceAccount - name: {{ include "service-account.name" . }} + name: {{ include "ack-ec2-controller.service-account.name" . }} namespace: {{ .Release.Namespace }}{{- end }} diff --git a/addons/ec2-chart/templates/metrics-service.yaml b/addons/ec2-chart/templates/metrics-service.yaml index 638858a3..00c6c4d2 100644 --- a/addons/ec2-chart/templates/metrics-service.yaml +++ b/addons/ec2-chart/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-ec2-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-ec2-controller.app.name" . }} + helm.sh/chart: {{ include "ack-ec2-controller.chart.name-version" . }} spec: selector: - app.kubernetes.io/name: {{ include "app.name" . }} + app.kubernetes.io/name: {{ include "ack-ec2-controller.app.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/managed-by: Helm - k8s-app: {{ include "app.name" . }} + k8s-app: {{ include "ack-ec2-controller.app.name" . }} {{- range $key, $value := .Values.deployment.labels }} {{ $key }}: {{ $value | quote }} {{- end }} diff --git a/addons/ec2-chart/templates/role-writer.yaml b/addons/ec2-chart/templates/role-writer.yaml index 0f8da895..56bac28f 100644 --- a/addons/ec2-chart/templates/role-writer.yaml +++ b/addons/ec2-chart/templates/role-writer.yaml @@ -10,35 +10,20 @@ rules: - ec2.services.k8s.aws resources: - dhcpoptions - - elasticipaddresses - - flowlogs - - instances - - internetgateways - - natgateways - - networkacls - - routetables - - securitygroups - - subnets - - transitgateways - - vpcs - - vpcendpoints - - vpcendpointserviceconfigurations - - vpcpeeringconnections - verbs: - create - delete diff --git a/addons/ec2-chart/templates/service-account.yaml b/addons/ec2-chart/templates/service-account.yaml index 73306395..1ba702dd 100644 --- a/addons/ec2-chart/templates/service-account.yaml +++ b/addons/ec2-chart/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-ec2-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-ec2-controller.app.name" . }} + helm.sh/chart: {{ include "ack-ec2-controller.chart.name-version" . }} + name: {{ include "ack-ec2-controller.service-account.name" . }} namespace: {{ .Release.Namespace }} annotations: {{- range $key, $value := .Values.serviceAccount.annotations }} diff --git a/addons/ec2-chart/values.schema.json b/addons/ec2-chart/values.schema.json index ac28b680..7ccb485d 100644 --- a/addons/ec2-chart/values.schema.json +++ b/addons/ec2-chart/values.schema.json @@ -223,13 +223,19 @@ "enum": ["delete", "retain"] }, "reconcile": { - "description": "Reconcile resync settings. Parameters to tune the controller's drift remediation period.", + "description": "Reconcile settings. This is used to configure the controller's reconciliation behavior. e.g resyncPeriod and maxConcurrentSyncs", "properties": { "defaultResyncPeriod": { "type": "number" }, "resourceResyncPeriods": { "type": "object" + }, + "defaultMaxConcurentSyncs": { + "type": "number" + }, + "resourceMaxConcurrentSyncs": { + "type": "object" } }, "type": "object" @@ -262,6 +268,13 @@ "type": "object" } }, + "featureGates": { + "description": "Feature gates settings", + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, "required": [ "image", "deployment", diff --git a/addons/ec2-chart/values.yaml b/addons/ec2-chart/values.yaml index d6a71f54..be0fe97f 100644 --- a/addons/ec2-chart/values.yaml +++ b/addons/ec2-chart/values.yaml @@ -4,7 +4,7 @@ image: repository: public.ecr.aws/aws-controllers-k8s/ec2-controller - tag: 1.2.0 + tag: 1.2.17 pullPolicy: IfNotPresent pullSecrets: [] @@ -107,6 +107,7 @@ installScope: cluster # Set the value of the "namespace" to be watched by the controller # This value is only used when the `installScope` is set to "namespace". If left empty, the default value is the release namespace for the chart. +# You can set multiple namespaces by providing a comma separated list of namespaces. e.g "namespace1,namespace2" watchNamespace: "" resourceTags: @@ -127,6 +128,12 @@ reconcile: # An object representing the reconcile resync configuration for each specific resource. resourceResyncPeriods: {} + # The default number of concurrent syncs that a reconciler can perform. + defaultMaxConcurrentSyncs: 1 + # An object representing the reconcile max concurrent syncs configuration for each specific + # resource. + resourceMaxConcurrentSyncs: {} + serviceAccount: # Specifies whether a service account should be created create: true @@ -146,3 +153,10 @@ leaderElection: # will attempt to use the namespace of the service account mounted to the Controller # pod. namespace: "" + +# Configuration for feature gates. These are optional controller features that +# can be individually enabled ("true") or disabled ("false") by adding key/value +# pairs below. +featureGates: {} + # featureGate1: true + # featureGate2: false diff --git a/vendored-charts b/vendored-charts index 7fd8c0ac..cd769115 100644 --- a/vendored-charts +++ b/vendored-charts @@ -12,6 +12,7 @@ addons/elasticache-chart addons/emrcontainers-chart addons/eventbridge-chart addons/iam-chart +addons/keda-http-add-onaddons/ec2-chart addons/kms-chart addons/lambda-chart addons/memorydb-chart @@ -25,4 +26,3 @@ addons/sagemaker-chart addons/sfn-chart addons/sns-chart addons/sqs-chart -addons/keda-http-add-on \ No newline at end of file