diff --git a/crd-catalog/GoogleCloudPlatform/spark-on-k8s-operator/sparkoperator.k8s.io/v1beta2/scheduledsparkapplications.yaml b/crd-catalog/GoogleCloudPlatform/spark-on-k8s-operator/sparkoperator.k8s.io/v1beta2/scheduledsparkapplications.yaml index d92bb5b4d..65740141c 100644 --- a/crd-catalog/GoogleCloudPlatform/spark-on-k8s-operator/sparkoperator.k8s.io/v1beta2/scheduledsparkapplications.yaml +++ b/crd-catalog/GoogleCloudPlatform/spark-on-k8s-operator/sparkoperator.k8s.io/v1beta2/scheduledsparkapplications.yaml @@ -98,6 +98,11 @@ spec: deps: description: "Deps captures all possible types of dependencies of a Spark application." properties: + archives: + description: "Archives is a list of archives to be extracted into the working directory of each executor." + items: + type: "string" + type: "array" excludePackages: description: "ExcludePackages is a list of \"groupId:artifactId\", to exclude while resolving the\ndependencies provided in Packages to avoid dependency conflicts." items: diff --git a/crd-catalog/GoogleCloudPlatform/spark-on-k8s-operator/sparkoperator.k8s.io/v1beta2/sparkapplications.yaml b/crd-catalog/GoogleCloudPlatform/spark-on-k8s-operator/sparkoperator.k8s.io/v1beta2/sparkapplications.yaml index 2d009a144..4fb2aaba1 100644 --- a/crd-catalog/GoogleCloudPlatform/spark-on-k8s-operator/sparkoperator.k8s.io/v1beta2/sparkapplications.yaml +++ b/crd-catalog/GoogleCloudPlatform/spark-on-k8s-operator/sparkoperator.k8s.io/v1beta2/sparkapplications.yaml @@ -78,6 +78,11 @@ spec: deps: description: "Deps captures all possible types of dependencies of a Spark application." properties: + archives: + description: "Archives is a list of archives to be extracted into the working directory of each executor." + items: + type: "string" + type: "array" excludePackages: description: "ExcludePackages is a list of \"groupId:artifactId\", to exclude while resolving the\ndependencies provided in Packages to avoid dependency conflicts." items: diff --git a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmagents.yaml b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmagents.yaml index b3f4029b3..30ed55c50 100644 --- a/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmagents.yaml +++ b/crd-catalog/VictoriaMetrics/operator/operator.victoriametrics.com/v1beta1/vmagents.yaml @@ -1317,6 +1317,9 @@ spec: - "key" type: "object" x-kubernetes-map-type: "atomic" + forceVMProto: + description: "ForceVMProto forces using VictoriaMetrics protocol for sending data to -remoteWrite.url" + type: "boolean" headers: description: "Headers allow configuring custom http headers\nMust be in form of semicolon separated header with value\ne.g.\nheaderName: headerValue\nvmagent supports since 1.79.0 version" items: @@ -1372,6 +1375,9 @@ spec: type: "string" type: "object" type: "array" + maxDiskUsage: + description: "MaxDiskUsage defines the maximum file-based buffer size in bytes for -remoteWrite.url" + type: "string" oauth2: description: "OAuth2 defines auth configuration" properties: diff --git a/crd-catalog/aerospike/aerospike-kubernetes-operator/asdb.aerospike.com/v1/aerospikeclusters.yaml b/crd-catalog/aerospike/aerospike-kubernetes-operator/asdb.aerospike.com/v1/aerospikeclusters.yaml index 5ded21feb..8a641be5f 100644 --- a/crd-catalog/aerospike/aerospike-kubernetes-operator/asdb.aerospike.com/v1/aerospikeclusters.yaml +++ b/crd-catalog/aerospike/aerospike-kubernetes-operator/asdb.aerospike.com/v1/aerospikeclusters.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - aerospike-kubernetes-operator/version: "3.3.1" + aerospike-kubernetes-operator/version: "3.4.0" controller-gen.kubebuilder.io/version: "v0.14.0" name: "aerospikeclusters.asdb.aerospike.com" spec: diff --git a/crd-catalog/aerospike/aerospike-kubernetes-operator/asdb.aerospike.com/v1beta1/aerospikeclusters.yaml b/crd-catalog/aerospike/aerospike-kubernetes-operator/asdb.aerospike.com/v1beta1/aerospikeclusters.yaml index 9a613abb0..13007e2e9 100644 --- a/crd-catalog/aerospike/aerospike-kubernetes-operator/asdb.aerospike.com/v1beta1/aerospikeclusters.yaml +++ b/crd-catalog/aerospike/aerospike-kubernetes-operator/asdb.aerospike.com/v1beta1/aerospikeclusters.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - aerospike-kubernetes-operator/version: "3.3.1" + aerospike-kubernetes-operator/version: "3.4.0" controller-gen.kubebuilder.io/version: "v0.14.0" name: "aerospikeclusters.asdb.aerospike.com" spec: diff --git a/crd-catalog/ansible/awx-operator/awx.ansible.com/v1beta1/awxs.yaml b/crd-catalog/ansible/awx-operator/awx.ansible.com/v1beta1/awxs.yaml index 0957183cf..2822bdff0 100644 --- a/crd-catalog/ansible/awx-operator/awx.ansible.com/v1beta1/awxs.yaml +++ b/crd-catalog/ansible/awx-operator/awx.ansible.com/v1beta1/awxs.yaml @@ -2039,6 +2039,9 @@ spec: secretKeySecret: description: "Secret key secret name of the deployed instance" type: "string" + upgradedFrom: + description: "Last gated version" + type: "string" upgradedPostgresVersion: description: "Status to indicate that the database has been upgraded to the version in the status" type: "string" diff --git a/crd-catalog/apache/camel-k/camel.apache.org/v1/integrationplatforms.yaml b/crd-catalog/apache/camel-k/camel.apache.org/v1/integrationplatforms.yaml index 8afc93637..f2ddebb80 100644 --- a/crd-catalog/apache/camel-k/camel.apache.org/v1/integrationplatforms.yaml +++ b/crd-catalog/apache/camel-k/camel.apache.org/v1/integrationplatforms.yaml @@ -1242,7 +1242,7 @@ spec: description: "Deprecated: no longer available since version 2.5." type: "boolean" volumes: - description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]" + description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails.\nYou can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided\nor the default cluster Storage Class. However, if the PVC exists, the operator would mount it." items: type: "string" type: "array" @@ -2833,7 +2833,7 @@ spec: description: "Deprecated: no longer available since version 2.5." type: "boolean" volumes: - description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]" + description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails.\nYou can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided\nor the default cluster Storage Class. However, if the PVC exists, the operator would mount it." items: type: "string" type: "array" diff --git a/crd-catalog/apache/camel-k/camel.apache.org/v1/integrationprofiles.yaml b/crd-catalog/apache/camel-k/camel.apache.org/v1/integrationprofiles.yaml index aed34161c..db6866bc2 100644 --- a/crd-catalog/apache/camel-k/camel.apache.org/v1/integrationprofiles.yaml +++ b/crd-catalog/apache/camel-k/camel.apache.org/v1/integrationprofiles.yaml @@ -1136,7 +1136,7 @@ spec: description: "Deprecated: no longer available since version 2.5." type: "boolean" volumes: - description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]" + description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails.\nYou can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided\nor the default cluster Storage Class. However, if the PVC exists, the operator would mount it." items: type: "string" type: "array" @@ -2632,7 +2632,7 @@ spec: description: "Deprecated: no longer available since version 2.5." type: "boolean" volumes: - description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]" + description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails.\nYou can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided\nor the default cluster Storage Class. However, if the PVC exists, the operator would mount it." items: type: "string" type: "array" diff --git a/crd-catalog/apache/camel-k/camel.apache.org/v1/integrations.yaml b/crd-catalog/apache/camel-k/camel.apache.org/v1/integrations.yaml index cf26fdab0..194d4b896 100644 --- a/crd-catalog/apache/camel-k/camel.apache.org/v1/integrations.yaml +++ b/crd-catalog/apache/camel-k/camel.apache.org/v1/integrations.yaml @@ -4760,7 +4760,7 @@ spec: description: "Deprecated: no longer available since version 2.5." type: "boolean" volumes: - description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]" + description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails.\nYou can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided\nor the default cluster Storage Class. However, if the PVC exists, the operator would mount it." items: type: "string" type: "array" @@ -6232,7 +6232,7 @@ spec: description: "Deprecated: no longer available since version 2.5." type: "boolean" volumes: - description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]" + description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails.\nYou can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided\nor the default cluster Storage Class. However, if the PVC exists, the operator would mount it." items: type: "string" type: "array" diff --git a/crd-catalog/apache/camel-k/camel.apache.org/v1/pipes.yaml b/crd-catalog/apache/camel-k/camel.apache.org/v1/pipes.yaml index 045d3ff70..5d29e3230 100644 --- a/crd-catalog/apache/camel-k/camel.apache.org/v1/pipes.yaml +++ b/crd-catalog/apache/camel-k/camel.apache.org/v1/pipes.yaml @@ -4747,7 +4747,7 @@ spec: description: "Deprecated: no longer available since version 2.5." type: "boolean" volumes: - description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]" + description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails.\nYou can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided\nor the default cluster Storage Class. However, if the PVC exists, the operator would mount it." items: type: "string" type: "array" diff --git a/crd-catalog/apache/camel-k/camel.apache.org/v1alpha1/kameletbindings.yaml b/crd-catalog/apache/camel-k/camel.apache.org/v1alpha1/kameletbindings.yaml index 70d2aa33c..e663ed0d4 100644 --- a/crd-catalog/apache/camel-k/camel.apache.org/v1alpha1/kameletbindings.yaml +++ b/crd-catalog/apache/camel-k/camel.apache.org/v1alpha1/kameletbindings.yaml @@ -4749,7 +4749,7 @@ spec: description: "Deprecated: no longer available since version 2.5." type: "boolean" volumes: - description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]" + description: "A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path]. If the PVC is not found, the Integration fails.\nYou can use the syntax [pvcname:/container/path:size:accessMode<:storageClass>] to create a dynamic PVC based on the Storage Class provided\nor the default cluster Storage Class. However, if the PVC exists, the operator would mount it." items: type: "string" type: "array" diff --git a/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1/clusterdefinitions.yaml b/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1/clusterdefinitions.yaml index 9bfed3196..ed07d7ca8 100644 --- a/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1/clusterdefinitions.yaml +++ b/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1/clusterdefinitions.yaml @@ -34,7 +34,7 @@ spec: name: "v1" schema: openAPIV3Schema: - description: "ClusterDefinition defines the topology for databases or storage systems,\noffering a variety of topological configurations to meet diverse deployment needs and scenarios.\n\n\nIt includes a list of Components, each linked to a ComponentDefinition, which enhances reusability and reduce redundancy.\nFor example, widely used components such as etcd and Zookeeper can be defined once and reused across multiple ClusterDefinitions,\nsimplifying the setup of new systems.\n\n\nAdditionally, ClusterDefinition also specifies the sequence of startup, upgrade, and shutdown for Components,\nensuring a controlled and predictable management of component lifecycles." + description: "ClusterDefinition defines the topology for databases or storage systems,\noffering a variety of topological configurations to meet diverse deployment needs and scenarios.\n\n\nIt includes a list of Components and/or Shardings, each linked to a ComponentDefinition or a ShardingDefinition,\nwhich enhances reusability and reduce redundancy.\nFor example, widely used components such as etcd and Zookeeper can be defined once and reused across multiple ClusterDefinitions,\nsimplifying the setup of new systems.\n\n\nAdditionally, ClusterDefinition also specifies the sequence of startup, upgrade, and shutdown between Components and/or Shardings,\nensuring a controlled and predictable management of cluster lifecycles." properties: apiVersion: description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources" @@ -71,7 +71,6 @@ spec: - "name" type: "object" maxItems: 128 - minItems: 1 type: "array" default: description: "Default indicates whether this topology serves as the default configuration.\nWhen set to true, this topology is automatically used unless another is explicitly specified." @@ -84,23 +83,42 @@ spec: description: "Specifies the sequence in which components within a cluster topology are\nstarted, stopped, and upgraded.\nThis ordering is crucial for maintaining the correct dependencies and operational flow across components." properties: provision: - description: "Specifies the order for creating and initializing components.\nThis is designed for components that depend on one another. Components without dependencies can be grouped together.\n\n\nComponents that can be provisioned independently or have no dependencies can be listed together in the same stage,\nseparated by commas." + description: "Specifies the order for creating and initializing entities.\nThis is designed for entities that depend on one another. Entities without dependencies can be grouped together.\n\n\nEntities that can be provisioned independently or have no dependencies can be listed together in the same stage,\nseparated by commas." items: type: "string" type: "array" terminate: - description: "Outlines the order for stopping and deleting components.\nThis sequence is designed for components that require a graceful shutdown or have interdependencies.\n\n\nComponents that can be terminated independently or have no dependencies can be listed together in the same stage,\nseparated by commas." + description: "Outlines the order for stopping and deleting entities.\nThis sequence is designed for entities that require a graceful shutdown or have interdependencies.\n\n\nEntities that can be terminated independently or have no dependencies can be listed together in the same stage,\nseparated by commas." items: type: "string" type: "array" update: - description: "Update determines the order for updating components' specifications, such as image upgrades or resource scaling.\nThis sequence is designed for components that have dependencies or require specific update procedures.\n\n\nComponents that can be updated independently or have no dependencies can be listed together in the same stage,\nseparated by commas." + description: "Update determines the order for updating entities' specifications, such as image upgrades or resource scaling.\nThis sequence is designed for entities that have dependencies or require specific update procedures.\n\n\nEntities that can be updated independently or have no dependencies can be listed together in the same stage,\nseparated by commas." items: type: "string" type: "array" type: "object" + shardings: + description: "Shardings specifies the shardings in the topology." + items: + description: "ClusterTopologySharding defines a sharding within a ClusterTopology." + properties: + name: + description: "Defines the unique identifier of the sharding within the cluster topology.\nIt follows IANA Service naming rules and is used as part of the Service's DNS name.\nThe name must start with a lowercase letter, can contain lowercase letters, numbers,\nand hyphens, and must end with a lowercase letter or number.\n\n\nCannot be updated once set." + maxLength: 16 + pattern: "^[a-z]([a-z0-9\\-]*[a-z0-9])?$" + type: "string" + shardingDef: + description: "Specifies the sharding definition that defines the characteristics and behavior of the sharding.\n\n\nThe system selects the ShardingDefinition CR with the latest version that matches the pattern.\nThis approach allows:\n\n\n1. Precise selection by providing the exact name of a ShardingDefinition CR.\n2. Flexible and automatic selection of the most up-to-date ShardingDefinition CR\nby specifying a regular expression pattern.\n\n\nOnce set, this field cannot be updated." + maxLength: 64 + type: "string" + required: + - "name" + - "shardingDef" + type: "object" + maxItems: 128 + type: "array" required: - - "components" - "name" type: "object" maxItems: 128 diff --git a/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1/clusters.yaml b/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1/clusters.yaml index 405bf3ae9..9ec3d11f8 100644 --- a/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1/clusters.yaml +++ b/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1/clusters.yaml @@ -96,7 +96,7 @@ spec: - message: "clusterDef is immutable" rule: "self == oldSelf" componentSpecs: - description: "Specifies a list of ClusterComponentSpec objects used to define the individual Components that make up a Cluster.\nThis field allows for detailed configuration of each Component within the Cluster.\n\n\nNote: `shardingSpecs` and `componentSpecs` cannot both be empty; at least one must be defined to configure a Cluster." + description: "Specifies a list of ClusterComponentSpec objects used to define the individual Components that make up a Cluster.\nThis field allows for detailed configuration of each Component within the Cluster.\n\n\nNote: `shardings` and `componentSpecs` cannot both be empty; at least one must be defined to configure a Cluster." items: description: "ClusterComponentSpec defines the specification of a Component within a Cluster." properties: @@ -2153,7 +2153,7 @@ spec: description: "Specifies Labels to override or add for underlying Pods, PVCs, Account & TLS Secrets, Services Owned by Component." type: "object" name: - description: "Specifies the Component's name.\nIt's part of the Service DNS name and must comply with the IANA service naming rule.\nThe name is optional when ClusterComponentSpec is used as a template (e.g., in `shardingSpec`),\nbut required otherwise." + description: "Specifies the Component's name.\nIt's part of the Service DNS name and must comply with the IANA service naming rule.\nThe name is optional when ClusterComponentSpec is used as a template (e.g., in `clusterSharding`),\nbut required otherwise." maxLength: 22 pattern: "^[a-z]([a-z0-9\\-]*[a-z0-9])?$" type: "string" @@ -4712,7 +4712,7 @@ spec: type: "array" type: "object" services: - description: "Defines a list of additional Services that are exposed by a Cluster.\nThis field allows Services of selected Components, either from `componentSpecs` or `shardingSpecs` to be exposed,\nalongside Services defined with ComponentService.\n\n\nServices defined here can be referenced by other clusters using the ServiceRefClusterSelector." + description: "Defines a list of additional Services that are exposed by a Cluster.\nThis field allows Services of selected Components, either from `componentSpecs` or `shardings` to be exposed,\nalongside Services defined with ComponentService.\n\n\nServices defined here can be referenced by other clusters using the ServiceRefClusterSelector." items: description: "ClusterService defines a service that is exposed externally, allowing entities outside the cluster to access it.\nFor example, external applications, or other Clusters.\nAnd another Cluster managed by the same KubeBlocks operator can resolve the address exposed by a ClusterService\nusing the `serviceRef` field.\n\n\nWhen a Component needs to access another Cluster's ClusterService using the `serviceRef` field,\nit must also define the service type and version information in the `componentDefinition.spec.serviceRefDeclarations`\nsection." properties: @@ -4860,27 +4860,31 @@ spec: type: "object" type: "array" x-kubernetes-preserve-unknown-fields: true - shardingSpecs: - description: "Specifies a list of ShardingSpec objects that manage the sharding topology for Cluster Components.\nEach ShardingSpec organizes components into shards, with each shard corresponding to a Component.\nComponents within a shard are all based on a common ClusterComponentSpec template, ensuring uniform configurations.\n\n\nThis field supports dynamic resharding by facilitating the addition or removal of shards\nthrough the `shards` field in ShardingSpec.\n\n\nNote: `shardingSpecs` and `componentSpecs` cannot both be empty; at least one must be defined to configure a Cluster." + shardings: + description: "Specifies a list of ClusterSharding objects that manage the sharding topology for Cluster Components.\nEach ClusterSharding organizes components into shards, with each shard corresponding to a Component.\nComponents within a shard are all based on a common ClusterComponentSpec template, ensuring uniform configurations.\n\n\nThis field supports dynamic resharding by facilitating the addition or removal of shards\nthrough the `shards` field in ClusterSharding.\n\n\nNote: `shardings` and `componentSpecs` cannot both be empty; at least one must be defined to configure a Cluster." items: - description: "ShardingSpec defines how KubeBlocks manage dynamic provisioned shards.\nA typical design pattern for distributed databases is to distribute data across multiple shards,\nwith each shard consisting of multiple replicas.\nTherefore, KubeBlocks supports representing a shard with a Component and dynamically instantiating Components\nusing a template when shards are added.\nWhen shards are removed, the corresponding Components are also deleted." + description: "ClusterSharding defines how KubeBlocks manage dynamic provisioned shards.\nA typical design pattern for distributed databases is to distribute data across multiple shards,\nwith each shard consisting of multiple replicas.\nTherefore, KubeBlocks supports representing a shard with a Component and dynamically instantiating Components\nusing a template when shards are added.\nWhen shards are removed, the corresponding Components are also deleted." properties: name: - description: "Represents the common parent part of all shard names.\nThis identifier is included as part of the Service DNS name and must comply with IANA service naming rules.\nIt is used to generate the names of underlying Components following the pattern `$(shardingSpec.name)-$(ShardID)`.\nShardID is a random string that is appended to the Name to generate unique identifiers for each shard.\nFor example, if the sharding specification name is \"my-shard\" and the ShardID is \"abc\", the resulting Component name\nwould be \"my-shard-abc\".\n\n\nNote that the name defined in Component template(`shardingSpec.template.name`) will be disregarded\nwhen generating the Component names of the shards. The `shardingSpec.name` field takes precedence." + description: "Represents the common parent part of all shard names.\n\n\nThis identifier is included as part of the Service DNS name and must comply with IANA service naming rules.\nIt is used to generate the names of underlying Components following the pattern `$(clusterSharding.name)-$(ShardID)`.\nShardID is a random string that is appended to the Name to generate unique identifiers for each shard.\nFor example, if the sharding specification name is \"my-shard\" and the ShardID is \"abc\", the resulting Component name\nwould be \"my-shard-abc\".\n\n\nNote that the name defined in Component template(`clusterSharding.template.name`) will be disregarded\nwhen generating the Component names of the shards. The `clusterSharding.name` field takes precedence." maxLength: 15 pattern: "^[a-z0-9]([a-z0-9\\.\\-]*[a-z0-9])?$" type: "string" x-kubernetes-validations: - message: "name is immutable" rule: "self == oldSelf" + shardingDef: + description: "Specifies the ShardingDefinition custom resource (CR) that defines the sharding's characteristics and behavior.\n\n\nThe full name or regular expression is supported to match the ShardingDefinition." + maxLength: 64 + type: "string" shards: - description: "Specifies the desired number of shards.\nUsers can declare the desired number of shards through this field.\nKubeBlocks dynamically creates and deletes Components based on the difference\nbetween the desired and actual number of shards.\nKubeBlocks provides lifecycle management for sharding, including:\n\n\n- Executing the postProvision Action defined in the ComponentDefinition when the number of shards increases.\n This allows for custom actions to be performed after a new shard is provisioned.\n- Executing the preTerminate Action defined in the ComponentDefinition when the number of shards decreases.\n This enables custom cleanup or data migration tasks to be executed before a shard is terminated.\n Resources and data associated with the corresponding Component will also be deleted." + description: "Specifies the desired number of shards.\n\n\nUsers can declare the desired number of shards through this field.\nKubeBlocks dynamically creates and deletes Components based on the difference\nbetween the desired and actual number of shards.\nKubeBlocks provides lifecycle management for sharding, including:\n\n\n- Executing the shardProvision Action defined in the ShardingDefinition when the number of shards increases.\n This allows for custom actions to be performed after a new shard is provisioned.\n- Executing the shardTerminate Action defined in the ShardingDefinition when the number of shards decreases.\n This enables custom cleanup or data migration tasks to be executed before a shard is terminated.\n Resources and data associated with the corresponding Component will also be deleted." format: "int32" maximum: 2048.0 minimum: 0.0 type: "integer" template: - description: "The template for generating Components for shards, where each shard consists of one Component.\nThis field is of type ClusterComponentSpec, which encapsulates all the required details and\ndefinitions for creating and managing the Components.\nKubeBlocks uses this template to generate a set of identical Components or shards.\nAll the generated Components will have the same specifications and definitions as specified in the `template` field.\n\n\nThis allows for the creation of multiple Components with consistent configurations,\nenabling sharding and distribution of workloads across Components." + description: "The template for generating Components for shards, where each shard consists of one Component.\n\n\nThis field is of type ClusterComponentSpec, which encapsulates all the required details and\ndefinitions for creating and managing the Components.\nKubeBlocks uses this template to generate a set of identical Components of shards.\nAll the generated Components will have the same specifications and definitions as specified in the `template` field.\n\n\nThis allows for the creation of multiple Components with consistent configurations,\nenabling sharding and distribution of workloads across Components." properties: annotations: additionalProperties: @@ -6935,7 +6939,7 @@ spec: description: "Specifies Labels to override or add for underlying Pods, PVCs, Account & TLS Secrets, Services Owned by Component." type: "object" name: - description: "Specifies the Component's name.\nIt's part of the Service DNS name and must comply with the IANA service naming rule.\nThe name is optional when ClusterComponentSpec is used as a template (e.g., in `shardingSpec`),\nbut required otherwise." + description: "Specifies the Component's name.\nIt's part of the Service DNS name and must comply with the IANA service naming rule.\nThe name is optional when ClusterComponentSpec is used as a template (e.g., in `clusterSharding`),\nbut required otherwise." maxLength: 22 pattern: "^[a-z]([a-z0-9\\-]*[a-z0-9])?$" type: "string" @@ -8882,10 +8886,6 @@ spec: status: description: "ClusterStatus defines the observed state of the Cluster." properties: - clusterDefGeneration: - description: "Represents the generation number of the referenced ClusterDefinition." - format: "int64" - type: "integer" components: additionalProperties: description: "ClusterComponentStatus records Component status." @@ -8973,6 +8973,30 @@ spec: - "Failed" - "Abnormal" type: "string" + shardings: + additionalProperties: + description: "ClusterComponentStatus records Component status." + properties: + message: + additionalProperties: + type: "string" + description: "Records detailed information about the Component in its current phase.\nThe keys are either podName, deployName, or statefulSetName, formatted as 'ObjectKind/Name'." + type: "object" + phase: + description: "Specifies the current state of the Component." + enum: + - "Creating" + - "Running" + - "Updating" + - "Stopping" + - "Stopped" + - "Deleting" + - "Failed" + - "Abnormal" + type: "string" + type: "object" + description: "Records the current status information of all shardings within the Cluster." + type: "object" type: "object" type: "object" served: true diff --git a/crd-catalog/argoproj-labs/argocd-operator/argoproj.io/v1alpha1/argocds.yaml b/crd-catalog/argoproj-labs/argocd-operator/argoproj.io/v1alpha1/argocds.yaml index a07b8f79d..98f4d1162 100644 --- a/crd-catalog/argoproj-labs/argocd-operator/argoproj.io/v1alpha1/argocds.yaml +++ b/crd-catalog/argoproj-labs/argocd-operator/argoproj.io/v1alpha1/argocds.yaml @@ -4117,6 +4117,9 @@ spec: required: - "enabled" type: "object" + enableRolloutsUI: + description: "EnableRolloutsUI will add the Argo Rollouts UI extension in ArgoCD Dashboard." + type: "boolean" env: description: "Env lets you specify environment for API server pods" items: diff --git a/crd-catalog/argoproj-labs/argocd-operator/argoproj.io/v1beta1/argocds.yaml b/crd-catalog/argoproj-labs/argocd-operator/argoproj.io/v1beta1/argocds.yaml index 7ff79967f..cde934bf0 100644 --- a/crd-catalog/argoproj-labs/argocd-operator/argoproj.io/v1beta1/argocds.yaml +++ b/crd-catalog/argoproj-labs/argocd-operator/argoproj.io/v1beta1/argocds.yaml @@ -199,6 +199,985 @@ spec: version: description: "Version is the Argo CD ApplicationSet image tag. (optional)" type: "string" + volumeMounts: + description: "VolumeMounts adds volumeMounts to the Argo CD ApplicationSet Controller container." + items: + description: "VolumeMount describes a mounting of a Volume within a container." + properties: + mountPath: + description: "Path within the container at which the volume should be mounted. Must\nnot contain ':'." + type: "string" + mountPropagation: + description: "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10." + type: "string" + name: + description: "This must match the Name of a Volume." + type: "string" + readOnly: + description: "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false." + type: "boolean" + subPath: + description: "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root)." + type: "string" + subPathExpr: + description: "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive." + type: "string" + required: + - "mountPath" + - "name" + type: "object" + type: "array" + volumes: + description: "Volumes adds volumes to the Argo CD ApplicationSet Controller container." + items: + description: "Volume represents a named volume in a pod that may be accessed by any container in the pod." + properties: + awsElasticBlockStore: + description: "awsElasticBlockStore represents an AWS Disk resource that is attached to a\nkubelet's host machine and then exposed to the pod.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore" + properties: + fsType: + description: "fsType is the filesystem type of the volume that you want to mount.\nTip: Ensure that the filesystem type is supported by the host operating system.\nExamples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore\nTODO: how do we prevent errors in the filesystem from compromising the machine" + type: "string" + partition: + description: "partition is the partition in the volume that you want to mount.\nIf omitted, the default is to mount by volume name.\nExamples: For volume /dev/sda1, you specify the partition as \"1\".\nSimilarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty)." + format: "int32" + type: "integer" + readOnly: + description: "readOnly value true will force the readOnly setting in VolumeMounts.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore" + type: "boolean" + volumeID: + description: "volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore" + type: "string" + required: + - "volumeID" + type: "object" + azureDisk: + description: "azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod." + properties: + cachingMode: + description: "cachingMode is the Host Caching mode: None, Read Only, Read Write." + type: "string" + diskName: + description: "diskName is the Name of the data disk in the blob storage" + type: "string" + diskURI: + description: "diskURI is the URI of data disk in the blob storage" + type: "string" + fsType: + description: "fsType is Filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + type: "string" + kind: + description: "kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared" + type: "string" + readOnly: + description: "readOnly Defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts." + type: "boolean" + required: + - "diskName" + - "diskURI" + type: "object" + azureFile: + description: "azureFile represents an Azure File Service mount on the host and bind mount to the pod." + properties: + readOnly: + description: "readOnly defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts." + type: "boolean" + secretName: + description: "secretName is the name of secret that contains Azure Storage Account Name and Key" + type: "string" + shareName: + description: "shareName is the azure share Name" + type: "string" + required: + - "secretName" + - "shareName" + type: "object" + cephfs: + description: "cephFS represents a Ceph FS mount on the host that shares a pod's lifetime" + properties: + monitors: + description: "monitors is Required: Monitors is a collection of Ceph monitors\nMore info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" + items: + type: "string" + type: "array" + path: + description: "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /" + type: "string" + readOnly: + description: "readOnly is Optional: Defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts.\nMore info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" + type: "boolean" + secretFile: + description: "secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret\nMore info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" + type: "string" + secretRef: + description: "secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.\nMore info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" + properties: + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + type: "object" + x-kubernetes-map-type: "atomic" + user: + description: "user is optional: User is the rados user name, default is admin\nMore info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" + type: "string" + required: + - "monitors" + type: "object" + cinder: + description: "cinder represents a cinder volume attached and mounted on kubelets host machine.\nMore info: https://examples.k8s.io/mysql-cinder-pd/README.md" + properties: + fsType: + description: "fsType is the filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nExamples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.\nMore info: https://examples.k8s.io/mysql-cinder-pd/README.md" + type: "string" + readOnly: + description: "readOnly defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts.\nMore info: https://examples.k8s.io/mysql-cinder-pd/README.md" + type: "boolean" + secretRef: + description: "secretRef is optional: points to a secret object containing parameters used to connect\nto OpenStack." + properties: + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + type: "object" + x-kubernetes-map-type: "atomic" + volumeID: + description: "volumeID used to identify the volume in cinder.\nMore info: https://examples.k8s.io/mysql-cinder-pd/README.md" + type: "string" + required: + - "volumeID" + type: "object" + configMap: + description: "configMap represents a configMap that should populate this volume" + properties: + defaultMode: + description: "defaultMode is optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDefaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." + format: "int32" + type: "integer" + items: + description: "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'." + items: + description: "Maps a string key to a path within a volume." + properties: + key: + description: "key is the key to project." + type: "string" + mode: + description: "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." + format: "int32" + type: "integer" + path: + description: "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'." + type: "string" + required: + - "key" + - "path" + type: "object" + type: "array" + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + optional: + description: "optional specify whether the ConfigMap or its keys must be defined" + type: "boolean" + type: "object" + x-kubernetes-map-type: "atomic" + csi: + description: "csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature)." + properties: + driver: + description: "driver is the name of the CSI driver that handles this volume.\nConsult with your admin for the correct name as registered in the cluster." + type: "string" + fsType: + description: "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\".\nIf not provided, the empty value is passed to the associated CSI driver\nwhich will determine the default filesystem to apply." + type: "string" + nodePublishSecretRef: + description: "nodePublishSecretRef is a reference to the secret object containing\nsensitive information to pass to the CSI driver to complete the CSI\nNodePublishVolume and NodeUnpublishVolume calls.\nThis field is optional, and may be empty if no secret is required. If the\nsecret object contains more than one secret, all secret references are passed." + properties: + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + type: "object" + x-kubernetes-map-type: "atomic" + readOnly: + description: "readOnly specifies a read-only configuration for the volume.\nDefaults to false (read/write)." + type: "boolean" + volumeAttributes: + additionalProperties: + type: "string" + description: "volumeAttributes stores driver-specific properties that are passed to the CSI\ndriver. Consult your driver's documentation for supported values." + type: "object" + required: + - "driver" + type: "object" + downwardAPI: + description: "downwardAPI represents downward API about the pod that should populate this volume" + properties: + defaultMode: + description: "Optional: mode bits to use on created files by default. Must be a\nOptional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDefaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." + format: "int32" + type: "integer" + items: + description: "Items is a list of downward API volume file" + items: + description: "DownwardAPIVolumeFile represents information to create the file containing the pod field" + properties: + fieldRef: + description: "Required: Selects a field of the pod: only annotations, labels, name and namespace are supported." + properties: + apiVersion: + description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." + type: "string" + fieldPath: + description: "Path of the field to select in the specified API version." + type: "string" + required: + - "fieldPath" + type: "object" + x-kubernetes-map-type: "atomic" + mode: + description: "Optional: mode bits used to set permissions on this file, must be an octal value\nbetween 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." + format: "int32" + type: "integer" + path: + description: "Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'" + type: "string" + resourceFieldRef: + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported." + properties: + containerName: + description: "Container name: required for volumes, optional for env vars" + type: "string" + divisor: + anyOf: + - type: "integer" + - type: "string" + description: "Specifies the output format of the exposed resources, defaults to \"1\"" + pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" + x-kubernetes-int-or-string: true + resource: + description: "Required: resource to select" + type: "string" + required: + - "resource" + type: "object" + x-kubernetes-map-type: "atomic" + required: + - "path" + type: "object" + type: "array" + type: "object" + emptyDir: + description: "emptyDir represents a temporary directory that shares a pod's lifetime.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + properties: + medium: + description: "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + type: "string" + sizeLimit: + anyOf: + - type: "integer" + - type: "string" + description: "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" + x-kubernetes-int-or-string: true + type: "object" + ephemeral: + description: "ephemeral represents a volume that is handled by a cluster storage driver.\nThe volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,\nand deleted when the pod is removed.\n\n\nUse this if:\na) the volume is only needed while the pod runs,\nb) features of normal volumes like restoring from snapshot or capacity\n tracking are needed,\nc) the storage driver is specified through a storage class, and\nd) the storage driver supports dynamic volume provisioning through\n a PersistentVolumeClaim (see EphemeralVolumeSource for more\n information on the connection between this volume type\n and PersistentVolumeClaim).\n\n\nUse PersistentVolumeClaim or one of the vendor-specific\nAPIs for volumes that persist for longer than the lifecycle\nof an individual pod.\n\n\nUse CSI for light-weight local ephemeral volumes if the CSI driver is meant to\nbe used that way - see the documentation of the driver for\nmore information.\n\n\nA pod can use both types of ephemeral volumes and\npersistent volumes at the same time." + properties: + volumeClaimTemplate: + description: "Will be used to create a stand-alone PVC to provision the volume.\nThe pod in which this EphemeralVolumeSource is embedded will be the\nowner of the PVC, i.e. the PVC will be deleted together with the\npod. The name of the PVC will be `-` where\n`` is the name from the `PodSpec.Volumes` array\nentry. Pod validation will reject the pod if the concatenated name\nis not valid for a PVC (for example, too long).\n\n\nAn existing PVC with that name that is not owned by the pod\nwill *not* be used for the pod to avoid using an unrelated\nvolume by mistake. Starting the pod is then blocked until\nthe unrelated PVC is removed. If such a pre-created PVC is\nmeant to be used by the pod, the PVC has to updated with an\nowner reference to the pod once the pod exists. Normally\nthis should not be necessary, but it may be useful when\nmanually reconstructing a broken cluster.\n\n\nThis field is read-only and no changes will be made by Kubernetes\nto the PVC after it has been created.\n\n\nRequired, must not be nil." + properties: + metadata: + description: "May contain labels and annotations that will be copied into the PVC\nwhen creating it. No other fields are allowed and will be rejected during\nvalidation." + type: "object" + spec: + description: "The specification for the PersistentVolumeClaim. The entire content is\ncopied unchanged into the PVC that gets created from this\ntemplate. The same fields as in a PersistentVolumeClaim\nare also valid here." + properties: + accessModes: + description: "accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + items: + type: "string" + type: "array" + dataSource: + description: "dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource." + properties: + apiGroup: + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." + type: "string" + kind: + description: "Kind is the type of resource being referenced" + type: "string" + name: + description: "Name is the name of resource being referenced" + type: "string" + required: + - "kind" + - "name" + type: "object" + x-kubernetes-map-type: "atomic" + dataSourceRef: + description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled." + properties: + apiGroup: + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." + type: "string" + kind: + description: "Kind is the type of resource being referenced" + type: "string" + name: + description: "Name is the name of resource being referenced" + type: "string" + namespace: + description: "Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled." + type: "string" + required: + - "kind" + - "name" + type: "object" + resources: + description: "resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" + properties: + claims: + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." + items: + description: "ResourceClaim references one entry in PodSpec.ResourceClaims." + properties: + name: + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" + limits: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" + x-kubernetes-int-or-string: true + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + type: "object" + requests: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" + x-kubernetes-int-or-string: true + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + type: "object" + type: "object" + selector: + description: "selector is a label query over volumes to consider for binding." + properties: + matchExpressions: + description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." + items: + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + properties: + key: + description: "key is the label key that the selector applies to." + type: "string" + operator: + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + type: "string" + values: + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." + items: + type: "string" + type: "array" + required: + - "key" + - "operator" + type: "object" + type: "array" + matchLabels: + additionalProperties: + type: "string" + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + type: "object" + type: "object" + x-kubernetes-map-type: "atomic" + storageClassName: + description: "storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" + type: "string" + volumeMode: + description: "volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec." + type: "string" + volumeName: + description: "volumeName is the binding reference to the PersistentVolume backing this claim." + type: "string" + type: "object" + required: + - "spec" + type: "object" + type: "object" + fc: + description: "fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod." + properties: + fsType: + description: "fsType is the filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.\nTODO: how do we prevent errors in the filesystem from compromising the machine" + type: "string" + lun: + description: "lun is Optional: FC target lun number" + format: "int32" + type: "integer" + readOnly: + description: "readOnly is Optional: Defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts." + type: "boolean" + targetWWNs: + description: "targetWWNs is Optional: FC target worldwide names (WWNs)" + items: + type: "string" + type: "array" + wwids: + description: "wwids Optional: FC volume world wide identifiers (wwids)\nEither wwids or combination of targetWWNs and lun must be set, but not both simultaneously." + items: + type: "string" + type: "array" + type: "object" + flexVolume: + description: "flexVolume represents a generic volume resource that is\nprovisioned/attached using an exec based plugin." + properties: + driver: + description: "driver is the name of the driver to use for this volume." + type: "string" + fsType: + description: "fsType is the filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script." + type: "string" + options: + additionalProperties: + type: "string" + description: "options is Optional: this field holds extra command options if any." + type: "object" + readOnly: + description: "readOnly is Optional: defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts." + type: "boolean" + secretRef: + description: "secretRef is Optional: secretRef is reference to the secret object containing\nsensitive information to pass to the plugin scripts. This may be\nempty if no secret object is specified. If the secret object\ncontains more than one secret, all secrets are passed to the plugin\nscripts." + properties: + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + type: "object" + x-kubernetes-map-type: "atomic" + required: + - "driver" + type: "object" + flocker: + description: "flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running" + properties: + datasetName: + description: "datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker\nshould be considered as deprecated" + type: "string" + datasetUUID: + description: "datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset" + type: "string" + type: "object" + gcePersistentDisk: + description: "gcePersistentDisk represents a GCE Disk resource that is attached to a\nkubelet's host machine and then exposed to the pod.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk" + properties: + fsType: + description: "fsType is filesystem type of the volume that you want to mount.\nTip: Ensure that the filesystem type is supported by the host operating system.\nExamples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk\nTODO: how do we prevent errors in the filesystem from compromising the machine" + type: "string" + partition: + description: "partition is the partition in the volume that you want to mount.\nIf omitted, the default is to mount by volume name.\nExamples: For volume /dev/sda1, you specify the partition as \"1\".\nSimilarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty).\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk" + format: "int32" + type: "integer" + pdName: + description: "pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk" + type: "string" + readOnly: + description: "readOnly here will force the ReadOnly setting in VolumeMounts.\nDefaults to false.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk" + type: "boolean" + required: + - "pdName" + type: "object" + gitRepo: + description: "gitRepo represents a git repository at a particular revision.\nDEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an\nEmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir\ninto the Pod's container." + properties: + directory: + description: "directory is the target directory name.\nMust not contain or start with '..'. If '.' is supplied, the volume directory will be the\ngit repository. Otherwise, if specified, the volume will contain the git repository in\nthe subdirectory with the given name." + type: "string" + repository: + description: "repository is the URL" + type: "string" + revision: + description: "revision is the commit hash for the specified revision." + type: "string" + required: + - "repository" + type: "object" + glusterfs: + description: "glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.\nMore info: https://examples.k8s.io/volumes/glusterfs/README.md" + properties: + endpoints: + description: "endpoints is the endpoint name that details Glusterfs topology.\nMore info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod" + type: "string" + path: + description: "path is the Glusterfs volume path.\nMore info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod" + type: "string" + readOnly: + description: "readOnly here will force the Glusterfs volume to be mounted with read-only permissions.\nDefaults to false.\nMore info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod" + type: "boolean" + required: + - "endpoints" + - "path" + type: "object" + hostPath: + description: "hostPath represents a pre-existing file or directory on the host\nmachine that is directly exposed to the container. This is generally\nused for system agents or other privileged things that are allowed\nto see the host machine. Most containers will NOT need this.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath\n---\nTODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not\nmount host directories as read/write." + properties: + path: + description: "path of the directory on the host.\nIf the path is a symlink, it will follow the link to the real path.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath" + type: "string" + type: + description: "type for HostPath Volume\nDefaults to \"\"\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath" + type: "string" + required: + - "path" + type: "object" + iscsi: + description: "iscsi represents an ISCSI Disk resource that is attached to a\nkubelet's host machine and then exposed to the pod.\nMore info: https://examples.k8s.io/volumes/iscsi/README.md" + properties: + chapAuthDiscovery: + description: "chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication" + type: "boolean" + chapAuthSession: + description: "chapAuthSession defines whether support iSCSI Session CHAP authentication" + type: "boolean" + fsType: + description: "fsType is the filesystem type of the volume that you want to mount.\nTip: Ensure that the filesystem type is supported by the host operating system.\nExamples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi\nTODO: how do we prevent errors in the filesystem from compromising the machine" + type: "string" + initiatorName: + description: "initiatorName is the custom iSCSI Initiator Name.\nIf initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface\n: will be created for the connection." + type: "string" + iqn: + description: "iqn is the target iSCSI Qualified Name." + type: "string" + iscsiInterface: + description: "iscsiInterface is the interface Name that uses an iSCSI transport.\nDefaults to 'default' (tcp)." + type: "string" + lun: + description: "lun represents iSCSI Target Lun number." + format: "int32" + type: "integer" + portals: + description: "portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port\nis other than default (typically TCP ports 860 and 3260)." + items: + type: "string" + type: "array" + readOnly: + description: "readOnly here will force the ReadOnly setting in VolumeMounts.\nDefaults to false." + type: "boolean" + secretRef: + description: "secretRef is the CHAP Secret for iSCSI target and initiator authentication" + properties: + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + type: "object" + x-kubernetes-map-type: "atomic" + targetPortal: + description: "targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port\nis other than default (typically TCP ports 860 and 3260)." + type: "string" + required: + - "iqn" + - "lun" + - "targetPortal" + type: "object" + name: + description: "name of the volume.\nMust be a DNS_LABEL and unique within the pod.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names" + type: "string" + nfs: + description: "nfs represents an NFS mount on the host that shares a pod's lifetime\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" + properties: + path: + description: "path that is exported by the NFS server.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" + type: "string" + readOnly: + description: "readOnly here will force the NFS export to be mounted with read-only permissions.\nDefaults to false.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" + type: "boolean" + server: + description: "server is the hostname or IP address of the NFS server.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" + type: "string" + required: + - "path" + - "server" + type: "object" + persistentVolumeClaim: + description: "persistentVolumeClaimVolumeSource represents a reference to a\nPersistentVolumeClaim in the same namespace.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + properties: + claimName: + description: "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + type: "string" + readOnly: + description: "readOnly Will force the ReadOnly setting in VolumeMounts.\nDefault false." + type: "boolean" + required: + - "claimName" + type: "object" + photonPersistentDisk: + description: "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine" + properties: + fsType: + description: "fsType is the filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + type: "string" + pdID: + description: "pdID is the ID that identifies Photon Controller persistent disk" + type: "string" + required: + - "pdID" + type: "object" + portworxVolume: + description: "portworxVolume represents a portworx volume attached and mounted on kubelets host machine" + properties: + fsType: + description: "fSType represents the filesystem type to mount\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified." + type: "string" + readOnly: + description: "readOnly defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts." + type: "boolean" + volumeID: + description: "volumeID uniquely identifies a Portworx volume" + type: "string" + required: + - "volumeID" + type: "object" + projected: + description: "projected items for all in one resources secrets, configmaps, and downward API" + properties: + defaultMode: + description: "defaultMode are the mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." + format: "int32" + type: "integer" + sources: + description: "sources is the list of volume projections" + items: + description: "Projection that may be projected along with other supported volume types" + properties: + configMap: + description: "configMap information about the configMap data to project" + properties: + items: + description: "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'." + items: + description: "Maps a string key to a path within a volume." + properties: + key: + description: "key is the key to project." + type: "string" + mode: + description: "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." + format: "int32" + type: "integer" + path: + description: "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'." + type: "string" + required: + - "key" + - "path" + type: "object" + type: "array" + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + optional: + description: "optional specify whether the ConfigMap or its keys must be defined" + type: "boolean" + type: "object" + x-kubernetes-map-type: "atomic" + downwardAPI: + description: "downwardAPI information about the downwardAPI data to project" + properties: + items: + description: "Items is a list of DownwardAPIVolume file" + items: + description: "DownwardAPIVolumeFile represents information to create the file containing the pod field" + properties: + fieldRef: + description: "Required: Selects a field of the pod: only annotations, labels, name and namespace are supported." + properties: + apiVersion: + description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." + type: "string" + fieldPath: + description: "Path of the field to select in the specified API version." + type: "string" + required: + - "fieldPath" + type: "object" + x-kubernetes-map-type: "atomic" + mode: + description: "Optional: mode bits used to set permissions on this file, must be an octal value\nbetween 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." + format: "int32" + type: "integer" + path: + description: "Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'" + type: "string" + resourceFieldRef: + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported." + properties: + containerName: + description: "Container name: required for volumes, optional for env vars" + type: "string" + divisor: + anyOf: + - type: "integer" + - type: "string" + description: "Specifies the output format of the exposed resources, defaults to \"1\"" + pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" + x-kubernetes-int-or-string: true + resource: + description: "Required: resource to select" + type: "string" + required: + - "resource" + type: "object" + x-kubernetes-map-type: "atomic" + required: + - "path" + type: "object" + type: "array" + type: "object" + secret: + description: "secret information about the secret data to project" + properties: + items: + description: "items if unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'." + items: + description: "Maps a string key to a path within a volume." + properties: + key: + description: "key is the key to project." + type: "string" + mode: + description: "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." + format: "int32" + type: "integer" + path: + description: "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'." + type: "string" + required: + - "key" + - "path" + type: "object" + type: "array" + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + optional: + description: "optional field specify whether the Secret or its key must be defined" + type: "boolean" + type: "object" + x-kubernetes-map-type: "atomic" + serviceAccountToken: + description: "serviceAccountToken is information about the serviceAccountToken data to project" + properties: + audience: + description: "audience is the intended audience of the token. A recipient of a token\nmust identify itself with an identifier specified in the audience of the\ntoken, and otherwise should reject the token. The audience defaults to the\nidentifier of the apiserver." + type: "string" + expirationSeconds: + description: "expirationSeconds is the requested duration of validity of the service\naccount token. As the token approaches expiration, the kubelet volume\nplugin will proactively rotate the service account token. The kubelet will\nstart trying to rotate the token if the token is older than 80 percent of\nits time to live or if the token is older than 24 hours.Defaults to 1 hour\nand must be at least 10 minutes." + format: "int64" + type: "integer" + path: + description: "path is the path relative to the mount point of the file to project the\ntoken into." + type: "string" + required: + - "path" + type: "object" + type: "object" + type: "array" + type: "object" + quobyte: + description: "quobyte represents a Quobyte mount on the host that shares a pod's lifetime" + properties: + group: + description: "group to map volume access to\nDefault is no group" + type: "string" + readOnly: + description: "readOnly here will force the Quobyte volume to be mounted with read-only permissions.\nDefaults to false." + type: "boolean" + registry: + description: "registry represents a single or multiple Quobyte Registry services\nspecified as a string as host:port pair (multiple entries are separated with commas)\nwhich acts as the central registry for volumes" + type: "string" + tenant: + description: "tenant owning the given Quobyte volume in the Backend\nUsed with dynamically provisioned Quobyte volumes, value is set by the plugin" + type: "string" + user: + description: "user to map volume access to\nDefaults to serivceaccount user" + type: "string" + volume: + description: "volume is a string that references an already created Quobyte volume by name." + type: "string" + required: + - "registry" + - "volume" + type: "object" + rbd: + description: "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.\nMore info: https://examples.k8s.io/volumes/rbd/README.md" + properties: + fsType: + description: "fsType is the filesystem type of the volume that you want to mount.\nTip: Ensure that the filesystem type is supported by the host operating system.\nExamples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#rbd\nTODO: how do we prevent errors in the filesystem from compromising the machine" + type: "string" + image: + description: "image is the rados image name.\nMore info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" + type: "string" + keyring: + description: "keyring is the path to key ring for RBDUser.\nDefault is /etc/ceph/keyring.\nMore info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" + type: "string" + monitors: + description: "monitors is a collection of Ceph monitors.\nMore info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" + items: + type: "string" + type: "array" + pool: + description: "pool is the rados pool name.\nDefault is rbd.\nMore info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" + type: "string" + readOnly: + description: "readOnly here will force the ReadOnly setting in VolumeMounts.\nDefaults to false.\nMore info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" + type: "boolean" + secretRef: + description: "secretRef is name of the authentication secret for RBDUser. If provided\noverrides keyring.\nDefault is nil.\nMore info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" + properties: + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + type: "object" + x-kubernetes-map-type: "atomic" + user: + description: "user is the rados user name.\nDefault is admin.\nMore info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" + type: "string" + required: + - "image" + - "monitors" + type: "object" + scaleIO: + description: "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes." + properties: + fsType: + description: "fsType is the filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\", \"ntfs\".\nDefault is \"xfs\"." + type: "string" + gateway: + description: "gateway is the host address of the ScaleIO API Gateway." + type: "string" + protectionDomain: + description: "protectionDomain is the name of the ScaleIO Protection Domain for the configured storage." + type: "string" + readOnly: + description: "readOnly Defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts." + type: "boolean" + secretRef: + description: "secretRef references to the secret for ScaleIO user and other\nsensitive information. If this is not provided, Login operation will fail." + properties: + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + type: "object" + x-kubernetes-map-type: "atomic" + sslEnabled: + description: "sslEnabled Flag enable/disable SSL communication with Gateway, default false" + type: "boolean" + storageMode: + description: "storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.\nDefault is ThinProvisioned." + type: "string" + storagePool: + description: "storagePool is the ScaleIO Storage Pool associated with the protection domain." + type: "string" + system: + description: "system is the name of the storage system as configured in ScaleIO." + type: "string" + volumeName: + description: "volumeName is the name of a volume already created in the ScaleIO system\nthat is associated with this volume source." + type: "string" + required: + - "gateway" + - "secretRef" + - "system" + type: "object" + secret: + description: "secret represents a secret that should populate this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#secret" + properties: + defaultMode: + description: "defaultMode is Optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values\nfor mode bits. Defaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." + format: "int32" + type: "integer" + items: + description: "items If unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'." + items: + description: "Maps a string key to a path within a volume." + properties: + key: + description: "key is the key to project." + type: "string" + mode: + description: "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." + format: "int32" + type: "integer" + path: + description: "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'." + type: "string" + required: + - "key" + - "path" + type: "object" + type: "array" + optional: + description: "optional field specify whether the Secret or its keys must be defined" + type: "boolean" + secretName: + description: "secretName is the name of the secret in the pod's namespace to use.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#secret" + type: "string" + type: "object" + storageos: + description: "storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes." + properties: + fsType: + description: "fsType is the filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + type: "string" + readOnly: + description: "readOnly defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts." + type: "boolean" + secretRef: + description: "secretRef specifies the secret to use for obtaining the StorageOS API\ncredentials. If not specified, default values will be attempted." + properties: + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + type: "object" + x-kubernetes-map-type: "atomic" + volumeName: + description: "volumeName is the human-readable name of the StorageOS volume. Volume\nnames are only unique within a namespace." + type: "string" + volumeNamespace: + description: "volumeNamespace specifies the scope of the volume within StorageOS. If no\nnamespace is specified then the Pod's namespace will be used. This allows the\nKubernetes name scoping to be mirrored within StorageOS for tighter integration.\nSet VolumeName to any name to override the default behaviour.\nSet to \"default\" if you are not using namespaces within StorageOS.\nNamespaces that do not pre-exist within StorageOS will be created." + type: "string" + type: "object" + vsphereVolume: + description: "vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine" + properties: + fsType: + description: "fsType is filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + type: "string" + storagePolicyID: + description: "storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName." + type: "string" + storagePolicyName: + description: "storagePolicyName is the storage Policy Based Management (SPBM) profile name." + type: "string" + volumePath: + description: "volumePath is the path that identifies vSphere volume vmdk" + type: "string" + required: + - "volumePath" + type: "object" + required: + - "name" + type: "object" + type: "array" webhookServer: description: "WebhookServerSpec defines the options for the ApplicationSet Webhook Server component." properties: @@ -6746,6 +7725,9 @@ spec: required: - "enabled" type: "object" + enableRolloutsUI: + description: "EnableRolloutsUI will add the Argo Rollouts UI extension in ArgoCD Dashboard." + type: "boolean" enabled: description: "Enabled is the flag to enable ArgoCD Server during ArgoCD installation. (optional, default `true`)" type: "boolean" diff --git a/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/apis.yaml b/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/apis.yaml index e1980a670..ff4daf82d 100644 --- a/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/apis.yaml +++ b/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/apis.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "apis.apigatewayv2.services.k8s.aws" spec: group: "apigatewayv2.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "ApiSpec defines the desired state of Api.\n\n\nRepresents an API." + description: "ApiSpec defines the desired state of Api.\n\nRepresents an API." properties: apiKeySelectionExpression: type: "string" @@ -99,7 +99,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/authorizers.yaml b/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/authorizers.yaml index 27e45829b..03570862d 100644 --- a/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/authorizers.yaml +++ b/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/authorizers.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "authorizers.apigatewayv2.services.k8s.aws" spec: group: "apigatewayv2.services.k8s.aws" @@ -27,12 +27,12 @@ spec: metadata: type: "object" spec: - description: "AuthorizerSpec defines the desired state of Authorizer.\n\n\nRepresents an authorizer." + description: "AuthorizerSpec defines the desired state of Authorizer.\n\nRepresents an authorizer." properties: apiID: type: "string" apiRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -87,7 +87,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/deployments.yaml b/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/deployments.yaml index 5556ff6f4..19c6039dc 100644 --- a/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/deployments.yaml +++ b/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/deployments.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "deployments.apigatewayv2.services.k8s.aws" spec: group: "apigatewayv2.services.k8s.aws" @@ -27,12 +27,12 @@ spec: metadata: type: "object" spec: - description: "DeploymentSpec defines the desired state of Deployment.\n\n\nAn immutable representation of an API that can be called by users. A Deployment\nmust be associated with a Stage for it to be callable over the internet." + description: "DeploymentSpec defines the desired state of Deployment.\n\nAn immutable representation of an API that can be called by users. A Deployment\nmust be associated with a Stage for it to be callable over the internet." properties: apiID: type: "string" apiRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -55,7 +55,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/integrations.yaml b/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/integrations.yaml index 01a64d338..2618992f8 100644 --- a/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/integrations.yaml +++ b/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/integrations.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "integrations.apigatewayv2.services.k8s.aws" spec: group: "apigatewayv2.services.k8s.aws" @@ -27,12 +27,12 @@ spec: metadata: type: "object" spec: - description: "IntegrationSpec defines the desired state of Integration.\n\n\nRepresents an integration." + description: "IntegrationSpec defines the desired state of Integration.\n\nRepresents an integration." properties: apiID: type: "string" apiRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -46,7 +46,7 @@ spec: connectionID: type: "string" connectionRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -113,7 +113,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/routes.yaml b/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/routes.yaml index d291ac468..45a0f23bc 100644 --- a/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/routes.yaml +++ b/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/routes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "routes.apigatewayv2.services.k8s.aws" spec: group: "apigatewayv2.services.k8s.aws" @@ -27,14 +27,14 @@ spec: metadata: type: "object" spec: - description: "RouteSpec defines the desired state of Route.\n\n\nRepresents a route." + description: "RouteSpec defines the desired state of Route.\n\nRepresents a route." properties: apiID: type: "string" apiKeyRequired: type: "boolean" apiRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -54,7 +54,7 @@ spec: authorizerID: type: "string" authorizerRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -88,7 +88,7 @@ spec: target: type: "string" targetRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -109,7 +109,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/stages.yaml b/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/stages.yaml index 80241cf43..0c615a957 100644 --- a/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/stages.yaml +++ b/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/stages.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "stages.apigatewayv2.services.k8s.aws" spec: group: "apigatewayv2.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "StageSpec defines the desired state of Stage.\n\n\nRepresents an API stage." + description: "StageSpec defines the desired state of Stage.\n\nRepresents an API stage." properties: accessLogSettings: description: "Settings for logging access in a stage." @@ -42,7 +42,7 @@ spec: apiID: type: "string" apiRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -76,7 +76,7 @@ spec: deploymentID: type: "string" deploymentRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -127,7 +127,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/vpclinks.yaml b/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/vpclinks.yaml index 9d58ffa5c..8262d7694 100644 --- a/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/vpclinks.yaml +++ b/crd-catalog/aws-controllers-k8s/apigatewayv2-controller/apigatewayv2.services.k8s.aws/v1alpha1/vpclinks.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "vpclinks.apigatewayv2.services.k8s.aws" spec: group: "apigatewayv2.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "VpcLinkSpec defines the desired state of VpcLink.\n\n\nRepresents a VPC link." + description: "VpcLinkSpec defines the desired state of VpcLink.\n\nRepresents a VPC link." properties: name: type: "string" @@ -54,7 +54,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/applicationautoscaling-controller/applicationautoscaling.services.k8s.aws/v1alpha1/scalabletargets.yaml b/crd-catalog/aws-controllers-k8s/applicationautoscaling-controller/applicationautoscaling.services.k8s.aws/v1alpha1/scalabletargets.yaml index ff5c67219..dd3cab5a3 100644 --- a/crd-catalog/aws-controllers-k8s/applicationautoscaling-controller/applicationautoscaling.services.k8s.aws/v1alpha1/scalabletargets.yaml +++ b/crd-catalog/aws-controllers-k8s/applicationautoscaling-controller/applicationautoscaling.services.k8s.aws/v1alpha1/scalabletargets.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "scalabletargets.applicationautoscaling.services.k8s.aws" spec: group: "applicationautoscaling.services.k8s.aws" @@ -27,30 +27,30 @@ spec: metadata: type: "object" spec: - description: "ScalableTargetSpec defines the desired state of ScalableTarget.\n\n\nRepresents a scalable target." + description: "ScalableTargetSpec defines the desired state of ScalableTarget.\n\nRepresents a scalable target." properties: maxCapacity: - description: "The maximum value that you plan to scale out to. When a scaling policy is\nin effect, Application Auto Scaling can scale out (expand) as needed to the\nmaximum capacity limit in response to changing demand. This property is required\nwhen registering a new scalable target.\n\n\nAlthough you can specify a large maximum capacity, note that service quotas\nmay impose lower limits. Each service has its own default quotas for the\nmaximum capacity of the resource. If you want to specify a higher limit,\nyou can request an increase. For more information, consult the documentation\nfor that service. For information about the default quotas for each service,\nsee Service Endpoints and Quotas (https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)\nin the Amazon Web Services General Reference." + description: "The maximum value that you plan to scale out to. When a scaling policy is\nin effect, Application Auto Scaling can scale out (expand) as needed to the\nmaximum capacity limit in response to changing demand. This property is required\nwhen registering a new scalable target.\n\nAlthough you can specify a large maximum capacity, note that service quotas\nmay impose lower limits. Each service has its own default quotas for the\nmaximum capacity of the resource. If you want to specify a higher limit,\nyou can request an increase. For more information, consult the documentation\nfor that service. For information about the default quotas for each service,\nsee Service Endpoints and Quotas (https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)\nin the Amazon Web Services General Reference." format: "int64" type: "integer" minCapacity: - description: "The minimum value that you plan to scale in to. When a scaling policy is\nin effect, Application Auto Scaling can scale in (contract) as needed to\nthe minimum capacity limit in response to changing demand. This property\nis required when registering a new scalable target.\n\n\nFor certain resources, the minimum value allowed is 0. This includes Lambda\nprovisioned concurrency, Spot Fleet, ECS services, Aurora DB clusters, EMR\nclusters, and custom resources. For all other resources, the minimum value\nallowed is 1." + description: "The minimum value that you plan to scale in to. When a scaling policy is\nin effect, Application Auto Scaling can scale in (contract) as needed to\nthe minimum capacity limit in response to changing demand. This property\nis required when registering a new scalable target.\n\nFor certain resources, the minimum value allowed is 0. This includes Lambda\nprovisioned concurrency, Spot Fleet, ECS services, Aurora DB clusters, EMR\nclusters, and custom resources. For all other resources, the minimum value\nallowed is 1." format: "int64" type: "integer" resourceID: - description: "The identifier of the resource that is associated with the scalable target.\nThis string consists of the resource type and unique identifier.\n\n\n * ECS service - The resource type is service and the unique identifier\n is the cluster name and service name. Example: service/default/sample-webapp.\n\n\n * Spot Fleet - The resource type is spot-fleet-request and the unique\n identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.\n\n\n * EMR cluster - The resource type is instancegroup and the unique identifier\n is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.\n\n\n * AppStream 2.0 fleet - The resource type is fleet and the unique identifier\n is the fleet name. Example: fleet/sample-fleet.\n\n\n * DynamoDB table - The resource type is table and the unique identifier\n is the table name. Example: table/my-table.\n\n\n * DynamoDB global secondary index - The resource type is index and the\n unique identifier is the index name. Example: table/my-table/index/my-table-index.\n\n\n * Aurora DB cluster - The resource type is cluster and the unique identifier\n is the cluster name. Example: cluster:my-db-cluster.\n\n\n * SageMaker endpoint variant - The resource type is variant and the unique\n identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.\n\n\n * Custom resources are not supported with a resource type. This parameter\n must specify the OutputValue from the CloudFormation template stack used\n to access the resources. The unique identifier is defined by the service\n provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource).\n\n\n * Amazon Comprehend document classification endpoint - The resource type\n and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.\n\n\n * Amazon Comprehend entity recognizer endpoint - The resource type and\n unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.\n\n\n * Lambda provisioned concurrency - The resource type is function and the\n unique identifier is the function name with a function version or alias\n name suffix that is not $LATEST. Example: function:my-function:prod or\n function:my-function:1.\n\n\n * Amazon Keyspaces table - The resource type is table and the unique identifier\n is the table name. Example: keyspace/mykeyspace/table/mytable.\n\n\n * Amazon MSK cluster - The resource type and unique identifier are specified\n using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.\n\n\n * Amazon ElastiCache replication group - The resource type is replication-group\n and the unique identifier is the replication group name. Example: replication-group/mycluster.\n\n\n * Neptune cluster - The resource type is cluster and the unique identifier\n is the cluster name. Example: cluster:mycluster." + description: "The identifier of the resource that is associated with the scalable target.\nThis string consists of the resource type and unique identifier.\n\n * ECS service - The resource type is service and the unique identifier\n is the cluster name and service name. Example: service/default/sample-webapp.\n\n * Spot Fleet - The resource type is spot-fleet-request and the unique\n identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.\n\n * EMR cluster - The resource type is instancegroup and the unique identifier\n is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.\n\n * AppStream 2.0 fleet - The resource type is fleet and the unique identifier\n is the fleet name. Example: fleet/sample-fleet.\n\n * DynamoDB table - The resource type is table and the unique identifier\n is the table name. Example: table/my-table.\n\n * DynamoDB global secondary index - The resource type is index and the\n unique identifier is the index name. Example: table/my-table/index/my-table-index.\n\n * Aurora DB cluster - The resource type is cluster and the unique identifier\n is the cluster name. Example: cluster:my-db-cluster.\n\n * SageMaker endpoint variant - The resource type is variant and the unique\n identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.\n\n * Custom resources are not supported with a resource type. This parameter\n must specify the OutputValue from the CloudFormation template stack used\n to access the resources. The unique identifier is defined by the service\n provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource).\n\n * Amazon Comprehend document classification endpoint - The resource type\n and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.\n\n * Amazon Comprehend entity recognizer endpoint - The resource type and\n unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.\n\n * Lambda provisioned concurrency - The resource type is function and the\n unique identifier is the function name with a function version or alias\n name suffix that is not $LATEST. Example: function:my-function:prod or\n function:my-function:1.\n\n * Amazon Keyspaces table - The resource type is table and the unique identifier\n is the table name. Example: keyspace/mykeyspace/table/mytable.\n\n * Amazon MSK cluster - The resource type and unique identifier are specified\n using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.\n\n * Amazon ElastiCache replication group - The resource type is replication-group\n and the unique identifier is the replication group name. Example: replication-group/mycluster.\n\n * Neptune cluster - The resource type is cluster and the unique identifier\n is the cluster name. Example: cluster:mycluster." type: "string" roleARN: - description: "This parameter is required for services that do not support service-linked\nroles (such as Amazon EMR), and it must specify the ARN of an IAM role that\nallows Application Auto Scaling to modify the scalable target on your behalf.\n\n\nIf the service supports service-linked roles, Application Auto Scaling uses\na service-linked role, which it creates if it does not yet exist. For more\ninformation, see Application Auto Scaling IAM roles (https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles)." + description: "This parameter is required for services that do not support service-linked\nroles (such as Amazon EMR), and it must specify the ARN of an IAM role that\nallows Application Auto Scaling to modify the scalable target on your behalf.\n\nIf the service supports service-linked roles, Application Auto Scaling uses\na service-linked role, which it creates if it does not yet exist. For more\ninformation, see Application Auto Scaling IAM roles (https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles)." type: "string" scalableDimension: - description: "The scalable dimension associated with the scalable target. This string consists\nof the service namespace, resource type, and scaling property.\n\n\n * ecs:service:DesiredCount - The desired task count of an ECS service.\n\n\n * elasticmapreduce:instancegroup:InstanceCount - The instance count of\n an EMR Instance Group.\n\n\n * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot\n Fleet.\n\n\n * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream\n 2.0 fleet.\n\n\n * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for\n a DynamoDB table.\n\n\n * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for\n a DynamoDB table.\n\n\n * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for\n a DynamoDB global secondary index.\n\n\n * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for\n a DynamoDB global secondary index.\n\n\n * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora\n DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible\n edition.\n\n\n * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances\n for an SageMaker model endpoint variant.\n\n\n * custom-resource:ResourceType:Property - The scalable dimension for a\n custom resource provided by your own application or service.\n\n\n * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The\n number of inference units for an Amazon Comprehend document classification\n endpoint.\n\n\n * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number\n of inference units for an Amazon Comprehend entity recognizer endpoint.\n\n\n * lambda:function:ProvisionedConcurrency - The provisioned concurrency\n for a Lambda function.\n\n\n * cassandra:table:ReadCapacityUnits - The provisioned read capacity for\n an Amazon Keyspaces table.\n\n\n * cassandra:table:WriteCapacityUnits - The provisioned write capacity\n for an Amazon Keyspaces table.\n\n\n * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB)\n for brokers in an Amazon MSK cluster.\n\n\n * elasticache:replication-group:NodeGroups - The number of node groups\n for an Amazon ElastiCache replication group.\n\n\n * elasticache:replication-group:Replicas - The number of replicas per\n node group for an Amazon ElastiCache replication group.\n\n\n * neptune:cluster:ReadReplicaCount - The count of read replicas in an\n Amazon Neptune DB cluster." + description: "The scalable dimension associated with the scalable target. This string consists\nof the service namespace, resource type, and scaling property.\n\n * ecs:service:DesiredCount - The desired task count of an ECS service.\n\n * elasticmapreduce:instancegroup:InstanceCount - The instance count of\n an EMR Instance Group.\n\n * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot\n Fleet.\n\n * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream\n 2.0 fleet.\n\n * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for\n a DynamoDB table.\n\n * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for\n a DynamoDB table.\n\n * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for\n a DynamoDB global secondary index.\n\n * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for\n a DynamoDB global secondary index.\n\n * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora\n DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible\n edition.\n\n * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances\n for an SageMaker model endpoint variant.\n\n * custom-resource:ResourceType:Property - The scalable dimension for a\n custom resource provided by your own application or service.\n\n * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The\n number of inference units for an Amazon Comprehend document classification\n endpoint.\n\n * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number\n of inference units for an Amazon Comprehend entity recognizer endpoint.\n\n * lambda:function:ProvisionedConcurrency - The provisioned concurrency\n for a Lambda function.\n\n * cassandra:table:ReadCapacityUnits - The provisioned read capacity for\n an Amazon Keyspaces table.\n\n * cassandra:table:WriteCapacityUnits - The provisioned write capacity\n for an Amazon Keyspaces table.\n\n * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB)\n for brokers in an Amazon MSK cluster.\n\n * elasticache:replication-group:NodeGroups - The number of node groups\n for an Amazon ElastiCache replication group.\n\n * elasticache:replication-group:Replicas - The number of replicas per\n node group for an Amazon ElastiCache replication group.\n\n * neptune:cluster:ReadReplicaCount - The count of read replicas in an\n Amazon Neptune DB cluster." type: "string" serviceNamespace: description: "The namespace of the Amazon Web Services service that provides the resource.\nFor a resource provided by your own application or service, use custom-resource\ninstead." type: "string" suspendedState: - description: "An embedded object that contains attributes and attribute values that are\nused to suspend and resume automatic scaling. Setting the value of an attribute\nto true suspends the specified scaling activities. Setting it to false (default)\nresumes the specified scaling activities.\n\n\nSuspension Outcomes\n\n\n * For DynamicScalingInSuspended, while a suspension is in effect, all\n scale-in activities that are triggered by a scaling policy are suspended.\n\n\n * For DynamicScalingOutSuspended, while a suspension is in effect, all\n scale-out activities that are triggered by a scaling policy are suspended.\n\n\n * For ScheduledScalingSuspended, while a suspension is in effect, all\n scaling activities that involve scheduled actions are suspended.\n\n\nFor more information, see Suspending and resuming scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html)\nin the Application Auto Scaling User Guide." + description: "An embedded object that contains attributes and attribute values that are\nused to suspend and resume automatic scaling. Setting the value of an attribute\nto true suspends the specified scaling activities. Setting it to false (default)\nresumes the specified scaling activities.\n\nSuspension Outcomes\n\n * For DynamicScalingInSuspended, while a suspension is in effect, all\n scale-in activities that are triggered by a scaling policy are suspended.\n\n * For DynamicScalingOutSuspended, while a suspension is in effect, all\n scale-out activities that are triggered by a scaling policy are suspended.\n\n * For ScheduledScalingSuspended, while a suspension is in effect, all\n scaling activities that involve scheduled actions are suspended.\n\nFor more information, see Suspending and resuming scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html)\nin the Application Auto Scaling User Guide." properties: dynamicScalingInSuspended: type: "boolean" @@ -71,7 +71,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/applicationautoscaling-controller/applicationautoscaling.services.k8s.aws/v1alpha1/scalingpolicies.yaml b/crd-catalog/aws-controllers-k8s/applicationautoscaling-controller/applicationautoscaling.services.k8s.aws/v1alpha1/scalingpolicies.yaml index 9137d4364..19341eeef 100644 --- a/crd-catalog/aws-controllers-k8s/applicationautoscaling-controller/applicationautoscaling.services.k8s.aws/v1alpha1/scalingpolicies.yaml +++ b/crd-catalog/aws-controllers-k8s/applicationautoscaling-controller/applicationautoscaling.services.k8s.aws/v1alpha1/scalingpolicies.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "scalingpolicies.applicationautoscaling.services.k8s.aws" spec: group: "applicationautoscaling.services.k8s.aws" @@ -27,25 +27,25 @@ spec: metadata: type: "object" spec: - description: "ScalingPolicySpec defines the desired state of ScalingPolicy.\n\n\nRepresents a scaling policy to use with Application Auto Scaling.\n\n\nFor more information about configuring scaling policies for a specific service,\nsee Getting started with Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/getting-started.html)\nin the Application Auto Scaling User Guide." + description: "ScalingPolicySpec defines the desired state of ScalingPolicy.\n\nRepresents a scaling policy to use with Application Auto Scaling.\n\nFor more information about configuring scaling policies for a specific service,\nsee Getting started with Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/getting-started.html)\nin the Application Auto Scaling User Guide." properties: policyName: description: "The name of the scaling policy." type: "string" policyType: - description: "The policy type. This parameter is required if you are creating a scaling\npolicy.\n\n\nThe following policy types are supported:\n\n\nTargetTrackingScaling—Not supported for Amazon EMR\n\n\nStepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon\nKeyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.\n\n\nFor more information, see Target tracking scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)\nand Step scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html)\nin the Application Auto Scaling User Guide." + description: "The policy type. This parameter is required if you are creating a scaling\npolicy.\n\nThe following policy types are supported:\n\nTargetTrackingScaling—Not supported for Amazon EMR\n\nStepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon\nKeyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.\n\nFor more information, see Target tracking scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)\nand Step scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html)\nin the Application Auto Scaling User Guide." type: "string" resourceID: - description: "The identifier of the resource associated with the scaling policy. This string\nconsists of the resource type and unique identifier.\n\n\n * ECS service - The resource type is service and the unique identifier\n is the cluster name and service name. Example: service/default/sample-webapp.\n\n\n * Spot Fleet - The resource type is spot-fleet-request and the unique\n identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.\n\n\n * EMR cluster - The resource type is instancegroup and the unique identifier\n is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.\n\n\n * AppStream 2.0 fleet - The resource type is fleet and the unique identifier\n is the fleet name. Example: fleet/sample-fleet.\n\n\n * DynamoDB table - The resource type is table and the unique identifier\n is the table name. Example: table/my-table.\n\n\n * DynamoDB global secondary index - The resource type is index and the\n unique identifier is the index name. Example: table/my-table/index/my-table-index.\n\n\n * Aurora DB cluster - The resource type is cluster and the unique identifier\n is the cluster name. Example: cluster:my-db-cluster.\n\n\n * SageMaker endpoint variant - The resource type is variant and the unique\n identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.\n\n\n * Custom resources are not supported with a resource type. This parameter\n must specify the OutputValue from the CloudFormation template stack used\n to access the resources. The unique identifier is defined by the service\n provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource).\n\n\n * Amazon Comprehend document classification endpoint - The resource type\n and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.\n\n\n * Amazon Comprehend entity recognizer endpoint - The resource type and\n unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.\n\n\n * Lambda provisioned concurrency - The resource type is function and the\n unique identifier is the function name with a function version or alias\n name suffix that is not $LATEST. Example: function:my-function:prod or\n function:my-function:1.\n\n\n * Amazon Keyspaces table - The resource type is table and the unique identifier\n is the table name. Example: keyspace/mykeyspace/table/mytable.\n\n\n * Amazon MSK cluster - The resource type and unique identifier are specified\n using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.\n\n\n * Amazon ElastiCache replication group - The resource type is replication-group\n and the unique identifier is the replication group name. Example: replication-group/mycluster.\n\n\n * Neptune cluster - The resource type is cluster and the unique identifier\n is the cluster name. Example: cluster:mycluster." + description: "The identifier of the resource associated with the scaling policy. This string\nconsists of the resource type and unique identifier.\n\n * ECS service - The resource type is service and the unique identifier\n is the cluster name and service name. Example: service/default/sample-webapp.\n\n * Spot Fleet - The resource type is spot-fleet-request and the unique\n identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.\n\n * EMR cluster - The resource type is instancegroup and the unique identifier\n is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.\n\n * AppStream 2.0 fleet - The resource type is fleet and the unique identifier\n is the fleet name. Example: fleet/sample-fleet.\n\n * DynamoDB table - The resource type is table and the unique identifier\n is the table name. Example: table/my-table.\n\n * DynamoDB global secondary index - The resource type is index and the\n unique identifier is the index name. Example: table/my-table/index/my-table-index.\n\n * Aurora DB cluster - The resource type is cluster and the unique identifier\n is the cluster name. Example: cluster:my-db-cluster.\n\n * SageMaker endpoint variant - The resource type is variant and the unique\n identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.\n\n * Custom resources are not supported with a resource type. This parameter\n must specify the OutputValue from the CloudFormation template stack used\n to access the resources. The unique identifier is defined by the service\n provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource).\n\n * Amazon Comprehend document classification endpoint - The resource type\n and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.\n\n * Amazon Comprehend entity recognizer endpoint - The resource type and\n unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE.\n\n * Lambda provisioned concurrency - The resource type is function and the\n unique identifier is the function name with a function version or alias\n name suffix that is not $LATEST. Example: function:my-function:prod or\n function:my-function:1.\n\n * Amazon Keyspaces table - The resource type is table and the unique identifier\n is the table name. Example: keyspace/mykeyspace/table/mytable.\n\n * Amazon MSK cluster - The resource type and unique identifier are specified\n using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5.\n\n * Amazon ElastiCache replication group - The resource type is replication-group\n and the unique identifier is the replication group name. Example: replication-group/mycluster.\n\n * Neptune cluster - The resource type is cluster and the unique identifier\n is the cluster name. Example: cluster:mycluster." type: "string" scalableDimension: - description: "The scalable dimension. This string consists of the service namespace, resource\ntype, and scaling property.\n\n\n * ecs:service:DesiredCount - The desired task count of an ECS service.\n\n\n * elasticmapreduce:instancegroup:InstanceCount - The instance count of\n an EMR Instance Group.\n\n\n * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot\n Fleet.\n\n\n * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream\n 2.0 fleet.\n\n\n * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for\n a DynamoDB table.\n\n\n * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for\n a DynamoDB table.\n\n\n * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for\n a DynamoDB global secondary index.\n\n\n * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for\n a DynamoDB global secondary index.\n\n\n * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora\n DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible\n edition.\n\n\n * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances\n for an SageMaker model endpoint variant.\n\n\n * custom-resource:ResourceType:Property - The scalable dimension for a\n custom resource provided by your own application or service.\n\n\n * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The\n number of inference units for an Amazon Comprehend document classification\n endpoint.\n\n\n * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number\n of inference units for an Amazon Comprehend entity recognizer endpoint.\n\n\n * lambda:function:ProvisionedConcurrency - The provisioned concurrency\n for a Lambda function.\n\n\n * cassandra:table:ReadCapacityUnits - The provisioned read capacity for\n an Amazon Keyspaces table.\n\n\n * cassandra:table:WriteCapacityUnits - The provisioned write capacity\n for an Amazon Keyspaces table.\n\n\n * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB)\n for brokers in an Amazon MSK cluster.\n\n\n * elasticache:replication-group:NodeGroups - The number of node groups\n for an Amazon ElastiCache replication group.\n\n\n * elasticache:replication-group:Replicas - The number of replicas per\n node group for an Amazon ElastiCache replication group.\n\n\n * neptune:cluster:ReadReplicaCount - The count of read replicas in an\n Amazon Neptune DB cluster." + description: "The scalable dimension. This string consists of the service namespace, resource\ntype, and scaling property.\n\n * ecs:service:DesiredCount - The desired task count of an ECS service.\n\n * elasticmapreduce:instancegroup:InstanceCount - The instance count of\n an EMR Instance Group.\n\n * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot\n Fleet.\n\n * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream\n 2.0 fleet.\n\n * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for\n a DynamoDB table.\n\n * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for\n a DynamoDB table.\n\n * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for\n a DynamoDB global secondary index.\n\n * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for\n a DynamoDB global secondary index.\n\n * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora\n DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible\n edition.\n\n * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances\n for an SageMaker model endpoint variant.\n\n * custom-resource:ResourceType:Property - The scalable dimension for a\n custom resource provided by your own application or service.\n\n * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The\n number of inference units for an Amazon Comprehend document classification\n endpoint.\n\n * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number\n of inference units for an Amazon Comprehend entity recognizer endpoint.\n\n * lambda:function:ProvisionedConcurrency - The provisioned concurrency\n for a Lambda function.\n\n * cassandra:table:ReadCapacityUnits - The provisioned read capacity for\n an Amazon Keyspaces table.\n\n * cassandra:table:WriteCapacityUnits - The provisioned write capacity\n for an Amazon Keyspaces table.\n\n * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB)\n for brokers in an Amazon MSK cluster.\n\n * elasticache:replication-group:NodeGroups - The number of node groups\n for an Amazon ElastiCache replication group.\n\n * elasticache:replication-group:Replicas - The number of replicas per\n node group for an Amazon ElastiCache replication group.\n\n * neptune:cluster:ReadReplicaCount - The count of read replicas in an\n Amazon Neptune DB cluster." type: "string" serviceNamespace: description: "The namespace of the Amazon Web Services service that provides the resource.\nFor a resource provided by your own application or service, use custom-resource\ninstead." type: "string" stepScalingPolicyConfiguration: - description: "A step scaling policy.\n\n\nThis parameter is required if you are creating a policy and the policy type\nis StepScaling." + description: "A step scaling policy.\n\nThis parameter is required if you are creating a policy and the policy type\nis StepScaling." properties: adjustmentType: type: "string" @@ -59,7 +59,7 @@ spec: type: "integer" stepAdjustments: items: - description: "Represents a step adjustment for a StepScalingPolicyConfiguration (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepScalingPolicyConfiguration.html).\nDescribes an adjustment based on the difference between the value of the\naggregated CloudWatch metric and the breach threshold that you've defined\nfor the alarm.\n\n\nFor the following examples, suppose that you have an alarm with a breach\nthreshold of 50:\n\n\n * To trigger the adjustment when the metric is greater than or equal to\n 50 and less than 60, specify a lower bound of 0 and an upper bound of\n 10.\n\n\n * To trigger the adjustment when the metric is greater than 40 and less\n than or equal to 50, specify a lower bound of -10 and an upper bound of\n 0.\n\n\nThere are a few rules for the step adjustments for your step policy:\n\n\n * The ranges of your step adjustments can't overlap or have a gap.\n\n\n * At most one step adjustment can have a null lower bound. If one step\n adjustment has a negative lower bound, then there must be a step adjustment\n with a null lower bound.\n\n\n * At most one step adjustment can have a null upper bound. If one step\n adjustment has a positive upper bound, then there must be a step adjustment\n with a null upper bound.\n\n\n * The upper and lower bound can't be null in the same step adjustment." + description: "Represents a step adjustment for a StepScalingPolicyConfiguration (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepScalingPolicyConfiguration.html).\nDescribes an adjustment based on the difference between the value of the\naggregated CloudWatch metric and the breach threshold that you've defined\nfor the alarm.\n\nFor the following examples, suppose that you have an alarm with a breach\nthreshold of 50:\n\n * To trigger the adjustment when the metric is greater than or equal to\n 50 and less than 60, specify a lower bound of 0 and an upper bound of\n 10.\n\n * To trigger the adjustment when the metric is greater than 40 and less\n than or equal to 50, specify a lower bound of -10 and an upper bound of\n 0.\n\nThere are a few rules for the step adjustments for your step policy:\n\n * The ranges of your step adjustments can't overlap or have a gap.\n\n * At most one step adjustment can have a null lower bound. If one step\n adjustment has a negative lower bound, then there must be a step adjustment\n with a null lower bound.\n\n * At most one step adjustment can have a null upper bound. If one step\n adjustment has a positive upper bound, then there must be a step adjustment\n with a null upper bound.\n\n * The upper and lower bound can't be null in the same step adjustment." properties: metricIntervalLowerBound: type: "number" @@ -72,10 +72,10 @@ spec: type: "array" type: "object" targetTrackingScalingPolicyConfiguration: - description: "A target tracking scaling policy. Includes support for predefined or customized\nmetrics.\n\n\nThis parameter is required if you are creating a policy and the policy type\nis TargetTrackingScaling." + description: "A target tracking scaling policy. Includes support for predefined or customized\nmetrics.\n\nThis parameter is required if you are creating a policy and the policy type\nis TargetTrackingScaling." properties: customizedMetricSpecification: - description: "Represents a CloudWatch metric of your choosing for a target tracking scaling\npolicy to use with Application Auto Scaling.\n\n\nFor information about the available metrics for a service, see Amazon Web\nServices Services That Publish CloudWatch Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)\nin the Amazon CloudWatch User Guide.\n\n\nTo create your customized metric specification:\n\n\n * Add values for each required parameter from CloudWatch. You can use\n an existing metric, or a new metric that you create. To use your own metric,\n you must first publish the metric to CloudWatch. For more information,\n see Publish Custom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html)\n in the Amazon CloudWatch User Guide.\n\n\n * Choose a metric that changes proportionally with capacity. The value\n of the metric should increase or decrease in inverse proportion to the\n number of capacity units. That is, the value of the metric should decrease\n when capacity increases, and increase when capacity decreases.\n\n\nFor more information about CloudWatch, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html)." + description: "Represents a CloudWatch metric of your choosing for a target tracking scaling\npolicy to use with Application Auto Scaling.\n\nFor information about the available metrics for a service, see Amazon Web\nServices Services That Publish CloudWatch Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)\nin the Amazon CloudWatch User Guide.\n\nTo create your customized metric specification:\n\n * Add values for each required parameter from CloudWatch. You can use\n an existing metric, or a new metric that you create. To use your own metric,\n you must first publish the metric to CloudWatch. For more information,\n see Publish Custom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html)\n in the Amazon CloudWatch User Guide.\n\n * Choose a metric that changes proportionally with capacity. The value\n of the metric should increase or decrease in inverse proportion to the\n number of capacity units. That is, the value of the metric should decrease\n when capacity increases, and increase when capacity decreases.\n\nFor more information about CloudWatch, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html)." properties: dimensions: items: @@ -99,7 +99,7 @@ spec: disableScaleIn: type: "boolean" predefinedMetricSpecification: - description: "Represents a predefined metric for a target tracking scaling policy to use\nwith Application Auto Scaling.\n\n\nOnly the Amazon Web Services that you're using send metrics to Amazon CloudWatch.\nTo determine whether a desired metric already exists by looking up its namespace\nand dimension using the CloudWatch metrics dashboard in the console, follow\nthe procedure in Building dashboards with CloudWatch (https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html)\nin the Application Auto Scaling User Guide." + description: "Represents a predefined metric for a target tracking scaling policy to use\nwith Application Auto Scaling.\n\nOnly the Amazon Web Services that you're using send metrics to Amazon CloudWatch.\nTo determine whether a desired metric already exists by looking up its namespace\nand dimension using the CloudWatch metrics dashboard in the console, follow\nthe procedure in Building dashboards with CloudWatch (https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html)\nin the Application Auto Scaling User Guide." properties: predefinedMetricType: type: "string" @@ -128,7 +128,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/cachepolicies.yaml b/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/cachepolicies.yaml index c7dc02257..60781d4b5 100644 --- a/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/cachepolicies.yaml +++ b/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/cachepolicies.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "cachepolicies.cloudfront.services.k8s.aws" spec: group: "cloudfront.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "CachePolicySpec defines the desired state of CachePolicy.\n\n\nA cache policy.\n\n\nWhen it's attached to a cache behavior, the cache policy determines the following:\n\n\n * The values that CloudFront includes in the cache key. These values can\n include HTTP headers, cookies, and URL query strings. CloudFront uses\n the cache key to find an object in its cache that it can return to the\n viewer.\n\n\n * The default, minimum, and maximum time to live (TTL) values that you\n want objects to stay in the CloudFront cache.\n\n\nThe headers, cookies, and query strings that are included in the cache key\nare also included in requests that CloudFront sends to the origin. CloudFront\nsends a request when it can't find a valid object in its cache that matches\nthe request's cache key. If you want to send values to the origin but not\ninclude them in the cache key, use OriginRequestPolicy." + description: "CachePolicySpec defines the desired state of CachePolicy.\n\nA cache policy.\n\nWhen it's attached to a cache behavior, the cache policy determines the following:\n\n * The values that CloudFront includes in the cache key. These values can\n include HTTP headers, cookies, and URL query strings. CloudFront uses\n the cache key to find an object in its cache that it can return to the\n viewer.\n\n * The default, minimum, and maximum time to live (TTL) values that you\n want objects to stay in the CloudFront cache.\n\nThe headers, cookies, and query strings that are included in the cache key\nare also included in requests that CloudFront sends to the origin. CloudFront\nsends a request when it can't find a valid object in its cache that matches\nthe request's cache key. If you want to send values to the origin but not\ninclude them in the cache key, use OriginRequestPolicy." properties: cachePolicyConfig: description: "A cache policy configuration." @@ -46,7 +46,7 @@ spec: name: type: "string" parametersInCacheKeyAndForwardedToOrigin: - description: "This object determines the values that CloudFront includes in the cache key.\nThese values can include HTTP headers, cookies, and URL query strings. CloudFront\nuses the cache key to find an object in its cache that it can return to the\nviewer.\n\n\nThe headers, cookies, and query strings that are included in the cache key\nare also included in requests that CloudFront sends to the origin. CloudFront\nsends a request when it can't find an object in its cache that matches the\nrequest's cache key. If you want to send values to the origin but not include\nthem in the cache key, use OriginRequestPolicy." + description: "This object determines the values that CloudFront includes in the cache key.\nThese values can include HTTP headers, cookies, and URL query strings. CloudFront\nuses the cache key to find an object in its cache that it can return to the\nviewer.\n\nThe headers, cookies, and query strings that are included in the cache key\nare also included in requests that CloudFront sends to the origin. CloudFront\nsends a request when it can't find an object in its cache that matches the\nrequest's cache key. If you want to send values to the origin but not include\nthem in the cache key, use OriginRequestPolicy." properties: cookiesConfig: description: "An object that determines whether any cookies in viewer requests (and if\nso, which cookies) are included in the cache key and in requests that CloudFront\nsends to the origin." @@ -106,7 +106,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/distributions.yaml b/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/distributions.yaml index a06667c23..f7cb4b1d7 100644 --- a/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/distributions.yaml +++ b/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/distributions.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "distributions.cloudfront.services.k8s.aws" spec: group: "cloudfront.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "DistributionSpec defines the desired state of Distribution.\n\n\nA distribution tells CloudFront where you want content to be delivered from,\nand the details about how to track and manage content delivery." + description: "DistributionSpec defines the desired state of Distribution.\n\nA distribution tells CloudFront where you want content to be delivered from,\nand the details about how to track and manage content delivery." properties: distributionConfig: description: "The distribution's configuration information." @@ -45,13 +45,13 @@ spec: properties: items: items: - description: "A complex type that describes how CloudFront processes requests.\n\n\nYou must create at least as many cache behaviors (including the default cache\nbehavior) as you have origins if you want CloudFront to serve objects from\nall of the origins. Each cache behavior specifies the one origin from which\nyou want CloudFront to get objects. If you have two origins and only the\ndefault cache behavior, the default cache behavior will cause CloudFront\nto get objects from one of the origins, but the other origin is never used.\n\n\nFor the current quota (formerly known as limit) on the number of cache behaviors\nthat you can add to a distribution, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html)\nin the Amazon CloudFront Developer Guide.\n\n\nIf you don't want to specify any cache behaviors, include only an empty CacheBehaviors\nelement. Don't include an empty CacheBehavior element because this is invalid.\n\n\nTo delete all cache behaviors in an existing distribution, update the distribution\nconfiguration and include only an empty CacheBehaviors element.\n\n\nTo add, change, or remove one or more cache behaviors, update the distribution\nconfiguration and specify all of the cache behaviors that you want to include\nin the updated distribution.\n\n\nFor more information about cache behaviors, see Cache Behavior Settings (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior)\nin the Amazon CloudFront Developer Guide." + description: "A complex type that describes how CloudFront processes requests.\n\nYou must create at least as many cache behaviors (including the default cache\nbehavior) as you have origins if you want CloudFront to serve objects from\nall of the origins. Each cache behavior specifies the one origin from which\nyou want CloudFront to get objects. If you have two origins and only the\ndefault cache behavior, the default cache behavior will cause CloudFront\nto get objects from one of the origins, but the other origin is never used.\n\nFor the current quota (formerly known as limit) on the number of cache behaviors\nthat you can add to a distribution, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html)\nin the Amazon CloudFront Developer Guide.\n\nIf you don't want to specify any cache behaviors, include only an empty CacheBehaviors\nelement. Don't include an empty CacheBehavior element because this is invalid.\n\nTo delete all cache behaviors in an existing distribution, update the distribution\nconfiguration and include only an empty CacheBehaviors element.\n\nTo add, change, or remove one or more cache behaviors, update the distribution\nconfiguration and specify all of the cache behaviors that you want to include\nin the updated distribution.\n\nFor more information about cache behaviors, see Cache Behavior Settings (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior)\nin the Amazon CloudFront Developer Guide." properties: allowedMethods: - description: "A complex type that controls which HTTP methods CloudFront processes and\nforwards to your Amazon S3 bucket or your custom origin. There are three\nchoices:\n\n\n * CloudFront forwards only GET and HEAD requests.\n\n\n * CloudFront forwards only GET, HEAD, and OPTIONS requests.\n\n\n * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE\n requests.\n\n\nIf you pick the third choice, you may need to restrict access to your Amazon\nS3 bucket or to your custom origin so users can't perform operations that\nyou don't want them to. For example, you might not want users to have permissions\nto delete objects from your origin." + description: "A complex type that controls which HTTP methods CloudFront processes and\nforwards to your Amazon S3 bucket or your custom origin. There are three\nchoices:\n\n * CloudFront forwards only GET and HEAD requests.\n\n * CloudFront forwards only GET, HEAD, and OPTIONS requests.\n\n * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE\n requests.\n\nIf you pick the third choice, you may need to restrict access to your Amazon\nS3 bucket or to your custom origin so users can't perform operations that\nyou don't want them to. For example, you might not want users to have permissions\nto delete objects from your origin." properties: cachedMethods: - description: "A complex type that controls whether CloudFront caches the response to requests\nusing the specified HTTP methods. There are two choices:\n\n\n * CloudFront caches responses to GET and HEAD requests.\n\n\n * CloudFront caches responses to GET, HEAD, and OPTIONS requests.\n\n\nIf you pick the second choice for your Amazon S3 Origin, you may need to\nforward Access-Control-Request-Method, Access-Control-Request-Headers, and\nOrigin headers for the responses to be cached correctly." + description: "A complex type that controls whether CloudFront caches the response to requests\nusing the specified HTTP methods. There are two choices:\n\n * CloudFront caches responses to GET and HEAD requests.\n\n * CloudFront caches responses to GET, HEAD, and OPTIONS requests.\n\nIf you pick the second choice for your Amazon S3 Origin, you may need to\nforward Access-Control-Request-Method, Access-Control-Request-Headers, and\nOrigin headers for the responses to be cached correctly." properties: items: items: @@ -73,10 +73,10 @@ spec: fieldLevelEncryptionID: type: "string" forwardedValues: - description: "This field is deprecated. We recommend that you use a cache policy or an\norigin request policy instead of this field.\n\n\nIf you want to include values in the cache key, use a cache policy. For more\ninformation, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy)\nin the Amazon CloudFront Developer Guide.\n\n\nIf you want to send values to the origin but not include them in the cache\nkey, use an origin request policy. For more information, see Creating origin\nrequest policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy)\nin the Amazon CloudFront Developer Guide.\n\n\nA complex type that specifies how CloudFront handles query strings, cookies,\nand HTTP headers." + description: "This field is deprecated. We recommend that you use a cache policy or an\norigin request policy instead of this field.\n\nIf you want to include values in the cache key, use a cache policy. For more\ninformation, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy)\nin the Amazon CloudFront Developer Guide.\n\nIf you want to send values to the origin but not include them in the cache\nkey, use an origin request policy. For more information, see Creating origin\nrequest policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy)\nin the Amazon CloudFront Developer Guide.\n\nA complex type that specifies how CloudFront handles query strings, cookies,\nand HTTP headers." properties: cookies: - description: "This field is deprecated. We recommend that you use a cache policy or an\norigin request policy instead of this field.\n\n\nIf you want to include cookies in the cache key, use CookiesConfig in a cache\npolicy. See CachePolicy.\n\n\nIf you want to send cookies to the origin but not include them in the cache\nkey, use CookiesConfig in an origin request policy. See OriginRequestPolicy.\n\n\nA complex type that specifies whether you want CloudFront to forward cookies\nto the origin and, if so, which ones. For more information about forwarding\ncookies to the origin, see Caching Content Based on Cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html)\nin the Amazon CloudFront Developer Guide." + description: "This field is deprecated. We recommend that you use a cache policy or an\norigin request policy instead of this field.\n\nIf you want to include cookies in the cache key, use CookiesConfig in a cache\npolicy. See CachePolicy.\n\nIf you want to send cookies to the origin but not include them in the cache\nkey, use CookiesConfig in an origin request policy. See OriginRequestPolicy.\n\nA complex type that specifies whether you want CloudFront to forward cookies\nto the origin and, if so, which ones. For more information about forwarding\ncookies to the origin, see Caching Content Based on Cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html)\nin the Amazon CloudFront Developer Guide." properties: forward: type: "string" @@ -100,7 +100,7 @@ spec: queryString: type: "boolean" queryStringCacheKeys: - description: "This field is deprecated. We recommend that you use a cache policy or an\norigin request policy instead of this field.\n\n\nIf you want to include query strings in the cache key, use QueryStringsConfig\nin a cache policy. See CachePolicy.\n\n\nIf you want to send query strings to the origin but not include them in the\ncache key, use QueryStringsConfig in an origin request policy. See OriginRequestPolicy.\n\n\nA complex type that contains information about the query string parameters\nthat you want CloudFront to use for caching for a cache behavior." + description: "This field is deprecated. We recommend that you use a cache policy or an\norigin request policy instead of this field.\n\nIf you want to include query strings in the cache key, use QueryStringsConfig\nin a cache policy. See CachePolicy.\n\nIf you want to send query strings to the origin but not include them in the\ncache key, use QueryStringsConfig in an origin request policy. See OriginRequestPolicy.\n\nA complex type that contains information about the query string parameters\nthat you want CloudFront to use for caching for a cache behavior." properties: items: items: @@ -123,7 +123,7 @@ spec: type: "array" type: "object" lambdaFunctionAssociations: - description: "A complex type that specifies a list of Lambda@Edge functions associations\nfor a cache behavior.\n\n\nIf you want to invoke one or more Lambda@Edge functions triggered by requests\nthat match the PathPattern of the cache behavior, specify the applicable\nvalues for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation\nitems in this list (one for each possible value of EventType) and each EventType\ncan be associated with only one function.\n\n\nIf you don't want to invoke any Lambda@Edge functions for the requests that\nmatch PathPattern, specify 0 for Quantity and omit Items." + description: "A complex type that specifies a list of Lambda@Edge functions associations\nfor a cache behavior.\n\nIf you want to invoke one or more Lambda@Edge functions triggered by requests\nthat match the PathPattern of the cache behavior, specify the applicable\nvalues for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation\nitems in this list (one for each possible value of EventType) and each EventType\ncan be associated with only one function.\n\nIf you don't want to invoke any Lambda@Edge functions for the requests that\nmatch PathPattern, specify 0 for Quantity and omit Items." properties: items: items: @@ -186,11 +186,11 @@ spec: continuousDeploymentPolicyID: type: "string" customErrorResponses: - description: "A complex type that controls:\n\n\n * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range\n with custom error messages before returning the response to the viewer.\n\n\n * How long CloudFront caches HTTP status codes in the 4xx and 5xx range.\n\n\nFor more information about custom error pages, see Customizing Error Responses\n(https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html)\nin the Amazon CloudFront Developer Guide." + description: "A complex type that controls:\n\n * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range\n with custom error messages before returning the response to the viewer.\n\n * How long CloudFront caches HTTP status codes in the 4xx and 5xx range.\n\nFor more information about custom error pages, see Customizing Error Responses\n(https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html)\nin the Amazon CloudFront Developer Guide." properties: items: items: - description: "A complex type that controls:\n\n\n * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range\n with custom error messages before returning the response to the viewer.\n\n\n * How long CloudFront caches HTTP status codes in the 4xx and 5xx range.\n\n\nFor more information about custom error pages, see Customizing Error Responses\n(https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html)\nin the Amazon CloudFront Developer Guide." + description: "A complex type that controls:\n\n * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range\n with custom error messages before returning the response to the viewer.\n\n * How long CloudFront caches HTTP status codes in the 4xx and 5xx range.\n\nFor more information about custom error pages, see Customizing Error Responses\n(https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html)\nin the Amazon CloudFront Developer Guide." properties: errorCachingMinTTL: format: "int64" @@ -209,10 +209,10 @@ spec: description: "A complex type that describes the default cache behavior if you don't specify\na CacheBehavior element or if request URLs don't match any of the values\nof PathPattern in CacheBehavior elements. You must create exactly one default\ncache behavior." properties: allowedMethods: - description: "A complex type that controls which HTTP methods CloudFront processes and\nforwards to your Amazon S3 bucket or your custom origin. There are three\nchoices:\n\n\n * CloudFront forwards only GET and HEAD requests.\n\n\n * CloudFront forwards only GET, HEAD, and OPTIONS requests.\n\n\n * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE\n requests.\n\n\nIf you pick the third choice, you may need to restrict access to your Amazon\nS3 bucket or to your custom origin so users can't perform operations that\nyou don't want them to. For example, you might not want users to have permissions\nto delete objects from your origin." + description: "A complex type that controls which HTTP methods CloudFront processes and\nforwards to your Amazon S3 bucket or your custom origin. There are three\nchoices:\n\n * CloudFront forwards only GET and HEAD requests.\n\n * CloudFront forwards only GET, HEAD, and OPTIONS requests.\n\n * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE\n requests.\n\nIf you pick the third choice, you may need to restrict access to your Amazon\nS3 bucket or to your custom origin so users can't perform operations that\nyou don't want them to. For example, you might not want users to have permissions\nto delete objects from your origin." properties: cachedMethods: - description: "A complex type that controls whether CloudFront caches the response to requests\nusing the specified HTTP methods. There are two choices:\n\n\n * CloudFront caches responses to GET and HEAD requests.\n\n\n * CloudFront caches responses to GET, HEAD, and OPTIONS requests.\n\n\nIf you pick the second choice for your Amazon S3 Origin, you may need to\nforward Access-Control-Request-Method, Access-Control-Request-Headers, and\nOrigin headers for the responses to be cached correctly." + description: "A complex type that controls whether CloudFront caches the response to requests\nusing the specified HTTP methods. There are two choices:\n\n * CloudFront caches responses to GET and HEAD requests.\n\n * CloudFront caches responses to GET, HEAD, and OPTIONS requests.\n\nIf you pick the second choice for your Amazon S3 Origin, you may need to\nforward Access-Control-Request-Method, Access-Control-Request-Headers, and\nOrigin headers for the responses to be cached correctly." properties: items: items: @@ -234,10 +234,10 @@ spec: fieldLevelEncryptionID: type: "string" forwardedValues: - description: "This field is deprecated. We recommend that you use a cache policy or an\norigin request policy instead of this field.\n\n\nIf you want to include values in the cache key, use a cache policy. For more\ninformation, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy)\nin the Amazon CloudFront Developer Guide.\n\n\nIf you want to send values to the origin but not include them in the cache\nkey, use an origin request policy. For more information, see Creating origin\nrequest policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy)\nin the Amazon CloudFront Developer Guide.\n\n\nA complex type that specifies how CloudFront handles query strings, cookies,\nand HTTP headers." + description: "This field is deprecated. We recommend that you use a cache policy or an\norigin request policy instead of this field.\n\nIf you want to include values in the cache key, use a cache policy. For more\ninformation, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy)\nin the Amazon CloudFront Developer Guide.\n\nIf you want to send values to the origin but not include them in the cache\nkey, use an origin request policy. For more information, see Creating origin\nrequest policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy)\nin the Amazon CloudFront Developer Guide.\n\nA complex type that specifies how CloudFront handles query strings, cookies,\nand HTTP headers." properties: cookies: - description: "This field is deprecated. We recommend that you use a cache policy or an\norigin request policy instead of this field.\n\n\nIf you want to include cookies in the cache key, use CookiesConfig in a cache\npolicy. See CachePolicy.\n\n\nIf you want to send cookies to the origin but not include them in the cache\nkey, use CookiesConfig in an origin request policy. See OriginRequestPolicy.\n\n\nA complex type that specifies whether you want CloudFront to forward cookies\nto the origin and, if so, which ones. For more information about forwarding\ncookies to the origin, see Caching Content Based on Cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html)\nin the Amazon CloudFront Developer Guide." + description: "This field is deprecated. We recommend that you use a cache policy or an\norigin request policy instead of this field.\n\nIf you want to include cookies in the cache key, use CookiesConfig in a cache\npolicy. See CachePolicy.\n\nIf you want to send cookies to the origin but not include them in the cache\nkey, use CookiesConfig in an origin request policy. See OriginRequestPolicy.\n\nA complex type that specifies whether you want CloudFront to forward cookies\nto the origin and, if so, which ones. For more information about forwarding\ncookies to the origin, see Caching Content Based on Cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html)\nin the Amazon CloudFront Developer Guide." properties: forward: type: "string" @@ -261,7 +261,7 @@ spec: queryString: type: "boolean" queryStringCacheKeys: - description: "This field is deprecated. We recommend that you use a cache policy or an\norigin request policy instead of this field.\n\n\nIf you want to include query strings in the cache key, use QueryStringsConfig\nin a cache policy. See CachePolicy.\n\n\nIf you want to send query strings to the origin but not include them in the\ncache key, use QueryStringsConfig in an origin request policy. See OriginRequestPolicy.\n\n\nA complex type that contains information about the query string parameters\nthat you want CloudFront to use for caching for a cache behavior." + description: "This field is deprecated. We recommend that you use a cache policy or an\norigin request policy instead of this field.\n\nIf you want to include query strings in the cache key, use QueryStringsConfig\nin a cache policy. See CachePolicy.\n\nIf you want to send query strings to the origin but not include them in the\ncache key, use QueryStringsConfig in an origin request policy. See OriginRequestPolicy.\n\nA complex type that contains information about the query string parameters\nthat you want CloudFront to use for caching for a cache behavior." properties: items: items: @@ -284,7 +284,7 @@ spec: type: "array" type: "object" lambdaFunctionAssociations: - description: "A complex type that specifies a list of Lambda@Edge functions associations\nfor a cache behavior.\n\n\nIf you want to invoke one or more Lambda@Edge functions triggered by requests\nthat match the PathPattern of the cache behavior, specify the applicable\nvalues for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation\nitems in this list (one for each possible value of EventType) and each EventType\ncan be associated with only one function.\n\n\nIf you don't want to invoke any Lambda@Edge functions for the requests that\nmatch PathPattern, specify 0 for Quantity and omit Items." + description: "A complex type that specifies a list of Lambda@Edge functions associations\nfor a cache behavior.\n\nIf you want to invoke one or more Lambda@Edge functions triggered by requests\nthat match the PathPattern of the cache behavior, specify the applicable\nvalues for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation\nitems in this list (one for each possible value of EventType) and each EventType\ncan be associated with only one function.\n\nIf you don't want to invoke any Lambda@Edge functions for the requests that\nmatch PathPattern, specify 0 for Quantity and omit Items." properties: items: items: @@ -403,7 +403,7 @@ spec: properties: items: items: - description: "An origin.\n\n\nAn origin is the location where content is stored, and from which CloudFront\ngets content to serve to viewers. To specify an origin:\n\n\n * Use S3OriginConfig to specify an Amazon S3 bucket that is not configured\n with static website hosting.\n\n\n * Use CustomOriginConfig to specify all other kinds of origins, including:\n An Amazon S3 bucket that is configured with static website hosting An\n Elastic Load Balancing load balancer An AWS Elemental MediaPackage endpoint\n An AWS Elemental MediaStore container Any other HTTP server, running on\n an Amazon EC2 instance or any other kind of host\n\n\nFor the current maximum number of origins that you can specify per distribution,\nsee General Quotas on Web Distributions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions)\nin the Amazon CloudFront Developer Guide (quotas were formerly referred to\nas limits)." + description: "An origin.\n\nAn origin is the location where content is stored, and from which CloudFront\ngets content to serve to viewers. To specify an origin:\n\n * Use S3OriginConfig to specify an Amazon S3 bucket that is not configured\n with static website hosting.\n\n * Use CustomOriginConfig to specify all other kinds of origins, including:\n An Amazon S3 bucket that is configured with static website hosting An\n Elastic Load Balancing load balancer An AWS Elemental MediaPackage endpoint\n An AWS Elemental MediaStore container Any other HTTP server, running on\n an Amazon EC2 instance or any other kind of host\n\nFor the current maximum number of origins that you can specify per distribution,\nsee General Quotas on Web Distributions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions)\nin the Amazon CloudFront Developer Guide (quotas were formerly referred to\nas limits)." properties: connectionAttempts: format: "int64" @@ -460,7 +460,7 @@ spec: originPath: type: "string" originShield: - description: "CloudFront Origin Shield.\n\n\nUsing Origin Shield can help reduce the load on your origin. For more information,\nsee Using Origin Shield (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html)\nin the Amazon CloudFront Developer Guide." + description: "CloudFront Origin Shield.\n\nUsing Origin Shield can help reduce the load on your origin. For more information,\nsee Using Origin Shield (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html)\nin the Amazon CloudFront Developer Guide." properties: enabled: type: "boolean" @@ -495,7 +495,7 @@ spec: staging: type: "boolean" viewerCertificate: - description: "A complex type that determines the distribution's SSL/TLS configuration for\ncommunicating with viewers.\n\n\nIf the distribution doesn't use Aliases (also known as alternate domain names\nor CNAMEs)—that is, if the distribution uses the CloudFront domain name\nsuch as d111111abcdef8.cloudfront.net—set CloudFrontDefaultCertificate\nto true and leave all other fields empty.\n\n\nIf the distribution uses Aliases (alternate domain names or CNAMEs), use\nthe fields in this type to specify the following settings:\n\n\n * Which viewers the distribution accepts HTTPS connections from: only\n viewers that support server name indication (SNI) (https://en.wikipedia.org/wiki/Server_Name_Indication)\n (recommended), or all viewers including those that don't support SNI.\n To accept HTTPS connections from only viewers that support SNI, set SSLSupportMethod\n to sni-only. This is recommended. Most browsers and clients support SNI.\n To accept HTTPS connections from all viewers, including those that don't\n support SNI, set SSLSupportMethod to vip. This is not recommended, and\n results in additional monthly charges from CloudFront.\n\n\n * The minimum SSL/TLS protocol version that the distribution can use to\n communicate with viewers. To specify a minimum version, choose a value\n for MinimumProtocolVersion. For more information, see Security Policy\n (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValues-security-policy)\n in the Amazon CloudFront Developer Guide.\n\n\n * The location of the SSL/TLS certificate, Certificate Manager (ACM) (https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html)\n (recommended) or Identity and Access Management (IAM) (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html).\n You specify the location by setting a value in one of the following fields\n (not both): ACMCertificateArn IAMCertificateId\n\n\nAll distributions support HTTPS connections from viewers. To require viewers\nto use HTTPS only, or to redirect them from HTTP to HTTPS, use ViewerProtocolPolicy\nin the CacheBehavior or DefaultCacheBehavior. To specify how CloudFront should\nuse SSL/TLS to communicate with your custom origin, use CustomOriginConfig.\n\n\nFor more information, see Using HTTPS with CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html)\nand Using Alternate Domain Names and HTTPS (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-alternate-domain-names.html)\nin the Amazon CloudFront Developer Guide." + description: "A complex type that determines the distribution's SSL/TLS configuration for\ncommunicating with viewers.\n\nIf the distribution doesn't use Aliases (also known as alternate domain names\nor CNAMEs)—that is, if the distribution uses the CloudFront domain name\nsuch as d111111abcdef8.cloudfront.net—set CloudFrontDefaultCertificate\nto true and leave all other fields empty.\n\nIf the distribution uses Aliases (alternate domain names or CNAMEs), use\nthe fields in this type to specify the following settings:\n\n * Which viewers the distribution accepts HTTPS connections from: only\n viewers that support server name indication (SNI) (https://en.wikipedia.org/wiki/Server_Name_Indication)\n (recommended), or all viewers including those that don't support SNI.\n To accept HTTPS connections from only viewers that support SNI, set SSLSupportMethod\n to sni-only. This is recommended. Most browsers and clients support SNI.\n To accept HTTPS connections from all viewers, including those that don't\n support SNI, set SSLSupportMethod to vip. This is not recommended, and\n results in additional monthly charges from CloudFront.\n\n * The minimum SSL/TLS protocol version that the distribution can use to\n communicate with viewers. To specify a minimum version, choose a value\n for MinimumProtocolVersion. For more information, see Security Policy\n (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValues-security-policy)\n in the Amazon CloudFront Developer Guide.\n\n * The location of the SSL/TLS certificate, Certificate Manager (ACM) (https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html)\n (recommended) or Identity and Access Management (IAM) (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html).\n You specify the location by setting a value in one of the following fields\n (not both): ACMCertificateArn IAMCertificateId\n\nAll distributions support HTTPS connections from viewers. To require viewers\nto use HTTPS only, or to redirect them from HTTP to HTTPS, use ViewerProtocolPolicy\nin the CacheBehavior or DefaultCacheBehavior. To specify how CloudFront should\nuse SSL/TLS to communicate with your custom origin, use CustomOriginConfig.\n\nFor more information, see Using HTTPS with CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html)\nand Using Alternate Domain Names and HTTPS (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-alternate-domain-names.html)\nin the Amazon CloudFront Developer Guide." properties: acmCertificateARN: type: "string" @@ -537,7 +537,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -575,7 +575,7 @@ spec: type: "array" type: "object" activeTrustedSigners: - description: "We recommend using TrustedKeyGroups instead of TrustedSigners.\n\n\nThis field contains a list of Amazon Web Services account IDs and the active\nCloudFront key pairs in each account that CloudFront can use to verify the\nsignatures of signed URLs or signed cookies." + description: "We recommend using TrustedKeyGroups instead of TrustedSigners.\n\nThis field contains a list of Amazon Web Services account IDs and the active\nCloudFront key pairs in each account that CloudFront can use to verify the\nsignatures of signed URLs or signed cookies." properties: enabled: type: "boolean" @@ -600,9 +600,9 @@ spec: type: "array" type: "object" aliasICPRecordals: - description: "Amazon Web Services services in China customers must file for an Internet\nContent Provider (ICP) recordal if they want to serve content publicly on\nan alternate domain name, also known as a CNAME, that they've added to CloudFront.\nAliasICPRecordal provides the ICP recordal status for CNAMEs associated with\ndistributions.\n\n\nFor more information about ICP recordals, see Signup, Accounts, and Credentials\n(https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html)\nin Getting Started with Amazon Web Services services in China." + description: "Amazon Web Services services in China customers must file for an Internet\nContent Provider (ICP) recordal if they want to serve content publicly on\nan alternate domain name, also known as a CNAME, that they've added to CloudFront.\nAliasICPRecordal provides the ICP recordal status for CNAMEs associated with\ndistributions.\n\nFor more information about ICP recordals, see Signup, Accounts, and Credentials\n(https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html)\nin Getting Started with Amazon Web Services services in China." items: - description: "Amazon Web Services services in China customers must file for an Internet\nContent Provider (ICP) recordal if they want to serve content publicly on\nan alternate domain name, also known as a CNAME, that they've added to CloudFront.\nAliasICPRecordal provides the ICP recordal status for CNAMEs associated with\ndistributions. The status is returned in the CloudFront response; you can't\nconfigure it yourself.\n\n\nFor more information about ICP recordals, see Signup, Accounts, and Credentials\n(https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html)\nin Getting Started with Amazon Web Services services in China." + description: "Amazon Web Services services in China customers must file for an Internet\nContent Provider (ICP) recordal if they want to serve content publicly on\nan alternate domain name, also known as a CNAME, that they've added to CloudFront.\nAliasICPRecordal provides the ICP recordal status for CNAMEs associated with\ndistributions. The status is returned in the CloudFront response; you can't\nconfigure it yourself.\n\nFor more information about ICP recordals, see Signup, Accounts, and Credentials\n(https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html)\nin Getting Started with Amazon Web Services services in China." properties: cname: type: "string" diff --git a/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/functions.yaml b/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/functions.yaml index 4b391fb4d..df28a961e 100644 --- a/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/functions.yaml +++ b/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/functions.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "functions.cloudfront.services.k8s.aws" spec: group: "cloudfront.services.k8s.aws" @@ -56,7 +56,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/originrequestpolicies.yaml b/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/originrequestpolicies.yaml index 318a81320..3b2486aa7 100644 --- a/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/originrequestpolicies.yaml +++ b/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/originrequestpolicies.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "originrequestpolicies.cloudfront.services.k8s.aws" spec: group: "cloudfront.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "OriginRequestPolicySpec defines the desired state of OriginRequestPolicy.\n\n\nAn origin request policy.\n\n\nWhen it's attached to a cache behavior, the origin request policy determines\nthe values that CloudFront includes in requests that it sends to the origin.\nEach request that CloudFront sends to the origin includes the following:\n\n\n * The request body and the URL path (without the domain name) from the\n viewer request.\n\n\n * The headers that CloudFront automatically includes in every origin request,\n including Host, User-Agent, and X-Amz-Cf-Id.\n\n\n * All HTTP headers, cookies, and URL query strings that are specified\n in the cache policy or the origin request policy. These can include items\n from the viewer request and, in the case of headers, additional ones that\n are added by CloudFront.\n\n\nCloudFront sends a request when it can't find an object in its cache that\nmatches the request. If you want to send values to the origin and also include\nthem in the cache key, use CachePolicy." + description: "OriginRequestPolicySpec defines the desired state of OriginRequestPolicy.\n\nAn origin request policy.\n\nWhen it's attached to a cache behavior, the origin request policy determines\nthe values that CloudFront includes in requests that it sends to the origin.\nEach request that CloudFront sends to the origin includes the following:\n\n * The request body and the URL path (without the domain name) from the\n viewer request.\n\n * The headers that CloudFront automatically includes in every origin request,\n including Host, User-Agent, and X-Amz-Cf-Id.\n\n * All HTTP headers, cookies, and URL query strings that are specified\n in the cache policy or the origin request policy. These can include items\n from the viewer request and, in the case of headers, additional ones that\n are added by CloudFront.\n\nCloudFront sends a request when it can't find an object in its cache that\nmatches the request. If you want to send values to the origin and also include\nthem in the cache key, use CachePolicy." properties: originRequestPolicyConfig: description: "An origin request policy configuration." @@ -89,7 +89,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/responseheaderspolicies.yaml b/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/responseheaderspolicies.yaml index 428493888..2a3374401 100644 --- a/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/responseheaderspolicies.yaml +++ b/crd-catalog/aws-controllers-k8s/cloudfront-controller/cloudfront.services.k8s.aws/v1alpha1/responseheaderspolicies.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "responseheaderspolicies.cloudfront.services.k8s.aws" spec: group: "cloudfront.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "ResponseHeadersPolicySpec defines the desired state of ResponseHeadersPolicy.\n\n\nA response headers policy.\n\n\nA response headers policy contains information about a set of HTTP response\nheaders.\n\n\nAfter you create a response headers policy, you can use its ID to attach\nit to one or more cache behaviors in a CloudFront distribution. When it's\nattached to a cache behavior, the response headers policy affects the HTTP\nheaders that CloudFront includes in HTTP responses to requests that match\nthe cache behavior. CloudFront adds or removes response headers according\nto the configuration of the response headers policy.\n\n\nFor more information, see Adding or removing HTTP headers in CloudFront responses\n(https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/modifying-response-headers.html)\nin the Amazon CloudFront Developer Guide." + description: "ResponseHeadersPolicySpec defines the desired state of ResponseHeadersPolicy.\n\nA response headers policy.\n\nA response headers policy contains information about a set of HTTP response\nheaders.\n\nAfter you create a response headers policy, you can use its ID to attach\nit to one or more cache behaviors in a CloudFront distribution. When it's\nattached to a cache behavior, the response headers policy affects the HTTP\nheaders that CloudFront includes in HTTP responses to requests that match\nthe cache behavior. CloudFront adds or removes response headers according\nto the configuration of the response headers policy.\n\nFor more information, see Adding or removing HTTP headers in CloudFront responses\n(https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/modifying-response-headers.html)\nin the Amazon CloudFront Developer Guide." properties: responseHeadersPolicyConfig: description: "Contains metadata about the response headers policy, and a set of configurations\nthat specify the HTTP headers." @@ -35,12 +35,12 @@ spec: comment: type: "string" corsConfig: - description: "A configuration for a set of HTTP response headers that are used for cross-origin\nresource sharing (CORS). CloudFront adds these headers to HTTP responses\nthat it sends for CORS requests that match a cache behavior associated with\nthis response headers policy.\n\n\nFor more information about CORS, see Cross-Origin Resource Sharing (CORS)\n(https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) in the MDN Web Docs." + description: "A configuration for a set of HTTP response headers that are used for cross-origin\nresource sharing (CORS). CloudFront adds these headers to HTTP responses\nthat it sends for CORS requests that match a cache behavior associated with\nthis response headers policy.\n\nFor more information about CORS, see Cross-Origin Resource Sharing (CORS)\n(https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) in the MDN Web Docs." properties: accessControlAllowCredentials: type: "boolean" accessControlAllowHeaders: - description: "A list of HTTP header names that CloudFront includes as values for the Access-Control-Allow-Headers\nHTTP response header.\n\n\nFor more information about the Access-Control-Allow-Headers HTTP response\nheader, see Access-Control-Allow-Headers (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers)\nin the MDN Web Docs." + description: "A list of HTTP header names that CloudFront includes as values for the Access-Control-Allow-Headers\nHTTP response header.\n\nFor more information about the Access-Control-Allow-Headers HTTP response\nheader, see Access-Control-Allow-Headers (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers)\nin the MDN Web Docs." properties: items: items: @@ -48,7 +48,7 @@ spec: type: "array" type: "object" accessControlAllowMethods: - description: "A list of HTTP methods that CloudFront includes as values for the Access-Control-Allow-Methods\nHTTP response header.\n\n\nFor more information about the Access-Control-Allow-Methods HTTP response\nheader, see Access-Control-Allow-Methods (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods)\nin the MDN Web Docs." + description: "A list of HTTP methods that CloudFront includes as values for the Access-Control-Allow-Methods\nHTTP response header.\n\nFor more information about the Access-Control-Allow-Methods HTTP response\nheader, see Access-Control-Allow-Methods (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods)\nin the MDN Web Docs." properties: items: items: @@ -56,7 +56,7 @@ spec: type: "array" type: "object" accessControlAllowOrigins: - description: "A list of origins (domain names) that CloudFront can use as the value for\nthe Access-Control-Allow-Origin HTTP response header.\n\n\nFor more information about the Access-Control-Allow-Origin HTTP response\nheader, see Access-Control-Allow-Origin (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin)\nin the MDN Web Docs." + description: "A list of origins (domain names) that CloudFront can use as the value for\nthe Access-Control-Allow-Origin HTTP response header.\n\nFor more information about the Access-Control-Allow-Origin HTTP response\nheader, see Access-Control-Allow-Origin (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin)\nin the MDN Web Docs." properties: items: items: @@ -64,7 +64,7 @@ spec: type: "array" type: "object" accessControlExposeHeaders: - description: "A list of HTTP headers that CloudFront includes as values for the Access-Control-Expose-Headers\nHTTP response header.\n\n\nFor more information about the Access-Control-Expose-Headers HTTP response\nheader, see Access-Control-Expose-Headers (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers)\nin the MDN Web Docs." + description: "A list of HTTP headers that CloudFront includes as values for the Access-Control-Expose-Headers\nHTTP response header.\n\nFor more information about the Access-Control-Expose-Headers HTTP response\nheader, see Access-Control-Expose-Headers (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers)\nin the MDN Web Docs." properties: items: items: @@ -111,7 +111,7 @@ spec: description: "A configuration for a set of security-related HTTP response headers. CloudFront\nadds these headers to HTTP responses that it sends for requests that match\na cache behavior associated with this response headers policy." properties: contentSecurityPolicy: - description: "The policy directives and their values that CloudFront includes as values\nfor the Content-Security-Policy HTTP response header.\n\n\nFor more information about the Content-Security-Policy HTTP response header,\nsee Content-Security-Policy (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy)\nin the MDN Web Docs." + description: "The policy directives and their values that CloudFront includes as values\nfor the Content-Security-Policy HTTP response header.\n\nFor more information about the Content-Security-Policy HTTP response header,\nsee Content-Security-Policy (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy)\nin the MDN Web Docs." properties: contentSecurityPolicy: type: "string" @@ -119,13 +119,13 @@ spec: type: "boolean" type: "object" contentTypeOptions: - description: "Determines whether CloudFront includes the X-Content-Type-Options HTTP response\nheader with its value set to nosniff.\n\n\nFor more information about the X-Content-Type-Options HTTP response header,\nsee X-Content-Type-Options (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options)\nin the MDN Web Docs." + description: "Determines whether CloudFront includes the X-Content-Type-Options HTTP response\nheader with its value set to nosniff.\n\nFor more information about the X-Content-Type-Options HTTP response header,\nsee X-Content-Type-Options (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options)\nin the MDN Web Docs." properties: override: type: "boolean" type: "object" frameOptions: - description: "Determines whether CloudFront includes the X-Frame-Options HTTP response\nheader and the header's value.\n\n\nFor more information about the X-Frame-Options HTTP response header, see\nX-Frame-Options (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options)\nin the MDN Web Docs." + description: "Determines whether CloudFront includes the X-Frame-Options HTTP response\nheader and the header's value.\n\nFor more information about the X-Frame-Options HTTP response header, see\nX-Frame-Options (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options)\nin the MDN Web Docs." properties: frameOption: type: "string" @@ -133,7 +133,7 @@ spec: type: "boolean" type: "object" referrerPolicy: - description: "Determines whether CloudFront includes the Referrer-Policy HTTP response\nheader and the header's value.\n\n\nFor more information about the Referrer-Policy HTTP response header, see\nReferrer-Policy (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy)\nin the MDN Web Docs." + description: "Determines whether CloudFront includes the Referrer-Policy HTTP response\nheader and the header's value.\n\nFor more information about the Referrer-Policy HTTP response header, see\nReferrer-Policy (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy)\nin the MDN Web Docs." properties: override: type: "boolean" @@ -141,7 +141,7 @@ spec: type: "string" type: "object" strictTransportSecurity: - description: "Determines whether CloudFront includes the Strict-Transport-Security HTTP\nresponse header and the header's value.\n\n\nFor more information about the Strict-Transport-Security HTTP response header,\nsee Strict-Transport-Security (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security)\nin the MDN Web Docs." + description: "Determines whether CloudFront includes the Strict-Transport-Security HTTP\nresponse header and the header's value.\n\nFor more information about the Strict-Transport-Security HTTP response header,\nsee Strict-Transport-Security (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security)\nin the MDN Web Docs." properties: accessControlMaxAgeSec: format: "int64" @@ -154,7 +154,7 @@ spec: type: "boolean" type: "object" xssProtection: - description: "Determines whether CloudFront includes the X-XSS-Protection HTTP response\nheader and the header's value.\n\n\nFor more information about the X-XSS-Protection HTTP response header, see\nX-XSS-Protection (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection)\nin the MDN Web Docs." + description: "Determines whether CloudFront includes the X-XSS-Protection HTTP response\nheader and the header's value.\n\nFor more information about the X-XSS-Protection HTTP response header, see\nX-XSS-Protection (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection)\nin the MDN Web Docs." properties: modeBlock: type: "boolean" @@ -167,7 +167,7 @@ spec: type: "object" type: "object" serverTimingHeadersConfig: - description: "A configuration for enabling the Server-Timing header in HTTP responses sent\nfrom CloudFront. CloudFront adds this header to HTTP responses that it sends\nin response to requests that match a cache behavior that's associated with\nthis response headers policy.\n\n\nYou can use the Server-Timing header to view metrics that can help you gain\ninsights about the behavior and performance of CloudFront. For example, you\ncan see which cache layer served a cache hit, or the first byte latency from\nthe origin when there was a cache miss. You can use the metrics in the Server-Timing\nheader to troubleshoot issues or test the efficiency of your CloudFront configuration.\nFor more information, see Server-Timing header (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html#server-timing-header)\nin the Amazon CloudFront Developer Guide." + description: "A configuration for enabling the Server-Timing header in HTTP responses sent\nfrom CloudFront. CloudFront adds this header to HTTP responses that it sends\nin response to requests that match a cache behavior that's associated with\nthis response headers policy.\n\nYou can use the Server-Timing header to view metrics that can help you gain\ninsights about the behavior and performance of CloudFront. For example, you\ncan see which cache layer served a cache hit, or the first byte latency from\nthe origin when there was a cache miss. You can use the metrics in the Server-Timing\nheader to troubleshoot issues or test the efficiency of your CloudFront configuration.\nFor more information, see Server-Timing header (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html#server-timing-header)\nin the Amazon CloudFront Developer Guide." properties: enabled: type: "boolean" @@ -185,7 +185,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/cloudtrail-controller/cloudtrail.services.k8s.aws/v1alpha1/eventdatastores.yaml b/crd-catalog/aws-controllers-k8s/cloudtrail-controller/cloudtrail.services.k8s.aws/v1alpha1/eventdatastores.yaml index b26f452a1..4f3c53819 100644 --- a/crd-catalog/aws-controllers-k8s/cloudtrail-controller/cloudtrail.services.k8s.aws/v1alpha1/eventdatastores.yaml +++ b/crd-catalog/aws-controllers-k8s/cloudtrail-controller/cloudtrail.services.k8s.aws/v1alpha1/eventdatastores.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "eventdatastores.cloudtrail.services.k8s.aws" spec: group: "cloudtrail.services.k8s.aws" @@ -27,12 +27,12 @@ spec: metadata: type: "object" spec: - description: "EventDataStoreSpec defines the desired state of EventDataStore.\n\n\nA storage lake of event data against which you can run complex SQL-based\nqueries. An event data store can include events that you have logged on your\naccount from the last 90 to 2555 days (about three months to up to seven\nyears). To select events for an event data store, use advanced event selectors\n(https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced)." + description: "EventDataStoreSpec defines the desired state of EventDataStore.\n\nA storage lake of event data against which you can run complex SQL-based\nqueries. An event data store can include events that you have logged on your\naccount from the last 90 to 2555 days (about three months to up to seven\nyears). To select events for an event data store, use advanced event selectors\n(https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced)." properties: advancedEventSelectors: description: "The advanced event selectors to use to select the events for the data store.\nFor more information about how to use advanced event selectors, see Log events\nby using advanced event selectors (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced)\nin the CloudTrail User Guide." items: - description: "Advanced event selectors let you create fine-grained selectors for the following\nCloudTrail event record fields. They help you control costs by logging only\nthose events that are important to you. For more information about advanced\nevent selectors, see Logging data events for trails (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html)\nin the CloudTrail User Guide.\n\n\n * readOnly\n\n\n * eventSource\n\n\n * eventName\n\n\n * eventCategory\n\n\n * resources.type\n\n\n * resources.ARN\n\n\nYou cannot apply both event selectors and advanced event selectors to a trail." + description: "Advanced event selectors let you create fine-grained selectors for the following\nCloudTrail event record fields. They help you control costs by logging only\nthose events that are important to you. For more information about advanced\nevent selectors, see Logging data events for trails (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html)\nin the CloudTrail User Guide.\n\n * readOnly\n\n * eventSource\n\n * eventName\n\n * eventCategory\n\n * resources.type\n\n * resources.ARN\n\nYou cannot apply both event selectors and advanced event selectors to a trail." properties: fieldSelectors: items: @@ -106,7 +106,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/cloudtrail-controller/cloudtrail.services.k8s.aws/v1alpha1/trails.yaml b/crd-catalog/aws-controllers-k8s/cloudtrail-controller/cloudtrail.services.k8s.aws/v1alpha1/trails.yaml index 259598514..087efd569 100644 --- a/crd-catalog/aws-controllers-k8s/cloudtrail-controller/cloudtrail.services.k8s.aws/v1alpha1/trails.yaml +++ b/crd-catalog/aws-controllers-k8s/cloudtrail-controller/cloudtrail.services.k8s.aws/v1alpha1/trails.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "trails.cloudtrail.services.k8s.aws" spec: group: "cloudtrail.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "TrailSpec defines the desired state of Trail.\n\n\nThe settings for a trail." + description: "TrailSpec defines the desired state of Trail.\n\nThe settings for a trail." properties: cloudWatchLogsLogGroupARN: description: "Specifies a log group name using an Amazon Resource Name (ARN), a unique\nidentifier that represents the log group to which CloudTrail logs will be\ndelivered. Not required unless you specify CloudWatchLogsRoleArn." @@ -36,7 +36,7 @@ spec: description: "Specifies the role for the CloudWatch Logs endpoint to assume to write to\na user's log group." type: "string" enableLogFileValidation: - description: "Specifies whether log file integrity validation is enabled. The default is\nfalse.\n\n\nWhen you disable log file integrity validation, the chain of digest files\nis broken after one hour. CloudTrail does not create digest files for log\nfiles that were delivered during a period in which log file integrity validation\nwas disabled. For example, if you enable log file integrity validation at\nnoon on January 1, disable it at noon on January 2, and re-enable it at noon\non January 10, digest files will not be created for the log files delivered\nfrom noon on January 2 to noon on January 10. The same applies whenever you\nstop CloudTrail logging or delete a trail." + description: "Specifies whether log file integrity validation is enabled. The default is\nfalse.\n\nWhen you disable log file integrity validation, the chain of digest files\nis broken after one hour. CloudTrail does not create digest files for log\nfiles that were delivered during a period in which log file integrity validation\nwas disabled. For example, if you enable log file integrity validation at\nnoon on January 1, disable it at noon on January 2, and re-enable it at noon\non January 10, digest files will not be created for the log files delivered\nfrom noon on January 2 to noon on January 10. The same applies whenever you\nstop CloudTrail logging or delete a trail." type: "boolean" includeGlobalServiceEvents: description: "Specifies whether the trail is publishing events from global services such\nas IAM to the log files." @@ -48,10 +48,10 @@ spec: description: "Specifies whether the trail is created for all accounts in an organization\nin Organizations, or only for the current Amazon Web Services account. The\ndefault is false, and cannot be true unless the call is made on behalf of\nan Amazon Web Services account that is the management account for an organization\nin Organizations." type: "boolean" kmsKeyID: - description: "Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail.\nThe value can be an alias name prefixed by \"alias/\", a fully specified ARN\nto an alias, a fully specified ARN to a key, or a globally unique identifier.\n\n\nCloudTrail also supports KMS multi-Region keys. For more information about\nmulti-Region keys, see Using multi-Region keys (https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html)\nin the Key Management Service Developer Guide.\n\n\nExamples:\n\n\n * alias/MyAliasName\n\n\n * arn:aws:kms:us-east-2:123456789012:alias/MyAliasName\n\n\n * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012\n\n\n * 12345678-1234-1234-1234-123456789012" + description: "Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail.\nThe value can be an alias name prefixed by \"alias/\", a fully specified ARN\nto an alias, a fully specified ARN to a key, or a globally unique identifier.\n\nCloudTrail also supports KMS multi-Region keys. For more information about\nmulti-Region keys, see Using multi-Region keys (https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html)\nin the Key Management Service Developer Guide.\n\nExamples:\n\n * alias/MyAliasName\n\n * arn:aws:kms:us-east-2:123456789012:alias/MyAliasName\n\n * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012\n\n * 12345678-1234-1234-1234-123456789012" type: "string" name: - description: "Specifies the name of the trail. The name must meet the following requirements:\n\n\n * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores\n (_), or dashes (-)\n\n\n * Start with a letter or number, and end with a letter or number\n\n\n * Be between 3 and 128 characters\n\n\n * Have no adjacent periods, underscores or dashes. Names like my-_namespace\n and my--namespace are not valid.\n\n\n * Not be in IP address format (for example, 192.168.5.4)" + description: "Specifies the name of the trail. The name must meet the following requirements:\n\n * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores\n (_), or dashes (-)\n\n * Start with a letter or number, and end with a letter or number\n\n * Be between 3 and 128 characters\n\n * Have no adjacent periods, underscores or dashes. Names like my-_namespace\n and my--namespace are not valid.\n\n * Not be in IP address format (for example, 192.168.5.4)" type: "string" s3BucketName: description: "Specifies the name of the Amazon S3 bucket designated for publishing log\nfiles. See Amazon S3 Bucket Naming Requirements (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html)." @@ -83,7 +83,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -125,7 +125,7 @@ spec: description: "Specifies whether log file integrity validation is enabled." type: "boolean" snsTopicARN: - description: "Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications\nwhen log files are delivered. The format of a topic ARN is:\n\n\narn:aws:sns:us-east-2:123456789012:MyTopic" + description: "Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications\nwhen log files are delivered. The format of a topic ARN is:\n\narn:aws:sns:us-east-2:123456789012:MyTopic" type: "string" type: "object" type: "object" diff --git a/crd-catalog/aws-controllers-k8s/cloudwatch-controller/cloudwatch.services.k8s.aws/v1alpha1/metricalarms.yaml b/crd-catalog/aws-controllers-k8s/cloudwatch-controller/cloudwatch.services.k8s.aws/v1alpha1/metricalarms.yaml index 8307890dc..d7cf2a605 100644 --- a/crd-catalog/aws-controllers-k8s/cloudwatch-controller/cloudwatch.services.k8s.aws/v1alpha1/metricalarms.yaml +++ b/crd-catalog/aws-controllers-k8s/cloudwatch-controller/cloudwatch.services.k8s.aws/v1alpha1/metricalarms.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "metricalarms.cloudwatch.services.k8s.aws" spec: group: "cloudwatch.services.k8s.aws" @@ -27,13 +27,13 @@ spec: metadata: type: "object" spec: - description: "MetricAlarmSpec defines the desired state of MetricAlarm.\n\n\nThe details about a metric alarm." + description: "MetricAlarmSpec defines the desired state of MetricAlarm.\n\nThe details about a metric alarm." properties: actionsEnabled: description: "Indicates whether actions should be executed during any changes to the alarm\nstate. The default is TRUE." type: "boolean" alarmActions: - description: "The actions to execute when this alarm transitions to the ALARM state from\nany other state. Each action is specified as an Amazon Resource Name (ARN).\nValid values:\n\n\nEC2 actions:\n\n\n * arn:aws:automate:region:ec2:stop\n\n\n * arn:aws:automate:region:ec2:terminate\n\n\n * arn:aws:automate:region:ec2:reboot\n\n\n * arn:aws:automate:region:ec2:recover\n\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0\n\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0\n\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0\n\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0\n\n\nAutoscaling action:\n\n\n * arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name\n\n\nSNS notification action:\n\n\n * arn:aws:sns:region:account-id:sns-topic-name:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name\n\n\nSSM integration actions:\n\n\n * arn:aws:ssm:region:account-id:opsitem:severity#CATEGORY=category-name\n\n\n * arn:aws:ssm-incidents::account-id:responseplan/response-plan-name" + description: "The actions to execute when this alarm transitions to the ALARM state from\nany other state. Each action is specified as an Amazon Resource Name (ARN).\nValid values:\n\nEC2 actions:\n\n * arn:aws:automate:region:ec2:stop\n\n * arn:aws:automate:region:ec2:terminate\n\n * arn:aws:automate:region:ec2:reboot\n\n * arn:aws:automate:region:ec2:recover\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0\n\nAutoscaling action:\n\n * arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name\n\nSNS notification action:\n\n * arn:aws:sns:region:account-id:sns-topic-name:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name\n\nSSM integration actions:\n\n * arn:aws:ssm:region:account-id:opsitem:severity#CATEGORY=category-name\n\n * arn:aws:ssm-incidents::account-id:responseplan/response-plan-name" items: type: "string" type: "array" @@ -41,7 +41,7 @@ spec: description: "The description for the alarm." type: "string" comparisonOperator: - description: "The arithmetic operation to use when comparing the specified statistic and\nthreshold. The specified statistic value is used as the first operand.\n\n\nThe values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold,\nand GreaterThanUpperThreshold are used only for alarms based on anomaly detection\nmodels." + description: "The arithmetic operation to use when comparing the specified statistic and\nthreshold. The specified statistic value is used as the first operand.\n\nThe values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold,\nand GreaterThanUpperThreshold are used only for alarms based on anomaly detection\nmodels." type: "string" datapointsToAlarm: description: "The number of data points that must be breaching to trigger the alarm. This\nis used only if you are setting an \"M out of N\" alarm. In that case, this\nvalue is the M. For more information, see Evaluating an Alarm (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation)\nin the Amazon CloudWatch User Guide." @@ -50,7 +50,7 @@ spec: dimensions: description: "The dimensions for the metric specified in MetricName." items: - description: "A dimension is a name/value pair that is part of the identity of a metric.\nBecause dimensions are part of the unique identifier for a metric, whenever\nyou add a unique name/value pair to one of your metrics, you are creating\na new variation of that metric. For example, many Amazon EC2 metrics publish\nInstanceId as a dimension name, and the actual instance ID as the value for\nthat dimension.\n\n\nYou can assign up to 30 dimensions to a metric." + description: "A dimension is a name/value pair that is part of the identity of a metric.\nBecause dimensions are part of the unique identifier for a metric, whenever\nyou add a unique name/value pair to one of your metrics, you are creating\na new variation of that metric. For example, many Amazon EC2 metrics publish\nInstanceId as a dimension name, and the actual instance ID as the value for\nthat dimension.\n\nYou can assign up to 30 dimensions to a metric." properties: name: type: "string" @@ -59,27 +59,27 @@ spec: type: "object" type: "array" evaluateLowSampleCountPercentile: - description: "Used only for alarms based on percentiles. If you specify ignore, the alarm\nstate does not change during periods with too few data points to be statistically\nsignificant. If you specify evaluate or omit this parameter, the alarm is\nalways evaluated and possibly changes state no matter how many data points\nare available. For more information, see Percentile-Based CloudWatch Alarms\nand Low Data Samples (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#percentiles-with-low-samples).\n\n\nValid Values: evaluate | ignore" + description: "Used only for alarms based on percentiles. If you specify ignore, the alarm\nstate does not change during periods with too few data points to be statistically\nsignificant. If you specify evaluate or omit this parameter, the alarm is\nalways evaluated and possibly changes state no matter how many data points\nare available. For more information, see Percentile-Based CloudWatch Alarms\nand Low Data Samples (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#percentiles-with-low-samples).\n\nValid Values: evaluate | ignore" type: "string" evaluationPeriods: - description: "The number of periods over which data is compared to the specified threshold.\nIf you are setting an alarm that requires that a number of consecutive data\npoints be breaching to trigger the alarm, this value specifies that number.\nIf you are setting an \"M out of N\" alarm, this value is the N.\n\n\nAn alarm's total current evaluation period can be no longer than one day,\nso this number multiplied by Period cannot be more than 86,400 seconds." + description: "The number of periods over which data is compared to the specified threshold.\nIf you are setting an alarm that requires that a number of consecutive data\npoints be breaching to trigger the alarm, this value specifies that number.\nIf you are setting an \"M out of N\" alarm, this value is the N.\n\nAn alarm's total current evaluation period can be no longer than one day,\nso this number multiplied by Period cannot be more than 86,400 seconds." format: "int64" type: "integer" extendedStatistic: - description: "The extended statistic for the metric specified in MetricName. When you call\nPutMetricAlarm and specify a MetricName, you must specify either Statistic\nor ExtendedStatistic but not both.\n\n\nIf you specify ExtendedStatistic, the following are valid values:\n\n\n * p90\n\n\n * tm90\n\n\n * tc90\n\n\n * ts90\n\n\n * wm90\n\n\n * IQM\n\n\n * PR(n:m) where n and m are values of the metric\n\n\n * TC(X%:X%) where X is between 10 and 90 inclusive.\n\n\n * TM(X%:X%) where X is between 10 and 90 inclusive.\n\n\n * TS(X%:X%) where X is between 10 and 90 inclusive.\n\n\n * WM(X%:X%) where X is between 10 and 90 inclusive.\n\n\nFor more information about these extended statistics, see CloudWatch statistics\ndefinitions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html)." + description: "The extended statistic for the metric specified in MetricName. When you call\nPutMetricAlarm and specify a MetricName, you must specify either Statistic\nor ExtendedStatistic but not both.\n\nIf you specify ExtendedStatistic, the following are valid values:\n\n * p90\n\n * tm90\n\n * tc90\n\n * ts90\n\n * wm90\n\n * IQM\n\n * PR(n:m) where n and m are values of the metric\n\n * TC(X%:X%) where X is between 10 and 90 inclusive.\n\n * TM(X%:X%) where X is between 10 and 90 inclusive.\n\n * TS(X%:X%) where X is between 10 and 90 inclusive.\n\n * WM(X%:X%) where X is between 10 and 90 inclusive.\n\nFor more information about these extended statistics, see CloudWatch statistics\ndefinitions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html)." type: "string" insufficientDataActions: - description: "The actions to execute when this alarm transitions to the INSUFFICIENT_DATA\nstate from any other state. Each action is specified as an Amazon Resource\nName (ARN). Valid values:\n\n\nEC2 actions:\n\n\n * arn:aws:automate:region:ec2:stop\n\n\n * arn:aws:automate:region:ec2:terminate\n\n\n * arn:aws:automate:region:ec2:reboot\n\n\n * arn:aws:automate:region:ec2:recover\n\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0\n\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0\n\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0\n\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0\n\n\nAutoscaling action:\n\n\n * arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name\n\n\nSNS notification action:\n\n\n * arn:aws:sns:region:account-id:sns-topic-name:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name\n\n\nSSM integration actions:\n\n\n * arn:aws:ssm:region:account-id:opsitem:severity#CATEGORY=category-name\n\n\n * arn:aws:ssm-incidents::account-id:responseplan/response-plan-name" + description: "The actions to execute when this alarm transitions to the INSUFFICIENT_DATA\nstate from any other state. Each action is specified as an Amazon Resource\nName (ARN). Valid values:\n\nEC2 actions:\n\n * arn:aws:automate:region:ec2:stop\n\n * arn:aws:automate:region:ec2:terminate\n\n * arn:aws:automate:region:ec2:reboot\n\n * arn:aws:automate:region:ec2:recover\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0\n\nAutoscaling action:\n\n * arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name\n\nSNS notification action:\n\n * arn:aws:sns:region:account-id:sns-topic-name:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name\n\nSSM integration actions:\n\n * arn:aws:ssm:region:account-id:opsitem:severity#CATEGORY=category-name\n\n * arn:aws:ssm-incidents::account-id:responseplan/response-plan-name" items: type: "string" type: "array" metricName: - description: "The name for the metric associated with the alarm. For each PutMetricAlarm\noperation, you must specify either MetricName or a Metrics array.\n\n\nIf you are creating an alarm based on a math expression, you cannot specify\nthis parameter, or any of the Namespace, Dimensions, Period, Unit, Statistic,\nor ExtendedStatistic parameters. Instead, you specify all this information\nin the Metrics array." + description: "The name for the metric associated with the alarm. For each PutMetricAlarm\noperation, you must specify either MetricName or a Metrics array.\n\nIf you are creating an alarm based on a math expression, you cannot specify\nthis parameter, or any of the Namespace, Dimensions, Period, Unit, Statistic,\nor ExtendedStatistic parameters. Instead, you specify all this information\nin the Metrics array." type: "string" metrics: - description: "An array of MetricDataQuery structures that enable you to create an alarm\nbased on the result of a metric math expression. For each PutMetricAlarm\noperation, you must specify either MetricName or a Metrics array.\n\n\nEach item in the Metrics array either retrieves a metric or performs a math\nexpression.\n\n\nOne item in the Metrics array is the expression that the alarm watches. You\ndesignate this expression by setting ReturnData to true for this object in\nthe array. For more information, see MetricDataQuery (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDataQuery.html).\n\n\nIf you use the Metrics parameter, you cannot include the Namespace, MetricName,\nDimensions, Period, Unit, Statistic, or ExtendedStatistic parameters of PutMetricAlarm\nin the same operation. Instead, you retrieve the metrics you are using in\nyour math expression as part of the Metrics array." + description: "An array of MetricDataQuery structures that enable you to create an alarm\nbased on the result of a metric math expression. For each PutMetricAlarm\noperation, you must specify either MetricName or a Metrics array.\n\nEach item in the Metrics array either retrieves a metric or performs a math\nexpression.\n\nOne item in the Metrics array is the expression that the alarm watches. You\ndesignate this expression by setting ReturnData to true for this object in\nthe array. For more information, see MetricDataQuery (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDataQuery.html).\n\nIf you use the Metrics parameter, you cannot include the Namespace, MetricName,\nDimensions, Period, Unit, Statistic, or ExtendedStatistic parameters of PutMetricAlarm\nin the same operation. Instead, you retrieve the metrics you are using in\nyour math expression as part of the Metrics array." items: - description: "This structure is used in both GetMetricData and PutMetricAlarm. The supported\nuse of this structure is different for those two operations.\n\n\nWhen used in GetMetricData, it indicates the metric data to return, and whether\nthis call is just retrieving a batch set of data for one metric, or is performing\na Metrics Insights query or a math expression. A single GetMetricData call\ncan include up to 500 MetricDataQuery structures.\n\n\nWhen used in PutMetricAlarm, it enables you to create an alarm based on a\nmetric math expression. Each MetricDataQuery in the array specifies either\na metric to retrieve, or a math expression to be performed on retrieved metrics.\nA single PutMetricAlarm call can include up to 20 MetricDataQuery structures\nin the array. The 20 structures can include as many as 10 structures that\ncontain a MetricStat parameter to retrieve a metric, and as many as 10 structures\nthat contain the Expression parameter to perform a math expression. Of those\nExpression structures, one must have true as the value for ReturnData. The\nresult of this expression is the value the alarm watches.\n\n\nAny expression used in a PutMetricAlarm operation must return a single time\nseries. For more information, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax)\nin the Amazon CloudWatch User Guide.\n\n\nSome of the parameters of this structure also have different uses whether\nyou are using this structure in a GetMetricData operation or a PutMetricAlarm\noperation. These differences are explained in the following parameter list." + description: "This structure is used in both GetMetricData and PutMetricAlarm. The supported\nuse of this structure is different for those two operations.\n\nWhen used in GetMetricData, it indicates the metric data to return, and whether\nthis call is just retrieving a batch set of data for one metric, or is performing\na Metrics Insights query or a math expression. A single GetMetricData call\ncan include up to 500 MetricDataQuery structures.\n\nWhen used in PutMetricAlarm, it enables you to create an alarm based on a\nmetric math expression. Each MetricDataQuery in the array specifies either\na metric to retrieve, or a math expression to be performed on retrieved metrics.\nA single PutMetricAlarm call can include up to 20 MetricDataQuery structures\nin the array. The 20 structures can include as many as 10 structures that\ncontain a MetricStat parameter to retrieve a metric, and as many as 10 structures\nthat contain the Expression parameter to perform a math expression. Of those\nExpression structures, one must have true as the value for ReturnData. The\nresult of this expression is the value the alarm watches.\n\nAny expression used in a PutMetricAlarm operation must return a single time\nseries. For more information, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax)\nin the Amazon CloudWatch User Guide.\n\nSome of the parameters of this structure also have different uses whether\nyou are using this structure in a GetMetricData operation or a PutMetricAlarm\noperation. These differences are explained in the following parameter list." properties: accountID: type: "string" @@ -97,7 +97,7 @@ spec: properties: dimensions: items: - description: "A dimension is a name/value pair that is part of the identity of a metric.\nBecause dimensions are part of the unique identifier for a metric, whenever\nyou add a unique name/value pair to one of your metrics, you are creating\na new variation of that metric. For example, many Amazon EC2 metrics publish\nInstanceId as a dimension name, and the actual instance ID as the value for\nthat dimension.\n\n\nYou can assign up to 30 dimensions to a metric." + description: "A dimension is a name/value pair that is part of the identity of a metric.\nBecause dimensions are part of the unique identifier for a metric, whenever\nyou add a unique name/value pair to one of your metrics, you are creating\na new variation of that metric. For example, many Amazon EC2 metrics publish\nInstanceId as a dimension name, and the actual instance ID as the value for\nthat dimension.\n\nYou can assign up to 30 dimensions to a metric." properties: name: type: "string" @@ -126,25 +126,25 @@ spec: type: "object" type: "array" name: - description: "The name for the alarm. This name must be unique within the Region.\n\n\nThe name must contain only UTF-8 characters, and can't contain ASCII control\ncharacters" + description: "The name for the alarm. This name must be unique within the Region.\n\nThe name must contain only UTF-8 characters, and can't contain ASCII control\ncharacters" type: "string" namespace: description: "The namespace for the metric associated specified in MetricName." type: "string" oKActions: - description: "The actions to execute when this alarm transitions to an OK state from any\nother state. Each action is specified as an Amazon Resource Name (ARN). Valid\nvalues:\n\n\nEC2 actions:\n\n\n * arn:aws:automate:region:ec2:stop\n\n\n * arn:aws:automate:region:ec2:terminate\n\n\n * arn:aws:automate:region:ec2:reboot\n\n\n * arn:aws:automate:region:ec2:recover\n\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0\n\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0\n\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0\n\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0\n\n\nAutoscaling action:\n\n\n * arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name\n\n\nSNS notification action:\n\n\n * arn:aws:sns:region:account-id:sns-topic-name:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name\n\n\nSSM integration actions:\n\n\n * arn:aws:ssm:region:account-id:opsitem:severity#CATEGORY=category-name\n\n\n * arn:aws:ssm-incidents::account-id:responseplan/response-plan-name" + description: "The actions to execute when this alarm transitions to an OK state from any\nother state. Each action is specified as an Amazon Resource Name (ARN). Valid\nvalues:\n\nEC2 actions:\n\n * arn:aws:automate:region:ec2:stop\n\n * arn:aws:automate:region:ec2:terminate\n\n * arn:aws:automate:region:ec2:reboot\n\n * arn:aws:automate:region:ec2:recover\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0\n\n * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0\n\nAutoscaling action:\n\n * arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name\n\nSNS notification action:\n\n * arn:aws:sns:region:account-id:sns-topic-name:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name\n\nSSM integration actions:\n\n * arn:aws:ssm:region:account-id:opsitem:severity#CATEGORY=category-name\n\n * arn:aws:ssm-incidents::account-id:responseplan/response-plan-name" items: type: "string" type: "array" period: - description: "The length, in seconds, used each time the metric specified in MetricName\nis evaluated. Valid values are 10, 30, and any multiple of 60.\n\n\nPeriod is required for alarms based on static thresholds. If you are creating\nan alarm based on a metric math expression, you specify the period for each\nmetric within the objects in the Metrics array.\n\n\nBe sure to specify 10 or 30 only for metrics that are stored by a PutMetricData\ncall with a StorageResolution of 1. If you specify a period of 10 or 30 for\na metric that does not have sub-minute resolution, the alarm still attempts\nto gather data at the period rate that you specify. In this case, it does\nnot receive data for the attempts that do not correspond to a one-minute\ndata resolution, and the alarm might often lapse into INSUFFICENT_DATA status.\nSpecifying 10 or 30 also sets this alarm as a high-resolution alarm, which\nhas a higher charge than other alarms. For more information about pricing,\nsee Amazon CloudWatch Pricing (https://aws.amazon.com/cloudwatch/pricing/).\n\n\nAn alarm's total current evaluation period can be no longer than one day,\nso Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds." + description: "The length, in seconds, used each time the metric specified in MetricName\nis evaluated. Valid values are 10, 30, and any multiple of 60.\n\nPeriod is required for alarms based on static thresholds. If you are creating\nan alarm based on a metric math expression, you specify the period for each\nmetric within the objects in the Metrics array.\n\nBe sure to specify 10 or 30 only for metrics that are stored by a PutMetricData\ncall with a StorageResolution of 1. If you specify a period of 10 or 30 for\na metric that does not have sub-minute resolution, the alarm still attempts\nto gather data at the period rate that you specify. In this case, it does\nnot receive data for the attempts that do not correspond to a one-minute\ndata resolution, and the alarm might often lapse into INSUFFICENT_DATA status.\nSpecifying 10 or 30 also sets this alarm as a high-resolution alarm, which\nhas a higher charge than other alarms. For more information about pricing,\nsee Amazon CloudWatch Pricing (https://aws.amazon.com/cloudwatch/pricing/).\n\nAn alarm's total current evaluation period can be no longer than one day,\nso Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds." format: "int64" type: "integer" statistic: description: "The statistic for the metric specified in MetricName, other than percentile.\nFor percentile statistics, use ExtendedStatistic. When you call PutMetricAlarm\nand specify a MetricName, you must specify either Statistic or ExtendedStatistic,\nbut not both." type: "string" tags: - description: "A list of key-value pairs to associate with the alarm. You can associate\nas many as 50 tags with an alarm. To be able to associate tags with the alarm\nwhen you create the alarm, you must have the cloudwatch:TagResource permission.\n\n\nTags can help you organize and categorize your resources. You can also use\nthem to scope user permissions by granting a user permission to access or\nchange only resources with certain tag values.\n\n\nIf you are using this operation to update an existing alarm, any tags you\nspecify in this parameter are ignored. To change the tags of an existing\nalarm, use TagResource (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html)\nor UntagResource (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_UntagResource.html)." + description: "A list of key-value pairs to associate with the alarm. You can associate\nas many as 50 tags with an alarm. To be able to associate tags with the alarm\nwhen you create the alarm, you must have the cloudwatch:TagResource permission.\n\nTags can help you organize and categorize your resources. You can also use\nthem to scope user permissions by granting a user permission to access or\nchange only resources with certain tag values.\n\nIf you are using this operation to update an existing alarm, any tags you\nspecify in this parameter are ignored. To change the tags of an existing\nalarm, use TagResource (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html)\nor UntagResource (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_UntagResource.html)." items: description: "A key-value pair associated with a CloudWatch resource." properties: @@ -155,16 +155,16 @@ spec: type: "object" type: "array" threshold: - description: "The value against which the specified statistic is compared.\n\n\nThis parameter is required for alarms based on static thresholds, but should\nnot be used for alarms based on anomaly detection models." + description: "The value against which the specified statistic is compared.\n\nThis parameter is required for alarms based on static thresholds, but should\nnot be used for alarms based on anomaly detection models." type: "number" thresholdMetricID: - description: "If this is an alarm based on an anomaly detection model, make this value\nmatch the ID of the ANOMALY_DETECTION_BAND function.\n\n\nFor an example of how to use this parameter, see the Anomaly Detection Model\nAlarm example on this page.\n\n\nIf your alarm uses this parameter, it cannot have Auto Scaling actions." + description: "If this is an alarm based on an anomaly detection model, make this value\nmatch the ID of the ANOMALY_DETECTION_BAND function.\n\nFor an example of how to use this parameter, see the Anomaly Detection Model\nAlarm example on this page.\n\nIf your alarm uses this parameter, it cannot have Auto Scaling actions." type: "string" treatMissingData: - description: "Sets how this alarm is to handle missing data points. If TreatMissingData\nis omitted, the default behavior of missing is used. For more information,\nsee Configuring How CloudWatch Alarms Treats Missing Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data).\n\n\nValid Values: breaching | notBreaching | ignore | missing\n\n\nAlarms that evaluate metrics in the AWS/DynamoDB namespace always ignore\nmissing data even if you choose a different option for TreatMissingData.\nWhen an AWS/DynamoDB metric has missing data, alarms that evaluate that metric\nremain in their current state." + description: "Sets how this alarm is to handle missing data points. If TreatMissingData\nis omitted, the default behavior of missing is used. For more information,\nsee Configuring How CloudWatch Alarms Treats Missing Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data).\n\nValid Values: breaching | notBreaching | ignore | missing\n\nAlarms that evaluate metrics in the AWS/DynamoDB namespace always ignore\nmissing data even if you choose a different option for TreatMissingData.\nWhen an AWS/DynamoDB metric has missing data, alarms that evaluate that metric\nremain in their current state." type: "string" unit: - description: "The unit of measure for the statistic. For example, the units for the Amazon\nEC2 NetworkIn metric are Bytes because NetworkIn tracks the number of bytes\nthat an instance receives on all network interfaces. You can also specify\na unit when you create a custom metric. Units help provide conceptual meaning\nto your data. Metric data points that specify a unit of measure, such as\nPercent, are aggregated separately. If you are creating an alarm based on\na metric math expression, you can specify the unit for each metric (if needed)\nwithin the objects in the Metrics array.\n\n\nIf you don't specify Unit, CloudWatch retrieves all unit types that have\nbeen published for the metric and attempts to evaluate the alarm. Usually,\nmetrics are published with only one unit, so the alarm works as intended.\n\n\nHowever, if the metric is published with multiple types of units and you\ndon't specify a unit, the alarm's behavior is not defined and it behaves\nunpredictably.\n\n\nWe recommend omitting Unit so that you don't inadvertently specify an incorrect\nunit that is not published for this metric. Doing so causes the alarm to\nbe stuck in the INSUFFICIENT DATA state." + description: "The unit of measure for the statistic. For example, the units for the Amazon\nEC2 NetworkIn metric are Bytes because NetworkIn tracks the number of bytes\nthat an instance receives on all network interfaces. You can also specify\na unit when you create a custom metric. Units help provide conceptual meaning\nto your data. Metric data points that specify a unit of measure, such as\nPercent, are aggregated separately. If you are creating an alarm based on\na metric math expression, you can specify the unit for each metric (if needed)\nwithin the objects in the Metrics array.\n\nIf you don't specify Unit, CloudWatch retrieves all unit types that have\nbeen published for the metric and attempts to evaluate the alarm. Usually,\nmetrics are published with only one unit, so the alarm works as intended.\n\nHowever, if the metric is published with multiple types of units and you\ndon't specify a unit, the alarm's behavior is not defined and it behaves\nunpredictably.\n\nWe recommend omitting Unit so that you don't inadvertently specify an incorrect\nunit that is not published for this metric. Doing so causes the alarm to\nbe stuck in the INSUFFICIENT DATA state." type: "string" required: - "comparisonOperator" @@ -178,7 +178,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/cloudwatchlogs-controller/cloudwatchlogs.services.k8s.aws/v1alpha1/loggroups.yaml b/crd-catalog/aws-controllers-k8s/cloudwatchlogs-controller/cloudwatchlogs.services.k8s.aws/v1alpha1/loggroups.yaml index 68316479a..5beb59715 100644 --- a/crd-catalog/aws-controllers-k8s/cloudwatchlogs-controller/cloudwatchlogs.services.k8s.aws/v1alpha1/loggroups.yaml +++ b/crd-catalog/aws-controllers-k8s/cloudwatchlogs-controller/cloudwatchlogs.services.k8s.aws/v1alpha1/loggroups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "loggroups.cloudwatchlogs.services.k8s.aws" spec: group: "cloudwatchlogs.services.k8s.aws" @@ -27,13 +27,13 @@ spec: metadata: type: "object" spec: - description: "LogGroupSpec defines the desired state of LogGroup.\n\n\nRepresents a log group." + description: "LogGroupSpec defines the desired state of LogGroup.\n\nRepresents a log group." properties: kmsKeyID: description: "The Amazon Resource Name (ARN) of the KMS key to use when encrypting log\ndata. For more information, see Amazon Resource Names (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kms)." type: "string" kmsKeyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -69,7 +69,7 @@ spec: tags: additionalProperties: type: "string" - description: "The key-value pairs to use for the tags.\n\n\nYou can grant users access to certain log groups while preventing them from\naccessing other log groups. To do so, tag your groups and use IAM policies\nthat refer to those tags. To assign tags when you create a log group, you\nmust have either the logs:TagResource or logs:TagLogGroup permission. For\nmore information about tagging, see Tagging Amazon Web Services resources\n(https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). For more\ninformation about using tags to control access, see Controlling access to\nAmazon Web Services resources using tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)." + description: "The key-value pairs to use for the tags.\n\nYou can grant users access to certain log groups while preventing them from\naccessing other log groups. To do so, tag your groups and use IAM policies\nthat refer to those tags. To assign tags when you create a log group, you\nmust have either the logs:TagResource or logs:TagLogGroup permission. For\nmore information about tagging, see Tagging Amazon Web Services resources\n(https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). For more\ninformation about using tags to control access, see Controlling access to\nAmazon Web Services resources using tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)." type: "object" required: - "name" @@ -81,7 +81,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/documentdb-controller/documentdb.services.k8s.aws/v1alpha1/dbclusters.yaml b/crd-catalog/aws-controllers-k8s/documentdb-controller/documentdb.services.k8s.aws/v1alpha1/dbclusters.yaml index 2a1df3413..eae23ea92 100644 --- a/crd-catalog/aws-controllers-k8s/documentdb-controller/documentdb.services.k8s.aws/v1alpha1/dbclusters.yaml +++ b/crd-catalog/aws-controllers-k8s/documentdb-controller/documentdb.services.k8s.aws/v1alpha1/dbclusters.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "dbclusters.documentdb.services.k8s.aws" spec: group: "documentdb.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "DBClusterSpec defines the desired state of DBCluster.\n\n\nDetailed information about a cluster." + description: "DBClusterSpec defines the desired state of DBCluster.\n\nDetailed information about a cluster." properties: availabilityZones: description: "A list of Amazon EC2 Availability Zones that instances in the cluster can\nbe created in." @@ -35,20 +35,20 @@ spec: type: "string" type: "array" backupRetentionPeriod: - description: "The number of days for which automated backups are retained. You must specify\na minimum value of 1.\n\n\nDefault: 1\n\n\nConstraints:\n\n\n * Must be a value from 1 to 35." + description: "The number of days for which automated backups are retained. You must specify\na minimum value of 1.\n\nDefault: 1\n\nConstraints:\n\n * Must be a value from 1 to 35." format: "int64" type: "integer" dbClusterIdentifier: - description: "The cluster identifier. This parameter is stored as a lowercase string.\n\n\nConstraints:\n\n\n * Must contain from 1 to 63 letters, numbers, or hyphens.\n\n\n * The first character must be a letter.\n\n\n * Cannot end with a hyphen or contain two consecutive hyphens.\n\n\nExample: my-cluster" + description: "The cluster identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n * Must contain from 1 to 63 letters, numbers, or hyphens.\n\n * The first character must be a letter.\n\n * Cannot end with a hyphen or contain two consecutive hyphens.\n\nExample: my-cluster" type: "string" dbClusterParameterGroupName: description: "The name of the cluster parameter group to associate with this cluster." type: "string" dbSubnetGroupName: - description: "A subnet group to associate with this cluster.\n\n\nConstraints: Must match the name of an existing DBSubnetGroup. Must not be\ndefault.\n\n\nExample: mySubnetgroup" + description: "A subnet group to associate with this cluster.\n\nConstraints: Must match the name of an existing DBSubnetGroup. Must not be\ndefault.\n\nExample: mySubnetgroup" type: "string" dbSubnetGroupRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -71,7 +71,7 @@ spec: type: "string" type: "array" engine: - description: "The name of the database engine to be used for this cluster.\n\n\nValid values: docdb" + description: "The name of the database engine to be used for this cluster.\n\nValid values: docdb" type: "string" engineVersion: description: "The version number of the database engine to use. The --engine-version will\ndefault to the latest major engine version. For production workloads, we\nrecommend explicitly declaring this parameter with the intended major engine\nversion." @@ -80,10 +80,10 @@ spec: description: "The cluster identifier of the new global cluster." type: "string" kmsKeyID: - description: "The KMS key identifier for an encrypted cluster.\n\n\nThe KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption\nkey. If you are creating a cluster using the same Amazon Web Services account\nthat owns the KMS encryption key that is used to encrypt the new cluster,\nyou can use the KMS key alias instead of the ARN for the KMS encryption key.\n\n\nIf an encryption key is not specified in KmsKeyId:\n\n\n * If the StorageEncrypted parameter is true, Amazon DocumentDB uses your\n default encryption key.\n\n\nKMS creates the default encryption key for your Amazon Web Services account.\nYour Amazon Web Services account has a different default encryption key for\neach Amazon Web Services Regions." + description: "The KMS key identifier for an encrypted cluster.\n\nThe KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption\nkey. If you are creating a cluster using the same Amazon Web Services account\nthat owns the KMS encryption key that is used to encrypt the new cluster,\nyou can use the KMS key alias instead of the ARN for the KMS encryption key.\n\nIf an encryption key is not specified in KmsKeyId:\n\n * If the StorageEncrypted parameter is true, Amazon DocumentDB uses your\n default encryption key.\n\nKMS creates the default encryption key for your Amazon Web Services account.\nYour Amazon Web Services account has a different default encryption key for\neach Amazon Web Services Regions." type: "string" kmsKeyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -95,7 +95,7 @@ spec: type: "object" type: "object" masterUserPassword: - description: "The password for the master database user. This password can contain any\nprintable ASCII character except forward slash (/), double quote (\"), or\nthe \"at\" symbol (@).\n\n\nConstraints: Must contain from 8 to 100 characters." + description: "The password for the master database user. This password can contain any\nprintable ASCII character except forward slash (/), double quote (\"), or\nthe \"at\" symbol (@).\n\nConstraints: Must contain from 8 to 100 characters." properties: key: description: "Key is the key within the secret" @@ -111,7 +111,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" masterUsername: - description: "The name of the master user for the cluster.\n\n\nConstraints:\n\n\n * Must be from 1 to 63 letters or numbers.\n\n\n * The first character must be a letter.\n\n\n * Cannot be a reserved word for the chosen database engine." + description: "The name of the master user for the cluster.\n\nConstraints:\n\n * Must be from 1 to 63 letters or numbers.\n\n * The first character must be a letter.\n\n * Cannot be a reserved word for the chosen database engine." type: "string" port: description: "The port number on which the instances in the cluster accept connections." @@ -121,13 +121,13 @@ spec: description: "Not currently supported." type: "string" preferredBackupWindow: - description: "The daily time range during which automated backups are created if automated\nbackups are enabled using the BackupRetentionPeriod parameter.\n\n\nThe default is a 30-minute window selected at random from an 8-hour block\nof time for each Amazon Web Services Region.\n\n\nConstraints:\n\n\n * Must be in the format hh24:mi-hh24:mi.\n\n\n * Must be in Universal Coordinated Time (UTC).\n\n\n * Must not conflict with the preferred maintenance window.\n\n\n * Must be at least 30 minutes." + description: "The daily time range during which automated backups are created if automated\nbackups are enabled using the BackupRetentionPeriod parameter.\n\nThe default is a 30-minute window selected at random from an 8-hour block\nof time for each Amazon Web Services Region.\n\nConstraints:\n\n * Must be in the format hh24:mi-hh24:mi.\n\n * Must be in Universal Coordinated Time (UTC).\n\n * Must not conflict with the preferred maintenance window.\n\n * Must be at least 30 minutes." type: "string" preferredMaintenanceWindow: - description: "The weekly time range during which system maintenance can occur, in Universal\nCoordinated Time (UTC).\n\n\nFormat: ddd:hh24:mi-ddd:hh24:mi\n\n\nThe default is a 30-minute window selected at random from an 8-hour block\nof time for each Amazon Web Services Region, occurring on a random day of\nthe week.\n\n\nValid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\n\nConstraints: Minimum 30-minute window." + description: "The weekly time range during which system maintenance can occur, in Universal\nCoordinated Time (UTC).\n\nFormat: ddd:hh24:mi-ddd:hh24:mi\n\nThe default is a 30-minute window selected at random from an 8-hour block\nof time for each Amazon Web Services Region, occurring on a random day of\nthe week.\n\nValid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\nConstraints: Minimum 30-minute window." type: "string" snapshotIdentifier: - description: "The identifier for the snapshot or cluster snapshot to restore from.\n\n\nYou can use either the name or the Amazon Resource Name (ARN) to specify\na cluster snapshot. However, you can use only the ARN to specify a snapshot.\n\n\nConstraints:\n\n\n * Must match the identifier of an existing snapshot." + description: "The identifier for the snapshot or cluster snapshot to restore from.\n\nYou can use either the name or the Amazon Resource Name (ARN) to specify\na cluster snapshot. However, you can use only the ARN to specify a snapshot.\n\nConstraints:\n\n * Must match the identifier of an existing snapshot." type: "string" sourceRegion: description: "SourceRegion is the source region where the resource exists. This is not\nsent over the wire and is only used for presigning. This value should always\nhave the same region as the source ARN." @@ -136,7 +136,7 @@ spec: description: "Specifies whether the cluster is encrypted." type: "boolean" storageType: - description: "The storage type to associate with the DB cluster.\n\n\nFor information on storage types for Amazon DocumentDB clusters, see Cluster\nstorage configurations in the Amazon DocumentDB Developer Guide.\n\n\nValid values for storage type - standard | iopt1\n\n\nDefault value is standard\n\n\nWhen you create a DocumentDB DB cluster with the storage type set to iopt1,\nthe storage type is returned in the response. The storage type isn't returned\nwhen you set it to standard." + description: "The storage type to associate with the DB cluster.\n\nFor information on storage types for Amazon DocumentDB clusters, see Cluster\nstorage configurations in the Amazon DocumentDB Developer Guide.\n\nValid values for storage type - standard | iopt1\n\nDefault value is standard\n\nWhen you create a DocumentDB DB cluster with the storage type set to iopt1,\nthe storage type is returned in the response. The storage type isn't returned\nwhen you set it to standard." type: "string" tags: description: "The tags to be assigned to the cluster." @@ -156,7 +156,7 @@ spec: type: "array" vpcSecurityGroupRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -179,7 +179,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -291,7 +291,7 @@ spec: type: "string" type: "array" readerEndpoint: - description: "The reader endpoint for the cluster. The reader endpoint for a cluster load\nbalances connections across the Amazon DocumentDB replicas that are available\nin a cluster. As clients request new connections to the reader endpoint,\nAmazon DocumentDB distributes the connection requests among the Amazon DocumentDB\nreplicas in the cluster. This functionality can help balance your read workload\nacross multiple Amazon DocumentDB replicas in your cluster.\n\n\nIf a failover occurs, and the Amazon DocumentDB replica that you are connected\nto is promoted to be the primary instance, your connection is dropped. To\ncontinue sending your read workload to other Amazon DocumentDB replicas in\nthe cluster, you can then reconnect to the reader endpoint." + description: "The reader endpoint for the cluster. The reader endpoint for a cluster load\nbalances connections across the Amazon DocumentDB replicas that are available\nin a cluster. As clients request new connections to the reader endpoint,\nAmazon DocumentDB distributes the connection requests among the Amazon DocumentDB\nreplicas in the cluster. This functionality can help balance your read workload\nacross multiple Amazon DocumentDB replicas in your cluster.\n\nIf a failover occurs, and the Amazon DocumentDB replica that you are connected\nto is promoted to be the primary instance, your connection is dropped. To\ncontinue sending your read workload to other Amazon DocumentDB replicas in\nthe cluster, you can then reconnect to the reader endpoint." type: "string" replicationSourceIdentifier: description: "Contains the identifier of the source cluster if this cluster is a secondary\ncluster." diff --git a/crd-catalog/aws-controllers-k8s/documentdb-controller/documentdb.services.k8s.aws/v1alpha1/dbinstances.yaml b/crd-catalog/aws-controllers-k8s/documentdb-controller/documentdb.services.k8s.aws/v1alpha1/dbinstances.yaml index 5a52bc6b9..660a2c70d 100644 --- a/crd-catalog/aws-controllers-k8s/documentdb-controller/documentdb.services.k8s.aws/v1alpha1/dbinstances.yaml +++ b/crd-catalog/aws-controllers-k8s/documentdb-controller/documentdb.services.k8s.aws/v1alpha1/dbinstances.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "dbinstances.documentdb.services.k8s.aws" spec: group: "documentdb.services.k8s.aws" @@ -31,16 +31,16 @@ spec: metadata: type: "object" spec: - description: "DBInstanceSpec defines the desired state of DBInstance.\n\n\nDetailed information about an instance." + description: "DBInstanceSpec defines the desired state of DBInstance.\n\nDetailed information about an instance." properties: autoMinorVersionUpgrade: - description: "This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does\nnot perform minor version upgrades regardless of the value set.\n\n\nDefault: false" + description: "This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does\nnot perform minor version upgrades regardless of the value set.\n\nDefault: false" type: "boolean" availabilityZone: - description: "The Amazon EC2 Availability Zone that the instance is created in.\n\n\nDefault: A random, system-chosen Availability Zone in the endpoint's Amazon\nWeb Services Region.\n\n\nExample: us-east-1d" + description: "The Amazon EC2 Availability Zone that the instance is created in.\n\nDefault: A random, system-chosen Availability Zone in the endpoint's Amazon\nWeb Services Region.\n\nExample: us-east-1d" type: "string" caCertificateIdentifier: - description: "The CA certificate identifier to use for the DB instance's server certificate.\n\n\nFor more information, see Updating Your Amazon DocumentDB TLS Certificates\n(https://docs.aws.amazon.com/documentdb/latest/developerguide/ca_cert_rotation.html)\nand Encrypting Data in Transit (https://docs.aws.amazon.com/documentdb/latest/developerguide/security.encryption.ssl.html)\nin the Amazon DocumentDB Developer Guide." + description: "The CA certificate identifier to use for the DB instance's server certificate.\n\nFor more information, see Updating Your Amazon DocumentDB TLS Certificates\n(https://docs.aws.amazon.com/documentdb/latest/developerguide/ca_cert_rotation.html)\nand Encrypting Data in Transit (https://docs.aws.amazon.com/documentdb/latest/developerguide/security.encryption.ssl.html)\nin the Amazon DocumentDB Developer Guide." type: "string" copyTagsToSnapshot: description: "A value that indicates whether to copy tags from the DB instance to snapshots\nof the DB instance. By default, tags are not copied." @@ -52,19 +52,19 @@ spec: description: "The compute and memory capacity of the instance; for example, db.r5.large." type: "string" dbInstanceIdentifier: - description: "The instance identifier. This parameter is stored as a lowercase string.\n\n\nConstraints:\n\n\n * Must contain from 1 to 63 letters, numbers, or hyphens.\n\n\n * The first character must be a letter.\n\n\n * Cannot end with a hyphen or contain two consecutive hyphens.\n\n\nExample: mydbinstance" + description: "The instance identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n * Must contain from 1 to 63 letters, numbers, or hyphens.\n\n * The first character must be a letter.\n\n * Cannot end with a hyphen or contain two consecutive hyphens.\n\nExample: mydbinstance" type: "string" engine: - description: "The name of the database engine to be used for this instance.\n\n\nValid value: docdb" + description: "The name of the database engine to be used for this instance.\n\nValid value: docdb" type: "string" performanceInsightsEnabled: description: "A value that indicates whether to enable Performance Insights for the DB\nInstance. For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html)." type: "boolean" performanceInsightsKMSKeyID: - description: "The KMS key identifier for encryption of Performance Insights data.\n\n\nThe KMS key identifier is the key ARN, key ID, alias ARN, or alias name for\nthe KMS key.\n\n\nIf you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon\nDocumentDB uses your default KMS key. There is a default KMS key for your\nAmazon Web Services account. Your Amazon Web Services account has a different\ndefault KMS key for each Amazon Web Services region." + description: "The KMS key identifier for encryption of Performance Insights data.\n\nThe KMS key identifier is the key ARN, key ID, alias ARN, or alias name for\nthe KMS key.\n\nIf you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon\nDocumentDB uses your default KMS key. There is a default KMS key for your\nAmazon Web Services account. Your Amazon Web Services account has a different\ndefault KMS key for each Amazon Web Services region." type: "string" performanceInsightsKMSKeyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -76,10 +76,10 @@ spec: type: "object" type: "object" preferredMaintenanceWindow: - description: "The time range each week during which system maintenance can occur, in Universal\nCoordinated Time (UTC).\n\n\nFormat: ddd:hh24:mi-ddd:hh24:mi\n\n\nThe default is a 30-minute window selected at random from an 8-hour block\nof time for each Amazon Web Services Region, occurring on a random day of\nthe week.\n\n\nValid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\n\nConstraints: Minimum 30-minute window." + description: "The time range each week during which system maintenance can occur, in Universal\nCoordinated Time (UTC).\n\nFormat: ddd:hh24:mi-ddd:hh24:mi\n\nThe default is a 30-minute window selected at random from an 8-hour block\nof time for each Amazon Web Services Region, occurring on a random day of\nthe week.\n\nValid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun\n\nConstraints: Minimum 30-minute window." type: "string" promotionTier: - description: "A value that specifies the order in which an Amazon DocumentDB replica is\npromoted to the primary instance after a failure of the existing primary\ninstance.\n\n\nDefault: 1\n\n\nValid values: 0-15" + description: "A value that specifies the order in which an Amazon DocumentDB replica is\npromoted to the primary instance after a failure of the existing primary\ninstance.\n\nDefault: 1\n\nValid values: 0-15" format: "int64" type: "integer" tags: @@ -106,7 +106,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/documentdb-controller/documentdb.services.k8s.aws/v1alpha1/dbsubnetgroups.yaml b/crd-catalog/aws-controllers-k8s/documentdb-controller/documentdb.services.k8s.aws/v1alpha1/dbsubnetgroups.yaml index b2fd3e2d4..3f830af5b 100644 --- a/crd-catalog/aws-controllers-k8s/documentdb-controller/documentdb.services.k8s.aws/v1alpha1/dbsubnetgroups.yaml +++ b/crd-catalog/aws-controllers-k8s/documentdb-controller/documentdb.services.k8s.aws/v1alpha1/dbsubnetgroups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "dbsubnetgroups.documentdb.services.k8s.aws" spec: group: "documentdb.services.k8s.aws" @@ -27,13 +27,13 @@ spec: metadata: type: "object" spec: - description: "DBSubnetGroupSpec defines the desired state of DBSubnetGroup.\n\n\nDetailed information about a subnet group." + description: "DBSubnetGroupSpec defines the desired state of DBSubnetGroup.\n\nDetailed information about a subnet group." properties: description: description: "The description for the subnet group." type: "string" name: - description: "The name for the subnet group. This value is stored as a lowercase string.\n\n\nConstraints: Must contain no more than 255 letters, numbers, periods, underscores,\nspaces, or hyphens. Must not be default.\n\n\nExample: mySubnetgroup" + description: "The name for the subnet group. This value is stored as a lowercase string.\n\nConstraints: Must contain no more than 255 letters, numbers, periods, underscores,\nspaces, or hyphens. Must not be default.\n\nExample: mySubnetgroup" type: "string" subnetIDs: description: "The Amazon EC2 subnet IDs for the subnet group." @@ -42,7 +42,7 @@ spec: type: "array" subnetRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -76,7 +76,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/dynamodb-controller/dynamodb.services.k8s.aws/v1alpha1/backups.yaml b/crd-catalog/aws-controllers-k8s/dynamodb-controller/dynamodb.services.k8s.aws/v1alpha1/backups.yaml index 1712e0bee..1585aeebd 100644 --- a/crd-catalog/aws-controllers-k8s/dynamodb-controller/dynamodb.services.k8s.aws/v1alpha1/backups.yaml +++ b/crd-catalog/aws-controllers-k8s/dynamodb-controller/dynamodb.services.k8s.aws/v1alpha1/backups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "backups.dynamodb.services.k8s.aws" spec: group: "dynamodb.services.k8s.aws" @@ -69,7 +69,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -97,7 +97,7 @@ spec: description: "Backup can be in one of the following states: CREATING, ACTIVE, DELETED." type: "string" backupType: - description: "BackupType:\n\n\n * USER - You create and manage these using the on-demand backup feature.\n\n\n * SYSTEM - If you delete a table with point-in-time recovery enabled,\n a SYSTEM backup is automatically created and is retained for 35 days (at\n no additional cost). System backups allow you to restore the deleted table\n to the state it was in just before the point of deletion.\n\n\n * AWS_BACKUP - On-demand backup created by you from Backup service." + description: "BackupType:\n\n * USER - You create and manage these using the on-demand backup feature.\n\n * SYSTEM - If you delete a table with point-in-time recovery enabled,\n a SYSTEM backup is automatically created and is retained for 35 days (at\n no additional cost). System backups allow you to restore the deleted table\n to the state it was in just before the point of deletion.\n\n * AWS_BACKUP - On-demand backup created by you from Backup service." type: "string" conditions: description: "All CRS managed by ACK have a common `Status.Conditions` member that\ncontains a collection of `ackv1alpha1.Condition` objects that describe\nthe various terminal states of the CR and its backend AWS service API\nresource" diff --git a/crd-catalog/aws-controllers-k8s/dynamodb-controller/dynamodb.services.k8s.aws/v1alpha1/globaltables.yaml b/crd-catalog/aws-controllers-k8s/dynamodb-controller/dynamodb.services.k8s.aws/v1alpha1/globaltables.yaml index 69e96594e..7a3c6ab4f 100644 --- a/crd-catalog/aws-controllers-k8s/dynamodb-controller/dynamodb.services.k8s.aws/v1alpha1/globaltables.yaml +++ b/crd-catalog/aws-controllers-k8s/dynamodb-controller/dynamodb.services.k8s.aws/v1alpha1/globaltables.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "globaltables.dynamodb.services.k8s.aws" spec: group: "dynamodb.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "GlobalTableSpec defines the desired state of GlobalTable.\n\n\nRepresents the properties of a global table." + description: "GlobalTableSpec defines the desired state of GlobalTable.\n\nRepresents the properties of a global table." properties: globalTableName: description: "The global table name." @@ -52,7 +52,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -95,7 +95,7 @@ spec: format: "date-time" type: "string" globalTableStatus: - description: "The current state of the global table:\n\n\n * CREATING - The global table is being created.\n\n\n * UPDATING - The global table is being updated.\n\n\n * DELETING - The global table is being deleted.\n\n\n * ACTIVE - The global table is ready for use." + description: "The current state of the global table:\n\n * CREATING - The global table is being created.\n\n * UPDATING - The global table is being updated.\n\n * DELETING - The global table is being deleted.\n\n * ACTIVE - The global table is ready for use." type: "string" type: "object" type: "object" diff --git a/crd-catalog/aws-controllers-k8s/dynamodb-controller/dynamodb.services.k8s.aws/v1alpha1/tables.yaml b/crd-catalog/aws-controllers-k8s/dynamodb-controller/dynamodb.services.k8s.aws/v1alpha1/tables.yaml index 1f05013e3..c4b64c8d8 100644 --- a/crd-catalog/aws-controllers-k8s/dynamodb-controller/dynamodb.services.k8s.aws/v1alpha1/tables.yaml +++ b/crd-catalog/aws-controllers-k8s/dynamodb-controller/dynamodb.services.k8s.aws/v1alpha1/tables.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "tables.dynamodb.services.k8s.aws" spec: group: "dynamodb.services.k8s.aws" @@ -58,7 +58,7 @@ spec: type: "object" type: "array" billingMode: - description: "Controls how you are charged for read and write throughput and how you manage\ncapacity. This setting can be changed later.\n\n\n * PROVISIONED - We recommend using PROVISIONED for predictable workloads.\n PROVISIONED sets the billing mode to Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual).\n\n\n * PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable\n workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand)." + description: "Controls how you are charged for read and write throughput and how you manage\ncapacity. This setting can be changed later.\n\n * PROVISIONED - We recommend using PROVISIONED for predictable workloads.\n PROVISIONED sets the billing mode to Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual).\n\n * PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable\n workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand)." type: "string" continuousBackups: description: "Represents the settings used to enable point in time recovery." @@ -70,7 +70,7 @@ spec: description: "Indicates whether deletion protection is to be enabled (true) or disabled\n(false) on the table." type: "boolean" globalSecondaryIndexes: - description: "One or more global secondary indexes (the maximum is 20) to be created on\nthe table. Each global secondary index in the array includes the following:\n\n\n * IndexName - The name of the global secondary index. Must be unique only\n for this table.\n\n\n * KeySchema - Specifies the key schema for the global secondary index.\n\n\n * Projection - Specifies attributes that are copied (projected) from the\n table into the index. These are in addition to the primary key attributes\n and index key attributes, which are automatically projected. Each attribute\n specification is composed of: ProjectionType - One of the following: KEYS_ONLY\n - Only the index and primary keys are projected into the index. INCLUDE\n - Only the specified table attributes are projected into the index. The\n list of projected attributes is in NonKeyAttributes. ALL - All of the\n table attributes are projected into the index. NonKeyAttributes - A list\n of one or more non-key attribute names that are projected into the secondary\n index. The total count of attributes provided in NonKeyAttributes, summed\n across all of the secondary indexes, must not exceed 100. If you project\n the same attribute into two different indexes, this counts as two distinct\n attributes when determining the total.\n\n\n * ProvisionedThroughput - The provisioned throughput settings for the\n global secondary index, consisting of read and write capacity units." + description: "One or more global secondary indexes (the maximum is 20) to be created on\nthe table. Each global secondary index in the array includes the following:\n\n * IndexName - The name of the global secondary index. Must be unique only\n for this table.\n\n * KeySchema - Specifies the key schema for the global secondary index.\n\n * Projection - Specifies attributes that are copied (projected) from the\n table into the index. These are in addition to the primary key attributes\n and index key attributes, which are automatically projected. Each attribute\n specification is composed of: ProjectionType - One of the following: KEYS_ONLY\n - Only the index and primary keys are projected into the index. INCLUDE\n - Only the specified table attributes are projected into the index. The\n list of projected attributes is in NonKeyAttributes. ALL - All of the\n table attributes are projected into the index. NonKeyAttributes - A list\n of one or more non-key attribute names that are projected into the secondary\n index. The total count of attributes provided in NonKeyAttributes, summed\n across all of the secondary indexes, must not exceed 100. If you project\n the same attribute into two different indexes, this counts as two distinct\n attributes when determining the total.\n\n * ProvisionedThroughput - The provisioned throughput settings for the\n global secondary index, consisting of read and write capacity units." items: description: "Represents the properties of a global secondary index." properties: @@ -78,7 +78,7 @@ spec: type: "string" keySchema: items: - description: "Represents a single element of a key schema. A key schema specifies the attributes\nthat make up the primary key of a table, or the key attributes of an index.\n\n\nA KeySchemaElement represents exactly one attribute of the primary key. For\nexample, a simple primary key would be represented by one KeySchemaElement\n(for the partition key). A composite primary key would require one KeySchemaElement\nfor the partition key, and another KeySchemaElement for the sort key.\n\n\nA KeySchemaElement must be a scalar, top-level attribute (not a nested attribute).\nThe data type must be one of String, Number, or Binary. The attribute cannot\nbe nested within a List or a Map." + description: "Represents a single element of a key schema. A key schema specifies the attributes\nthat make up the primary key of a table, or the key attributes of an index.\n\nA KeySchemaElement represents exactly one attribute of the primary key. For\nexample, a simple primary key would be represented by one KeySchemaElement\n(for the partition key). A composite primary key would require one KeySchemaElement\nfor the partition key, and another KeySchemaElement for the sort key.\n\nA KeySchemaElement must be a scalar, top-level attribute (not a nested attribute).\nThe data type must be one of String, Number, or Binary. The attribute cannot\nbe nested within a List or a Map." properties: attributeName: type: "string" @@ -97,7 +97,7 @@ spec: type: "string" type: "object" provisionedThroughput: - description: "Represents the provisioned throughput settings for a specified table or index.\nThe settings can be modified using the UpdateTable operation.\n\n\nFor current minimum and maximum provisioned throughput values, see Service,\nAccount, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)\nin the Amazon DynamoDB Developer Guide." + description: "Represents the provisioned throughput settings for a specified table or index.\nThe settings can be modified using the UpdateTable operation.\n\nFor current minimum and maximum provisioned throughput values, see Service,\nAccount, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)\nin the Amazon DynamoDB Developer Guide." properties: readCapacityUnits: format: "int64" @@ -109,9 +109,9 @@ spec: type: "object" type: "array" keySchema: - description: "Specifies the attributes that make up the primary key for a table or an index.\nThe attributes in KeySchema must also be defined in the AttributeDefinitions\narray. For more information, see Data Model (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html)\nin the Amazon DynamoDB Developer Guide.\n\n\nEach KeySchemaElement in the array is composed of:\n\n\n * AttributeName - The name of this key attribute.\n\n\n * KeyType - The role that the key attribute will assume: HASH - partition\n key RANGE - sort key\n\n\nThe partition key of an item is also known as its hash attribute. The term\n\"hash attribute\" derives from the DynamoDB usage of an internal hash function\nto evenly distribute data items across partitions, based on their partition\nkey values.\n\n\nThe sort key of an item is also known as its range attribute. The term \"range\nattribute\" derives from the way DynamoDB stores items with the same partition\nkey physically close together, in sorted order by the sort key value.\n\n\nFor a simple primary key (partition key), you must provide exactly one element\nwith a KeyType of HASH.\n\n\nFor a composite primary key (partition key and sort key), you must provide\nexactly two elements, in this order: The first element must have a KeyType\nof HASH, and the second element must have a KeyType of RANGE.\n\n\nFor more information, see Working with Tables (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key)\nin the Amazon DynamoDB Developer Guide." + description: "Specifies the attributes that make up the primary key for a table or an index.\nThe attributes in KeySchema must also be defined in the AttributeDefinitions\narray. For more information, see Data Model (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html)\nin the Amazon DynamoDB Developer Guide.\n\nEach KeySchemaElement in the array is composed of:\n\n * AttributeName - The name of this key attribute.\n\n * KeyType - The role that the key attribute will assume: HASH - partition\n key RANGE - sort key\n\nThe partition key of an item is also known as its hash attribute. The term\n\"hash attribute\" derives from the DynamoDB usage of an internal hash function\nto evenly distribute data items across partitions, based on their partition\nkey values.\n\nThe sort key of an item is also known as its range attribute. The term \"range\nattribute\" derives from the way DynamoDB stores items with the same partition\nkey physically close together, in sorted order by the sort key value.\n\nFor a simple primary key (partition key), you must provide exactly one element\nwith a KeyType of HASH.\n\nFor a composite primary key (partition key and sort key), you must provide\nexactly two elements, in this order: The first element must have a KeyType\nof HASH, and the second element must have a KeyType of RANGE.\n\nFor more information, see Working with Tables (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key)\nin the Amazon DynamoDB Developer Guide." items: - description: "Represents a single element of a key schema. A key schema specifies the attributes\nthat make up the primary key of a table, or the key attributes of an index.\n\n\nA KeySchemaElement represents exactly one attribute of the primary key. For\nexample, a simple primary key would be represented by one KeySchemaElement\n(for the partition key). A composite primary key would require one KeySchemaElement\nfor the partition key, and another KeySchemaElement for the sort key.\n\n\nA KeySchemaElement must be a scalar, top-level attribute (not a nested attribute).\nThe data type must be one of String, Number, or Binary. The attribute cannot\nbe nested within a List or a Map." + description: "Represents a single element of a key schema. A key schema specifies the attributes\nthat make up the primary key of a table, or the key attributes of an index.\n\nA KeySchemaElement represents exactly one attribute of the primary key. For\nexample, a simple primary key would be represented by one KeySchemaElement\n(for the partition key). A composite primary key would require one KeySchemaElement\nfor the partition key, and another KeySchemaElement for the sort key.\n\nA KeySchemaElement must be a scalar, top-level attribute (not a nested attribute).\nThe data type must be one of String, Number, or Binary. The attribute cannot\nbe nested within a List or a Map." properties: attributeName: type: "string" @@ -120,7 +120,7 @@ spec: type: "object" type: "array" localSecondaryIndexes: - description: "One or more local secondary indexes (the maximum is 5) to be created on the\ntable. Each index is scoped to a given partition key value. There is a 10\nGB size limit per partition key value; otherwise, the size of a local secondary\nindex is unconstrained.\n\n\nEach local secondary index in the array includes the following:\n\n\n * IndexName - The name of the local secondary index. Must be unique only\n for this table.\n\n\n * KeySchema - Specifies the key schema for the local secondary index.\n The key schema must begin with the same partition key as the table.\n\n\n * Projection - Specifies attributes that are copied (projected) from the\n table into the index. These are in addition to the primary key attributes\n and index key attributes, which are automatically projected. Each attribute\n specification is composed of: ProjectionType - One of the following: KEYS_ONLY\n - Only the index and primary keys are projected into the index. INCLUDE\n - Only the specified table attributes are projected into the index. The\n list of projected attributes is in NonKeyAttributes. ALL - All of the\n table attributes are projected into the index. NonKeyAttributes - A list\n of one or more non-key attribute names that are projected into the secondary\n index. The total count of attributes provided in NonKeyAttributes, summed\n across all of the secondary indexes, must not exceed 100. If you project\n the same attribute into two different indexes, this counts as two distinct\n attributes when determining the total." + description: "One or more local secondary indexes (the maximum is 5) to be created on the\ntable. Each index is scoped to a given partition key value. There is a 10\nGB size limit per partition key value; otherwise, the size of a local secondary\nindex is unconstrained.\n\nEach local secondary index in the array includes the following:\n\n * IndexName - The name of the local secondary index. Must be unique only\n for this table.\n\n * KeySchema - Specifies the key schema for the local secondary index.\n The key schema must begin with the same partition key as the table.\n\n * Projection - Specifies attributes that are copied (projected) from the\n table into the index. These are in addition to the primary key attributes\n and index key attributes, which are automatically projected. Each attribute\n specification is composed of: ProjectionType - One of the following: KEYS_ONLY\n - Only the index and primary keys are projected into the index. INCLUDE\n - Only the specified table attributes are projected into the index. The\n list of projected attributes is in NonKeyAttributes. ALL - All of the\n table attributes are projected into the index. NonKeyAttributes - A list\n of one or more non-key attribute names that are projected into the secondary\n index. The total count of attributes provided in NonKeyAttributes, summed\n across all of the secondary indexes, must not exceed 100. If you project\n the same attribute into two different indexes, this counts as two distinct\n attributes when determining the total." items: description: "Represents the properties of a local secondary index." properties: @@ -128,7 +128,7 @@ spec: type: "string" keySchema: items: - description: "Represents a single element of a key schema. A key schema specifies the attributes\nthat make up the primary key of a table, or the key attributes of an index.\n\n\nA KeySchemaElement represents exactly one attribute of the primary key. For\nexample, a simple primary key would be represented by one KeySchemaElement\n(for the partition key). A composite primary key would require one KeySchemaElement\nfor the partition key, and another KeySchemaElement for the sort key.\n\n\nA KeySchemaElement must be a scalar, top-level attribute (not a nested attribute).\nThe data type must be one of String, Number, or Binary. The attribute cannot\nbe nested within a List or a Map." + description: "Represents a single element of a key schema. A key schema specifies the attributes\nthat make up the primary key of a table, or the key attributes of an index.\n\nA KeySchemaElement represents exactly one attribute of the primary key. For\nexample, a simple primary key would be represented by one KeySchemaElement\n(for the partition key). A composite primary key would require one KeySchemaElement\nfor the partition key, and another KeySchemaElement for the sort key.\n\nA KeySchemaElement must be a scalar, top-level attribute (not a nested attribute).\nThe data type must be one of String, Number, or Binary. The attribute cannot\nbe nested within a List or a Map." properties: attributeName: type: "string" @@ -149,7 +149,7 @@ spec: type: "object" type: "array" provisionedThroughput: - description: "Represents the provisioned throughput settings for a specified table or index.\nThe settings can be modified using the UpdateTable operation.\n\n\nIf you set BillingMode as PROVISIONED, you must specify this property. If\nyou set BillingMode as PAY_PER_REQUEST, you cannot specify this property.\n\n\nFor current minimum and maximum provisioned throughput values, see Service,\nAccount, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)\nin the Amazon DynamoDB Developer Guide." + description: "Represents the provisioned throughput settings for a specified table or index.\nThe settings can be modified using the UpdateTable operation.\n\nIf you set BillingMode as PROVISIONED, you must specify this property. If\nyou set BillingMode as PAY_PER_REQUEST, you cannot specify this property.\n\nFor current minimum and maximum provisioned throughput values, see Service,\nAccount, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)\nin the Amazon DynamoDB Developer Guide." properties: readCapacityUnits: format: "int64" @@ -169,7 +169,7 @@ spec: type: "string" type: "object" streamSpecification: - description: "The settings for DynamoDB Streams on the table. These settings consist of:\n\n\n * StreamEnabled - Indicates whether DynamoDB Streams is to be enabled\n (true) or disabled (false).\n\n\n * StreamViewType - When an item in the table is modified, StreamViewType\n determines what information is written to the table's stream. Valid values\n for StreamViewType are: KEYS_ONLY - Only the key attributes of the modified\n item are written to the stream. NEW_IMAGE - The entire item, as it appears\n after it was modified, is written to the stream. OLD_IMAGE - The entire\n item, as it appeared before it was modified, is written to the stream.\n NEW_AND_OLD_IMAGES - Both the new and the old item images of the item\n are written to the stream." + description: "The settings for DynamoDB Streams on the table. These settings consist of:\n\n * StreamEnabled - Indicates whether DynamoDB Streams is to be enabled\n (true) or disabled (false).\n\n * StreamViewType - When an item in the table is modified, StreamViewType\n determines what information is written to the table's stream. Valid values\n for StreamViewType are: KEYS_ONLY - Only the key attributes of the modified\n item are written to the stream. NEW_IMAGE - The entire item, as it appears\n after it was modified, is written to the stream. OLD_IMAGE - The entire\n item, as it appeared before it was modified, is written to the stream.\n NEW_AND_OLD_IMAGES - Both the new and the old item images of the item\n are written to the stream." properties: streamEnabled: type: "boolean" @@ -185,7 +185,7 @@ spec: tags: description: "A list of key-value pairs to label the table. For more information, see Tagging\nfor DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html)." items: - description: "Describes a tag. A tag is a key-value pair. You can add up to 50 tags to\na single DynamoDB table.\n\n\nAmazon Web Services-assigned tag names and values are automatically assigned\nthe aws: prefix, which the user cannot assign. Amazon Web Services-assigned\ntag names do not count towards the tag limit of 50. User-assigned tag names\nhave the prefix user: in the Cost Allocation Report. You cannot backdate\nthe application of a tag.\n\n\nFor an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html)\nin the Amazon DynamoDB Developer Guide." + description: "Describes a tag. A tag is a key-value pair. You can add up to 50 tags to\na single DynamoDB table.\n\nAmazon Web Services-assigned tag names and values are automatically assigned\nthe aws: prefix, which the user cannot assign. Amazon Web Services-assigned\ntag names do not count towards the tag limit of 50. User-assigned tag names\nhave the prefix user: in the Cost Allocation Report. You cannot backdate\nthe application of a tag.\n\nFor an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html)\nin the Amazon DynamoDB Developer Guide." properties: key: type: "string" @@ -213,7 +213,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -286,7 +286,7 @@ spec: type: "integer" keySchema: items: - description: "Represents a single element of a key schema. A key schema specifies the attributes\nthat make up the primary key of a table, or the key attributes of an index.\n\n\nA KeySchemaElement represents exactly one attribute of the primary key. For\nexample, a simple primary key would be represented by one KeySchemaElement\n(for the partition key). A composite primary key would require one KeySchemaElement\nfor the partition key, and another KeySchemaElement for the sort key.\n\n\nA KeySchemaElement must be a scalar, top-level attribute (not a nested attribute).\nThe data type must be one of String, Number, or Binary. The attribute cannot\nbe nested within a List or a Map." + description: "Represents a single element of a key schema. A key schema specifies the attributes\nthat make up the primary key of a table, or the key attributes of an index.\n\nA KeySchemaElement represents exactly one attribute of the primary key. For\nexample, a simple primary key would be represented by one KeySchemaElement\n(for the partition key). A composite primary key would require one KeySchemaElement\nfor the partition key, and another KeySchemaElement for the sort key.\n\nA KeySchemaElement must be a scalar, top-level attribute (not a nested attribute).\nThe data type must be one of String, Number, or Binary. The attribute cannot\nbe nested within a List or a Map." properties: attributeName: type: "string" @@ -336,7 +336,7 @@ spec: description: "The Amazon Resource Name (ARN) that uniquely identifies the latest stream\nfor this table." type: "string" latestStreamLabel: - description: "A timestamp, in ISO 8601 format, for this stream.\n\n\nNote that LatestStreamLabel is not a unique identifier for the stream, because\nit is possible that a stream from another table might have the same timestamp.\nHowever, the combination of the following three elements is guaranteed to\nbe unique:\n\n\n * Amazon Web Services customer ID\n\n\n * Table name\n\n\n * StreamLabel" + description: "A timestamp, in ISO 8601 format, for this stream.\n\nNote that LatestStreamLabel is not a unique identifier for the stream, because\nit is possible that a stream from another table might have the same timestamp.\nHowever, the combination of the following three elements is guaranteed to\nbe unique:\n\n * Amazon Web Services customer ID\n\n * Table name\n\n * StreamLabel" type: "string" replicas: description: "Represents replicas of the table." @@ -410,7 +410,7 @@ spec: format: "int64" type: "integer" tableStatus: - description: "The current state of the table:\n\n\n * CREATING - The table is being created.\n\n\n * UPDATING - The table/index configuration is being updated. The table/index\n remains available for data operations when UPDATING.\n\n\n * DELETING - The table is being deleted.\n\n\n * ACTIVE - The table is ready for use.\n\n\n * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key used to encrypt the\n table in inaccessible. Table operations may fail due to failure to use\n the KMS key. DynamoDB will initiate the table archival process when a\n table's KMS key remains inaccessible for more than seven days.\n\n\n * ARCHIVING - The table is being archived. Operations are not allowed\n until archival is complete.\n\n\n * ARCHIVED - The table has been archived. See the ArchivalReason for more\n information." + description: "The current state of the table:\n\n * CREATING - The table is being created.\n\n * UPDATING - The table/index configuration is being updated. The table/index\n remains available for data operations when UPDATING.\n\n * DELETING - The table is being deleted.\n\n * ACTIVE - The table is ready for use.\n\n * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key used to encrypt the\n table in inaccessible. Table operations may fail due to failure to use\n the KMS key. DynamoDB will initiate the table archival process when a\n table's KMS key remains inaccessible for more than seven days.\n\n * ARCHIVING - The table is being archived. Operations are not allowed\n until archival is complete.\n\n * ARCHIVED - The table has been archived. See the ArchivalReason for more\n information." type: "string" type: "object" type: "object" diff --git a/crd-catalog/aws-controllers-k8s/ecr-controller/ecr.services.k8s.aws/v1alpha1/pullthroughcacherules.yaml b/crd-catalog/aws-controllers-k8s/ecr-controller/ecr.services.k8s.aws/v1alpha1/pullthroughcacherules.yaml index 0d7a89d37..c18dcbb73 100644 --- a/crd-catalog/aws-controllers-k8s/ecr-controller/ecr.services.k8s.aws/v1alpha1/pullthroughcacherules.yaml +++ b/crd-catalog/aws-controllers-k8s/ecr-controller/ecr.services.k8s.aws/v1alpha1/pullthroughcacherules.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "pullthroughcacherules.ecr.services.k8s.aws" spec: group: "ecr.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "PullThroughCacheRuleSpec defines the desired state of PullThroughCacheRule.\n\n\nThe details of a pull through cache rule." + description: "PullThroughCacheRuleSpec defines the desired state of PullThroughCacheRule.\n\nThe details of a pull through cache rule." properties: ecrRepositoryPrefix: description: "The repository name prefix to use when caching images from the source registry." @@ -49,7 +49,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/ecr-controller/ecr.services.k8s.aws/v1alpha1/repositories.yaml b/crd-catalog/aws-controllers-k8s/ecr-controller/ecr.services.k8s.aws/v1alpha1/repositories.yaml index c0be50788..2a4b50071 100644 --- a/crd-catalog/aws-controllers-k8s/ecr-controller/ecr.services.k8s.aws/v1alpha1/repositories.yaml +++ b/crd-catalog/aws-controllers-k8s/ecr-controller/ecr.services.k8s.aws/v1alpha1/repositories.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "repositories.ecr.services.k8s.aws" spec: group: "ecr.services.k8s.aws" @@ -37,7 +37,7 @@ spec: metadata: type: "object" spec: - description: "RepositorySpec defines the desired state of Repository.\n\n\nAn object representing a repository." + description: "RepositorySpec defines the desired state of Repository.\n\nAn object representing a repository." properties: encryptionConfiguration: description: "The encryption configuration for the repository. This determines how the\ncontents of your repository are encrypted at rest." @@ -89,7 +89,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/efs-controller/efs.services.k8s.aws/v1alpha1/accesspoints.yaml b/crd-catalog/aws-controllers-k8s/efs-controller/efs.services.k8s.aws/v1alpha1/accesspoints.yaml index 476846c88..26ba56b4d 100644 --- a/crd-catalog/aws-controllers-k8s/efs-controller/efs.services.k8s.aws/v1alpha1/accesspoints.yaml +++ b/crd-catalog/aws-controllers-k8s/efs-controller/efs.services.k8s.aws/v1alpha1/accesspoints.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "accesspoints.efs.services.k8s.aws" spec: group: "efs.services.k8s.aws" @@ -58,7 +58,7 @@ spec: description: "The ID of the EFS file system that the access point provides access to." type: "string" fileSystemRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -85,10 +85,10 @@ spec: type: "integer" type: "object" rootDirectory: - description: "Specifies the directory on the EFS file system that the access point exposes\nas the root directory of your file system to NFS clients using the access\npoint. The clients using the access point can only access the root directory\nand below. If the RootDirectory > Path specified does not exist, Amazon EFS\ncreates it and applies the CreationInfo settings when a client connects to\nan access point. When specifying a RootDirectory, you must provide the Path,\nand the CreationInfo.\n\n\nAmazon EFS creates a root directory only if you have provided the CreationInfo:\nOwnUid, OwnGID, and permissions for the directory. If you do not provide\nthis information, Amazon EFS does not create the root directory. If the root\ndirectory does not exist, attempts to mount using the access point will fail." + description: "Specifies the directory on the EFS file system that the access point exposes\nas the root directory of your file system to NFS clients using the access\npoint. The clients using the access point can only access the root directory\nand below. If the RootDirectory > Path specified does not exist, Amazon EFS\ncreates it and applies the CreationInfo settings when a client connects to\nan access point. When specifying a RootDirectory, you must provide the Path,\nand the CreationInfo.\n\nAmazon EFS creates a root directory only if you have provided the CreationInfo:\nOwnUid, OwnGID, and permissions for the directory. If you do not provide\nthis information, Amazon EFS does not create the root directory. If the root\ndirectory does not exist, attempts to mount using the access point will fail." properties: creationInfo: - description: "Required if the RootDirectory > Path specified does not exist. Specifies\nthe POSIX IDs and permissions to apply to the access point's RootDirectory\n> Path. If the access point root directory does not exist, EFS creates it\nwith these settings when a client connects to the access point. When specifying\nCreationInfo, you must include values for all properties.\n\n\nAmazon EFS creates a root directory only if you have provided the CreationInfo:\nOwnUid, OwnGID, and permissions for the directory. If you do not provide\nthis information, Amazon EFS does not create the root directory. If the root\ndirectory does not exist, attempts to mount using the access point will fail.\n\n\nIf you do not provide CreationInfo and the specified RootDirectory does not\nexist, attempts to mount the file system using the access point will fail." + description: "Required if the RootDirectory > Path specified does not exist. Specifies\nthe POSIX IDs and permissions to apply to the access point's RootDirectory\n> Path. If the access point root directory does not exist, EFS creates it\nwith these settings when a client connects to the access point. When specifying\nCreationInfo, you must include values for all properties.\n\nAmazon EFS creates a root directory only if you have provided the CreationInfo:\nOwnUid, OwnGID, and permissions for the directory. If you do not provide\nthis information, Amazon EFS does not create the root directory. If the root\ndirectory does not exist, attempts to mount using the access point will fail.\n\nIf you do not provide CreationInfo and the specified RootDirectory does not\nexist, attempts to mount the file system using the access point will fail." properties: ownerGID: format: "int64" @@ -124,7 +124,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/efs-controller/efs.services.k8s.aws/v1alpha1/filesystems.yaml b/crd-catalog/aws-controllers-k8s/efs-controller/efs.services.k8s.aws/v1alpha1/filesystems.yaml index 8843c5733..af3ba9fdf 100644 --- a/crd-catalog/aws-controllers-k8s/efs-controller/efs.services.k8s.aws/v1alpha1/filesystems.yaml +++ b/crd-catalog/aws-controllers-k8s/efs-controller/efs.services.k8s.aws/v1alpha1/filesystems.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "filesystems.efs.services.k8s.aws" spec: group: "efs.services.k8s.aws" @@ -64,10 +64,10 @@ spec: description: "FileSystemSpec defines the desired state of FileSystem." properties: availabilityZoneName: - description: "Used to create a One Zone file system. It specifies the Amazon Web Services\nAvailability Zone in which to create the file system. Use the format us-east-1a\nto specify the Availability Zone. For more information about One Zone file\nsystems, see Using EFS storage classes (https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html)\nin the Amazon EFS User Guide.\n\n\nOne Zone file systems are not available in all Availability Zones in Amazon\nWeb Services Regions where Amazon EFS is available." + description: "Used to create a One Zone file system. It specifies the Amazon Web Services\nAvailability Zone in which to create the file system. Use the format us-east-1a\nto specify the Availability Zone. For more information about One Zone file\nsystems, see Using EFS storage classes (https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html)\nin the Amazon EFS User Guide.\n\nOne Zone file systems are not available in all Availability Zones in Amazon\nWeb Services Regions where Amazon EFS is available." type: "string" backup: - description: "Specifies whether automatic backups are enabled on the file system that you\nare creating. Set the value to true to enable automatic backups. If you are\ncreating a One Zone file system, automatic backups are enabled by default.\nFor more information, see Automatic backups (https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backups)\nin the Amazon EFS User Guide.\n\n\nDefault is false. However, if you specify an AvailabilityZoneName, the default\nis true.\n\n\nBackup is not available in all Amazon Web Services Regions where Amazon EFS\nis available." + description: "Specifies whether automatic backups are enabled on the file system that you\nare creating. Set the value to true to enable automatic backups. If you are\ncreating a One Zone file system, automatic backups are enabled by default.\nFor more information, see Automatic backups (https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backups)\nin the Amazon EFS User Guide.\n\nDefault is false. However, if you specify an AvailabilityZoneName, the default\nis true.\n\nBackup is not available in all Amazon Web Services Regions where Amazon EFS\nis available." type: "boolean" backupPolicy: description: "The backup policy included in the PutBackupPolicy request." @@ -84,10 +84,10 @@ spec: type: "string" type: "object" kmsKeyID: - description: "The ID of the KMS key that you want to use to protect the encrypted file\nsystem. This parameter is required only if you want to use a non-default\nKMS key. If this parameter is not specified, the default KMS key for Amazon\nEFS is used. You can specify a KMS key ID using the following formats:\n\n\n * Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab.\n\n\n * ARN - An Amazon Resource Name (ARN) for the key, for example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n\n\n * Key alias - A previously created display name for a key, for example\n alias/projectKey1.\n\n\n * Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1.\n\n\nIf you use KmsKeyId, you must set the CreateFileSystemRequest$Encrypted parameter\nto true.\n\n\nEFS accepts only symmetric KMS keys. You cannot use asymmetric KMS keys with\nAmazon EFS file systems." + description: "The ID of the KMS key that you want to use to protect the encrypted file\nsystem. This parameter is required only if you want to use a non-default\nKMS key. If this parameter is not specified, the default KMS key for Amazon\nEFS is used. You can specify a KMS key ID using the following formats:\n\n * Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab.\n\n * ARN - An Amazon Resource Name (ARN) for the key, for example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n\n * Key alias - A previously created display name for a key, for example\n alias/projectKey1.\n\n * Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1.\n\nIf you use KmsKeyId, you must set the CreateFileSystemRequest$Encrypted parameter\nto true.\n\nEFS accepts only symmetric KMS keys. You cannot use asymmetric KMS keys with\nAmazon EFS file systems." type: "string" kmsKeyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -99,9 +99,9 @@ spec: type: "object" type: "object" lifecyclePolicies: - description: "An array of LifecyclePolicy objects that define the file system's LifecycleConfiguration\nobject. A LifecycleConfiguration object informs EFS Lifecycle management\nof the following:\n\n\n * TransitionToIA – When to move files in the file system from primary\n storage (Standard storage class) into the Infrequent Access (IA) storage.\n\n\n * TransitionToArchive – When to move files in the file system from their\n current storage class (either IA or Standard storage) into the Archive\n storage. File systems cannot transition into Archive storage before transitioning\n into IA storage. Therefore, TransitionToArchive must either not be set\n or must be later than TransitionToIA. The Archive storage class is available\n only for file systems that use the Elastic Throughput mode and the General\n Purpose Performance mode.\n\n\n * TransitionToPrimaryStorageClass – Whether to move files in the file\n system back to primary storage (Standard storage class) after they are\n accessed in IA or Archive storage.\n\n\nWhen using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration\nAPI action, Amazon EFS requires that each LifecyclePolicy object have only\na single transition. This means that in a request body, LifecyclePolicies\nmust be structured as an array of LifecyclePolicy objects, one object for\neach storage transition. See the example requests in the following section\nfor more information." + description: "An array of LifecyclePolicy objects that define the file system's LifecycleConfiguration\nobject. A LifecycleConfiguration object informs EFS Lifecycle management\nof the following:\n\n * TransitionToIA – When to move files in the file system from primary\n storage (Standard storage class) into the Infrequent Access (IA) storage.\n\n * TransitionToArchive – When to move files in the file system from their\n current storage class (either IA or Standard storage) into the Archive\n storage. File systems cannot transition into Archive storage before transitioning\n into IA storage. Therefore, TransitionToArchive must either not be set\n or must be later than TransitionToIA. The Archive storage class is available\n only for file systems that use the Elastic Throughput mode and the General\n Purpose Performance mode.\n\n * TransitionToPrimaryStorageClass – Whether to move files in the file\n system back to primary storage (Standard storage class) after they are\n accessed in IA or Archive storage.\n\nWhen using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration\nAPI action, Amazon EFS requires that each LifecyclePolicy object have only\na single transition. This means that in a request body, LifecyclePolicies\nmust be structured as an array of LifecyclePolicy objects, one object for\neach storage transition. See the example requests in the following section\nfor more information." items: - description: "Describes a policy used by Lifecycle management that specifies when to transition\nfiles into and out of storage classes. For more information, see Managing\nfile system storage (https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html).\n\n\nWhen using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration\nAPI action, Amazon EFS requires that each LifecyclePolicy object have only\na single transition. This means that in a request body, LifecyclePolicies\nmust be structured as an array of LifecyclePolicy objects, one object for\neach transition. For more information, see the request examples in PutLifecycleConfiguration." + description: "Describes a policy used by Lifecycle management that specifies when to transition\nfiles into and out of storage classes. For more information, see Managing\nfile system storage (https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html).\n\nWhen using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration\nAPI action, Amazon EFS requires that each LifecyclePolicy object have only\na single transition. This means that in a request body, LifecyclePolicies\nmust be structured as an array of LifecyclePolicy objects, one object for\neach transition. For more information, see the request examples in PutLifecycleConfiguration." properties: transitionToArchive: type: "string" @@ -112,7 +112,7 @@ spec: type: "object" type: "array" performanceMode: - description: "The Performance mode of the file system. We recommend generalPurpose performance\nmode for all file systems. File systems using the maxIO performance mode\ncan scale to higher levels of aggregate throughput and operations per second\nwith a tradeoff of slightly higher latencies for most file operations. The\nperformance mode can't be changed after the file system has been created.\nThe maxIO mode is not supported on One Zone file systems.\n\n\nDue to the higher per-operation latencies with Max I/O, we recommend using\nGeneral Purpose performance mode for all file systems.\n\n\nDefault is generalPurpose." + description: "The Performance mode of the file system. We recommend generalPurpose performance\nmode for all file systems. File systems using the maxIO performance mode\ncan scale to higher levels of aggregate throughput and operations per second\nwith a tradeoff of slightly higher latencies for most file operations. The\nperformance mode can't be changed after the file system has been created.\nThe maxIO mode is not supported on One Zone file systems.\n\nDue to the higher per-operation latencies with Max I/O, we recommend using\nGeneral Purpose performance mode for all file systems.\n\nDefault is generalPurpose." type: "string" policy: description: "The FileSystemPolicy that you're creating. Accepts a JSON formatted policy\ndefinition. EFS file system policies have a 20,000 character limit. To find\nout more about the elements that make up a file system policy, see EFS Resource-based\nPolicies (https://docs.aws.amazon.com/efs/latest/ug/access-control-overview.html#access-control-manage-access-intro-resource-policies)." @@ -132,7 +132,7 @@ spec: type: "object" type: "array" throughputMode: - description: "Specifies the throughput mode for the file system. The mode can be bursting,\nprovisioned, or elastic. If you set ThroughputMode to provisioned, you must\nalso set a value for ProvisionedThroughputInMibps. After you create the file\nsystem, you can decrease your file system's Provisioned throughput or change\nbetween the throughput modes, with certain time restrictions. For more information,\nsee Specifying throughput with provisioned mode (https://docs.aws.amazon.com/efs/latest/ug/performance.html#provisioned-throughput)\nin the Amazon EFS User Guide.\n\n\nDefault is bursting." + description: "Specifies the throughput mode for the file system. The mode can be bursting,\nprovisioned, or elastic. If you set ThroughputMode to provisioned, you must\nalso set a value for ProvisionedThroughputInMibps. After you create the file\nsystem, you can decrease your file system's Provisioned throughput or change\nbetween the throughput modes, with certain time restrictions. For more information,\nsee Specifying throughput with provisioned mode (https://docs.aws.amazon.com/efs/latest/ug/performance.html#provisioned-throughput)\nin the Amazon EFS User Guide.\n\nDefault is bursting." type: "string" type: "object" status: @@ -142,7 +142,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/efs-controller/efs.services.k8s.aws/v1alpha1/mounttargets.yaml b/crd-catalog/aws-controllers-k8s/efs-controller/efs.services.k8s.aws/v1alpha1/mounttargets.yaml index 2947a032b..074da3bdf 100644 --- a/crd-catalog/aws-controllers-k8s/efs-controller/efs.services.k8s.aws/v1alpha1/mounttargets.yaml +++ b/crd-catalog/aws-controllers-k8s/efs-controller/efs.services.k8s.aws/v1alpha1/mounttargets.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "mounttargets.efs.services.k8s.aws" spec: group: "efs.services.k8s.aws" @@ -67,7 +67,7 @@ spec: description: "The ID of the file system for which to create the mount target." type: "string" fileSystemRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -83,7 +83,7 @@ spec: type: "string" securityGroupRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -104,7 +104,7 @@ spec: description: "The ID of the subnet to add the mount target in. For One Zone file systems,\nuse the subnet that is associated with the file system's Availability Zone." type: "string" subnetRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -123,7 +123,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/emrcontainers-controller/emrcontainers.services.k8s.aws/v1alpha1/jobruns.yaml b/crd-catalog/aws-controllers-k8s/emrcontainers-controller/emrcontainers.services.k8s.aws/v1alpha1/jobruns.yaml index 3663bb6b8..8a1f9f60c 100644 --- a/crd-catalog/aws-controllers-k8s/emrcontainers-controller/emrcontainers.services.k8s.aws/v1alpha1/jobruns.yaml +++ b/crd-catalog/aws-controllers-k8s/emrcontainers-controller/emrcontainers.services.k8s.aws/v1alpha1/jobruns.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "jobruns.emrcontainers.services.k8s.aws" spec: group: "emrcontainers.services.k8s.aws" @@ -34,7 +34,7 @@ spec: metadata: type: "object" spec: - description: "JobRunSpec defines the desired state of JobRun.\n\n\nThis entity describes a job run. A job run is a unit of work, such as a Spark\njar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on\nEKS." + description: "JobRunSpec defines the desired state of JobRun.\n\nThis entity describes a job run. A job run is a unit of work, such as a Spark\njar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on\nEKS." properties: configurationOverrides: type: "string" @@ -72,7 +72,7 @@ spec: description: "The virtual cluster ID for which the job run request is submitted." type: "string" virtualClusterRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -95,7 +95,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/emrcontainers-controller/emrcontainers.services.k8s.aws/v1alpha1/virtualclusters.yaml b/crd-catalog/aws-controllers-k8s/emrcontainers-controller/emrcontainers.services.k8s.aws/v1alpha1/virtualclusters.yaml index f37410584..788596941 100644 --- a/crd-catalog/aws-controllers-k8s/emrcontainers-controller/emrcontainers.services.k8s.aws/v1alpha1/virtualclusters.yaml +++ b/crd-catalog/aws-controllers-k8s/emrcontainers-controller/emrcontainers.services.k8s.aws/v1alpha1/virtualclusters.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "virtualclusters.emrcontainers.services.k8s.aws" spec: group: "emrcontainers.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "VirtualClusterSpec defines the desired state of VirtualCluster.\n\n\nThis entity describes a virtual cluster. A virtual cluster is a Kubernetes\nnamespace that Amazon EMR is registered with. Amazon EMR uses virtual clusters\nto run jobs and host endpoints. Multiple virtual clusters can be backed by\nthe same physical cluster. However, each virtual cluster maps to one namespace\non an EKS cluster. Virtual clusters do not create any active resources that\ncontribute to your bill or that require lifecycle management outside the\nservice." + description: "VirtualClusterSpec defines the desired state of VirtualCluster.\n\nThis entity describes a virtual cluster. A virtual cluster is a Kubernetes\nnamespace that Amazon EMR is registered with. Amazon EMR uses virtual clusters\nto run jobs and host endpoints. Multiple virtual clusters can be backed by\nthe same physical cluster. However, each virtual cluster maps to one namespace\non an EKS cluster. Virtual clusters do not create any active resources that\ncontribute to your bill or that require lifecycle management outside the\nservice." properties: containerProvider: description: "The container provider of the virtual cluster." @@ -66,7 +66,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/groups.yaml b/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/groups.yaml index 00a89f4f1..53e487c1f 100644 --- a/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/groups.yaml +++ b/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/groups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "groups.iam.services.k8s.aws" spec: group: "iam.services.k8s.aws" @@ -27,17 +27,17 @@ spec: metadata: type: "object" spec: - description: "GroupSpec defines the desired state of Group.\n\n\nContains information about an IAM group entity.\n\n\nThis data type is used as a response element in the following operations:\n\n\n * CreateGroup\n\n\n * GetGroup\n\n\n * ListGroups" + description: "GroupSpec defines the desired state of Group.\n\nContains information about an IAM group entity.\n\nThis data type is used as a response element in the following operations:\n\n * CreateGroup\n\n * GetGroup\n\n * ListGroups" properties: inlinePolicies: additionalProperties: type: "string" type: "object" name: - description: "The name of the group to create. Do not include the path in this value.\n\n\nIAM user, group, role, and policy names must be unique within the account.\nNames are not distinguished by case. For example, you cannot create resources\nnamed both \"MyResource\" and \"myresource\"." + description: "The name of the group to create. Do not include the path in this value.\n\nIAM user, group, role, and policy names must be unique within the account.\nNames are not distinguished by case. For example, you cannot create resources\nnamed both \"MyResource\" and \"myresource\"." type: "string" path: - description: "The path to the group. For more information about paths, see IAM identifiers\n(https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)\nin the IAM User Guide.\n\n\nThis parameter is optional. If it is not included, it defaults to a slash\n(/).\n\n\nThis parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))\na string of characters consisting of either a forward slash (/) by itself\nor a string that must begin and end with forward slashes. In addition, it\ncan contain any ASCII character from the ! (\\u0021) through the DEL character\n(\\u007F), including most punctuation characters, digits, and upper and lowercased\nletters." + description: "The path to the group. For more information about paths, see IAM identifiers\n(https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)\nin the IAM User Guide.\n\nThis parameter is optional. If it is not included, it defaults to a slash\n(/).\n\nThis parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))\na string of characters consisting of either a forward slash (/) by itself\nor a string that must begin and end with forward slashes. In addition, it\ncan contain any ASCII character from the ! (\\u0021) through the DEL character\n(\\u007F), including most punctuation characters, digits, and upper and lowercased\nletters." type: "string" policies: items: @@ -45,7 +45,7 @@ spec: type: "array" policyRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -67,7 +67,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/instanceprofiles.yaml b/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/instanceprofiles.yaml index 90697351c..59caa5685 100644 --- a/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/instanceprofiles.yaml +++ b/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/instanceprofiles.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "instanceprofiles.iam.services.k8s.aws" spec: group: "iam.services.k8s.aws" @@ -27,18 +27,18 @@ spec: metadata: type: "object" spec: - description: "InstanceProfileSpec defines the desired state of InstanceProfile.\n\n\nContains information about an instance profile.\n\n\nThis data type is used as a response element in the following operations:\n\n\n * CreateInstanceProfile\n\n\n * GetInstanceProfile\n\n\n * ListInstanceProfiles\n\n\n * ListInstanceProfilesForRole" + description: "InstanceProfileSpec defines the desired state of InstanceProfile.\n\nContains information about an instance profile.\n\nThis data type is used as a response element in the following operations:\n\n * CreateInstanceProfile\n\n * GetInstanceProfile\n\n * ListInstanceProfiles\n\n * ListInstanceProfilesForRole" properties: name: - description: "The name of the instance profile to create.\n\n\nThis parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))\na string of characters consisting of upper and lowercase alphanumeric characters\nwith no spaces. You can also include any of the following characters: _+=,.@-" + description: "The name of the instance profile to create.\n\nThis parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))\na string of characters consisting of upper and lowercase alphanumeric characters\nwith no spaces. You can also include any of the following characters: _+=,.@-" type: "string" path: - description: "The path to the instance profile. For more information about paths, see IAM\nIdentifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)\nin the IAM User Guide.\n\n\nThis parameter is optional. If it is not included, it defaults to a slash\n(/).\n\n\nThis parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))\na string of characters consisting of either a forward slash (/) by itself\nor a string that must begin and end with forward slashes. In addition, it\ncan contain any ASCII character from the ! (\\u0021) through the DEL character\n(\\u007F), including most punctuation characters, digits, and upper and lowercased\nletters." + description: "The path to the instance profile. For more information about paths, see IAM\nIdentifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)\nin the IAM User Guide.\n\nThis parameter is optional. If it is not included, it defaults to a slash\n(/).\n\nThis parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))\na string of characters consisting of either a forward slash (/) by itself\nor a string that must begin and end with forward slashes. In addition, it\ncan contain any ASCII character from the ! (\\u0021) through the DEL character\n(\\u007F), including most punctuation characters, digits, and upper and lowercased\nletters." type: "string" role: type: "string" roleRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -50,7 +50,7 @@ spec: type: "object" type: "object" tags: - description: "A list of tags that you want to attach to the newly created IAM instance\nprofile. Each tag consists of a key name and an associated value. For more\ninformation about tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide.\n\n\nIf any one of the tags is invalid or if you exceed the allowed maximum number\nof tags, then the entire request fails and the resource is not created." + description: "A list of tags that you want to attach to the newly created IAM instance\nprofile. Each tag consists of a key name and an associated value. For more\ninformation about tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide.\n\nIf any one of the tags is invalid or if you exceed the allowed maximum number\nof tags, then the entire request fails and the resource is not created." items: description: "A structure that represents user-provided metadata that can be associated\nwith an IAM resource. For more information about tagging, see Tagging IAM\nresources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide." properties: @@ -70,7 +70,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/openidconnectproviders.yaml b/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/openidconnectproviders.yaml index a61b35e17..5511ad076 100644 --- a/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/openidconnectproviders.yaml +++ b/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/openidconnectproviders.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "openidconnectproviders.iam.services.k8s.aws" spec: group: "iam.services.k8s.aws" @@ -30,12 +30,12 @@ spec: description: "OpenIDConnectProviderSpec defines the desired state of OpenIDConnectProvider." properties: clientIDs: - description: "Provides a list of client IDs, also known as audiences. When a mobile or\nweb app registers with an OpenID Connect provider, they establish a value\nthat identifies the application. This is the value that's sent as the client_id\nparameter on OAuth requests.\n\n\nYou can register multiple client IDs with the same provider. For example,\nyou might have multiple applications that use the same OIDC provider. You\ncannot register more than 100 client IDs with a single IAM OIDC provider.\n\n\nThere is no defined format for a client ID. The CreateOpenIDConnectProviderRequest\noperation accepts client IDs up to 255 characters long." + description: "Provides a list of client IDs, also known as audiences. When a mobile or\nweb app registers with an OpenID Connect provider, they establish a value\nthat identifies the application. This is the value that's sent as the client_id\nparameter on OAuth requests.\n\nYou can register multiple client IDs with the same provider. For example,\nyou might have multiple applications that use the same OIDC provider. You\ncannot register more than 100 client IDs with a single IAM OIDC provider.\n\nThere is no defined format for a client ID. The CreateOpenIDConnectProviderRequest\noperation accepts client IDs up to 255 characters long." items: type: "string" type: "array" tags: - description: "A list of tags that you want to attach to the new IAM OpenID Connect (OIDC)\nprovider. Each tag consists of a key name and an associated value. For more\ninformation about tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide.\n\n\nIf any one of the tags is invalid or if you exceed the allowed maximum number\nof tags, then the entire request fails and the resource is not created." + description: "A list of tags that you want to attach to the new IAM OpenID Connect (OIDC)\nprovider. Each tag consists of a key name and an associated value. For more\ninformation about tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide.\n\nIf any one of the tags is invalid or if you exceed the allowed maximum number\nof tags, then the entire request fails and the resource is not created." items: description: "A structure that represents user-provided metadata that can be associated\nwith an IAM resource. For more information about tagging, see Tagging IAM\nresources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide." properties: @@ -46,12 +46,12 @@ spec: type: "object" type: "array" thumbprints: - description: "A list of server certificate thumbprints for the OpenID Connect (OIDC) identity\nprovider's server certificates. Typically this list includes only one entry.\nHowever, IAM lets you have up to five thumbprints for an OIDC provider. This\nlets you maintain multiple thumbprints if the identity provider is rotating\ncertificates.\n\n\nThe server certificate thumbprint is the hex-encoded SHA-1 hash value of\nthe X.509 certificate used by the domain where the OpenID Connect provider\nmakes its keys available. It is always a 40-character string.\n\n\nYou must provide at least one thumbprint when creating an IAM OIDC provider.\nFor example, assume that the OIDC provider is server.example.com and the\nprovider stores its keys at https://keys.server.example.com/openid-connect.\nIn that case, the thumbprint string would be the hex-encoded SHA-1 hash value\nof the certificate used by https://keys.server.example.com.\n\n\nFor more information about obtaining the OIDC provider thumbprint, see Obtaining\nthe thumbprint for an OpenID Connect provider (https://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers-oidc-obtain-thumbprint.html)\nin the IAM user Guide." + description: "A list of server certificate thumbprints for the OpenID Connect (OIDC) identity\nprovider's server certificates. Typically this list includes only one entry.\nHowever, IAM lets you have up to five thumbprints for an OIDC provider. This\nlets you maintain multiple thumbprints if the identity provider is rotating\ncertificates.\n\nThe server certificate thumbprint is the hex-encoded SHA-1 hash value of\nthe X.509 certificate used by the domain where the OpenID Connect provider\nmakes its keys available. It is always a 40-character string.\n\nYou must provide at least one thumbprint when creating an IAM OIDC provider.\nFor example, assume that the OIDC provider is server.example.com and the\nprovider stores its keys at https://keys.server.example.com/openid-connect.\nIn that case, the thumbprint string would be the hex-encoded SHA-1 hash value\nof the certificate used by https://keys.server.example.com.\n\nFor more information about obtaining the OIDC provider thumbprint, see Obtaining\nthe thumbprint for an OpenID Connect provider (https://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers-oidc-obtain-thumbprint.html)\nin the IAM user Guide." items: type: "string" type: "array" url: - description: "The URL of the identity provider. The URL must begin with https:// and should\ncorrespond to the iss claim in the provider's OpenID Connect ID tokens. Per\nthe OIDC standard, path components are allowed but query parameters are not.\nTypically the URL consists of only a hostname, like https://server.example.org\nor https://example.com. The URL should not contain a port number.\n\n\nYou cannot register the same provider multiple times in a single Amazon Web\nServices account. If you try to submit a URL that has already been used for\nan OpenID Connect provider in the Amazon Web Services account, you will get\nan error." + description: "The URL of the identity provider. The URL must begin with https:// and should\ncorrespond to the iss claim in the provider's OpenID Connect ID tokens. Per\nthe OIDC standard, path components are allowed but query parameters are not.\nTypically the URL consists of only a hostname, like https://server.example.org\nor https://example.com. The URL should not contain a port number.\n\nYou cannot register the same provider multiple times in a single Amazon Web\nServices account. If you try to submit a URL that has already been used for\nan OpenID Connect provider in the Amazon Web Services account, you will get\nan error." type: "string" required: - "thumbprints" @@ -64,7 +64,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/policies.yaml b/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/policies.yaml index 9ef75b921..e9a8b25db 100644 --- a/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/policies.yaml +++ b/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/policies.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "policies.iam.services.k8s.aws" spec: group: "iam.services.k8s.aws" @@ -27,22 +27,22 @@ spec: metadata: type: "object" spec: - description: "PolicySpec defines the desired state of Policy.\n\n\nContains information about a managed policy.\n\n\nThis data type is used as a response element in the CreatePolicy, GetPolicy,\nand ListPolicies operations.\n\n\nFor more information about managed policies, refer to Managed policies and\ninline policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)\nin the IAM User Guide." + description: "PolicySpec defines the desired state of Policy.\n\nContains information about a managed policy.\n\nThis data type is used as a response element in the CreatePolicy, GetPolicy,\nand ListPolicies operations.\n\nFor more information about managed policies, refer to Managed policies and\ninline policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)\nin the IAM User Guide." properties: description: - description: "A friendly description of the policy.\n\n\nTypically used to store information about the permissions defined in the\npolicy. For example, \"Grants access to production DynamoDB tables.\"\n\n\nThe policy description is immutable. After a value is assigned, it cannot\nbe changed." + description: "A friendly description of the policy.\n\nTypically used to store information about the permissions defined in the\npolicy. For example, \"Grants access to production DynamoDB tables.\"\n\nThe policy description is immutable. After a value is assigned, it cannot\nbe changed." type: "string" name: - description: "The friendly name of the policy.\n\n\nIAM user, group, role, and policy names must be unique within the account.\nNames are not distinguished by case. For example, you cannot create resources\nnamed both \"MyResource\" and \"myresource\"." + description: "The friendly name of the policy.\n\nIAM user, group, role, and policy names must be unique within the account.\nNames are not distinguished by case. For example, you cannot create resources\nnamed both \"MyResource\" and \"myresource\"." type: "string" path: - description: "The path for the policy.\n\n\nFor more information about paths, see IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)\nin the IAM User Guide.\n\n\nThis parameter is optional. If it is not included, it defaults to a slash\n(/).\n\n\nThis parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))\na string of characters consisting of either a forward slash (/) by itself\nor a string that must begin and end with forward slashes. In addition, it\ncan contain any ASCII character from the ! (\\u0021) through the DEL character\n(\\u007F), including most punctuation characters, digits, and upper and lowercased\nletters.\n\n\nYou cannot use an asterisk (*) in the path name." + description: "The path for the policy.\n\nFor more information about paths, see IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)\nin the IAM User Guide.\n\nThis parameter is optional. If it is not included, it defaults to a slash\n(/).\n\nThis parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))\na string of characters consisting of either a forward slash (/) by itself\nor a string that must begin and end with forward slashes. In addition, it\ncan contain any ASCII character from the ! (\\u0021) through the DEL character\n(\\u007F), including most punctuation characters, digits, and upper and lowercased\nletters.\n\nYou cannot use an asterisk (*) in the path name." type: "string" policyDocument: - description: "The JSON policy document that you want to use as the content for the new\npolicy.\n\n\nYou must provide policies in JSON format in IAM. However, for CloudFormation\ntemplates formatted in YAML, you can provide the policy in JSON or YAML format.\nCloudFormation always converts a YAML policy to JSON format before submitting\nit to IAM.\n\n\nThe maximum length of the policy document that you can pass in this operation,\nincluding whitespace, is listed below. To view the maximum character counts\nof a managed policy with no whitespaces, see IAM and STS character quotas\n(https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entity-length).\n\n\nTo learn more about JSON policy grammar, see Grammar of the IAM JSON policy\nlanguage (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html)\nin the IAM User Guide.\n\n\nThe regex pattern (http://wikipedia.org/wiki/regex) used to validate this\nparameter is a string of characters consisting of the following:\n\n\n * Any printable ASCII character ranging from the space character (\\u0020)\n through the end of the ASCII character range\n\n\n * The printable characters in the Basic Latin and Latin-1 Supplement character\n set (through \\u00FF)\n\n\n * The special characters tab (\\u0009), line feed (\\u000A), and carriage\n return (\\u000D)" + description: "The JSON policy document that you want to use as the content for the new\npolicy.\n\nYou must provide policies in JSON format in IAM. However, for CloudFormation\ntemplates formatted in YAML, you can provide the policy in JSON or YAML format.\nCloudFormation always converts a YAML policy to JSON format before submitting\nit to IAM.\n\nThe maximum length of the policy document that you can pass in this operation,\nincluding whitespace, is listed below. To view the maximum character counts\nof a managed policy with no whitespaces, see IAM and STS character quotas\n(https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entity-length).\n\nTo learn more about JSON policy grammar, see Grammar of the IAM JSON policy\nlanguage (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html)\nin the IAM User Guide.\n\nThe regex pattern (http://wikipedia.org/wiki/regex) used to validate this\nparameter is a string of characters consisting of the following:\n\n * Any printable ASCII character ranging from the space character (\\u0020)\n through the end of the ASCII character range\n\n * The printable characters in the Basic Latin and Latin-1 Supplement character\n set (through \\u00FF)\n\n * The special characters tab (\\u0009), line feed (\\u000A), and carriage\n return (\\u000D)" type: "string" tags: - description: "A list of tags that you want to attach to the new IAM customer managed policy.\nEach tag consists of a key name and an associated value. For more information\nabout tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide.\n\n\nIf any one of the tags is invalid or if you exceed the allowed maximum number\nof tags, then the entire request fails and the resource is not created." + description: "A list of tags that you want to attach to the new IAM customer managed policy.\nEach tag consists of a key name and an associated value. For more information\nabout tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide.\n\nIf any one of the tags is invalid or if you exceed the allowed maximum number\nof tags, then the entire request fails and the resource is not created." items: description: "A structure that represents user-provided metadata that can be associated\nwith an IAM resource. For more information about tagging, see Tagging IAM\nresources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide." properties: @@ -63,7 +63,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -116,14 +116,14 @@ spec: description: "Specifies whether the policy can be attached to an IAM user, group, or role." type: "boolean" permissionsBoundaryUsageCount: - description: "The number of entities (users and roles) for which the policy is used to\nset the permissions boundary.\n\n\nFor more information about permissions boundaries, see Permissions boundaries\nfor IAM identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)\nin the IAM User Guide." + description: "The number of entities (users and roles) for which the policy is used to\nset the permissions boundary.\n\nFor more information about permissions boundaries, see Permissions boundaries\nfor IAM identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)\nin the IAM User Guide." format: "int64" type: "integer" policyID: - description: "The stable and unique string identifying the policy.\n\n\nFor more information about IDs, see IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)\nin the IAM User Guide." + description: "The stable and unique string identifying the policy.\n\nFor more information about IDs, see IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)\nin the IAM User Guide." type: "string" updateDate: - description: "The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),\nwhen the policy was last updated.\n\n\nWhen a policy has only one version, this field contains the date and time\nwhen the policy was created. When a policy has more than one version, this\nfield contains the date and time when the most recent policy version was\ncreated." + description: "The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),\nwhen the policy was last updated.\n\nWhen a policy has only one version, this field contains the date and time\nwhen the policy was created. When a policy has more than one version, this\nfield contains the date and time when the most recent policy version was\ncreated." format: "date-time" type: "string" type: "object" diff --git a/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/roles.yaml b/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/roles.yaml index 0913a26bc..55d2c8a42 100644 --- a/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/roles.yaml +++ b/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/roles.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "roles.iam.services.k8s.aws" spec: group: "iam.services.k8s.aws" @@ -27,10 +27,10 @@ spec: metadata: type: "object" spec: - description: "RoleSpec defines the desired state of Role.\n\n\nContains information about an IAM role. This structure is returned as a response\nelement in several API operations that interact with roles." + description: "RoleSpec defines the desired state of Role.\n\nContains information about an IAM role. This structure is returned as a response\nelement in several API operations that interact with roles." properties: assumeRolePolicyDocument: - description: "The trust relationship policy document that grants an entity permission to\nassume the role.\n\n\nIn IAM, you must provide a JSON policy that has been converted to a string.\nHowever, for CloudFormation templates formatted in YAML, you can provide\nthe policy in JSON or YAML format. CloudFormation always converts a YAML\npolicy to JSON format before submitting it to IAM.\n\n\nThe regex pattern (http://wikipedia.org/wiki/regex) used to validate this\nparameter is a string of characters consisting of the following:\n\n\n * Any printable ASCII character ranging from the space character (\\u0020)\n through the end of the ASCII character range\n\n\n * The printable characters in the Basic Latin and Latin-1 Supplement character\n set (through \\u00FF)\n\n\n * The special characters tab (\\u0009), line feed (\\u000A), and carriage\n return (\\u000D)\n\n\nUpon success, the response includes the same trust policy in JSON format." + description: "The trust relationship policy document that grants an entity permission to\nassume the role.\n\nIn IAM, you must provide a JSON policy that has been converted to a string.\nHowever, for CloudFormation templates formatted in YAML, you can provide\nthe policy in JSON or YAML format. CloudFormation always converts a YAML\npolicy to JSON format before submitting it to IAM.\n\nThe regex pattern (http://wikipedia.org/wiki/regex) used to validate this\nparameter is a string of characters consisting of the following:\n\n * Any printable ASCII character ranging from the space character (\\u0020)\n through the end of the ASCII character range\n\n * The printable characters in the Basic Latin and Latin-1 Supplement character\n set (through \\u00FF)\n\n * The special characters tab (\\u0009), line feed (\\u000A), and carriage\n return (\\u000D)\n\nUpon success, the response includes the same trust policy in JSON format." type: "string" description: description: "A description of the role." @@ -40,20 +40,20 @@ spec: type: "string" type: "object" maxSessionDuration: - description: "The maximum session duration (in seconds) that you want to set for the specified\nrole. If you do not specify a value for this setting, the default value of\none hour is applied. This setting can have a value from 1 hour to 12 hours.\n\n\nAnyone who assumes the role from the CLI or API can use the DurationSeconds\nAPI parameter or the duration-seconds CLI parameter to request a longer session.\nThe MaxSessionDuration setting determines the maximum duration that can be\nrequested using the DurationSeconds parameter. If users don't specify a value\nfor the DurationSeconds parameter, their security credentials are valid for\none hour by default. This applies when you use the AssumeRole* API operations\nor the assume-role* CLI operations but does not apply when you use those\noperations to create a console URL. For more information, see Using IAM roles\n(https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) in the\nIAM User Guide." + description: "The maximum session duration (in seconds) that you want to set for the specified\nrole. If you do not specify a value for this setting, the default value of\none hour is applied. This setting can have a value from 1 hour to 12 hours.\n\nAnyone who assumes the role from the CLI or API can use the DurationSeconds\nAPI parameter or the duration-seconds CLI parameter to request a longer session.\nThe MaxSessionDuration setting determines the maximum duration that can be\nrequested using the DurationSeconds parameter. If users don't specify a value\nfor the DurationSeconds parameter, their security credentials are valid for\none hour by default. This applies when you use the AssumeRole* API operations\nor the assume-role* CLI operations but does not apply when you use those\noperations to create a console URL. For more information, see Using IAM roles\n(https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) in the\nIAM User Guide." format: "int64" type: "integer" name: - description: "The name of the role to create.\n\n\nIAM user, group, role, and policy names must be unique within the account.\nNames are not distinguished by case. For example, you cannot create resources\nnamed both \"MyResource\" and \"myresource\".\n\n\nThis parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))\na string of characters consisting of upper and lowercase alphanumeric characters\nwith no spaces. You can also include any of the following characters: _+=,.@-" + description: "The name of the role to create.\n\nIAM user, group, role, and policy names must be unique within the account.\nNames are not distinguished by case. For example, you cannot create resources\nnamed both \"MyResource\" and \"myresource\".\n\nThis parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))\na string of characters consisting of upper and lowercase alphanumeric characters\nwith no spaces. You can also include any of the following characters: _+=,.@-" type: "string" path: - description: "The path to the role. For more information about paths, see IAM Identifiers\n(https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)\nin the IAM User Guide.\n\n\nThis parameter is optional. If it is not included, it defaults to a slash\n(/).\n\n\nThis parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))\na string of characters consisting of either a forward slash (/) by itself\nor a string that must begin and end with forward slashes. In addition, it\ncan contain any ASCII character from the ! (\\u0021) through the DEL character\n(\\u007F), including most punctuation characters, digits, and upper and lowercased\nletters." + description: "The path to the role. For more information about paths, see IAM Identifiers\n(https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)\nin the IAM User Guide.\n\nThis parameter is optional. If it is not included, it defaults to a slash\n(/).\n\nThis parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))\na string of characters consisting of either a forward slash (/) by itself\nor a string that must begin and end with forward slashes. In addition, it\ncan contain any ASCII character from the ! (\\u0021) through the DEL character\n(\\u007F), including most punctuation characters, digits, and upper and lowercased\nletters." type: "string" permissionsBoundary: - description: "The ARN of the managed policy that is used to set the permissions boundary\nfor the role.\n\n\nA permissions boundary policy defines the maximum permissions that identity-based\npolicies can grant to an entity, but does not grant permissions. Permissions\nboundaries do not define the maximum permissions that a resource-based policy\ncan grant to an entity. To learn more, see Permissions boundaries for IAM\nentities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)\nin the IAM User Guide.\n\n\nFor more information about policy types, see Policy types (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policy-types)\nin the IAM User Guide." + description: "The ARN of the managed policy that is used to set the permissions boundary\nfor the role.\n\nA permissions boundary policy defines the maximum permissions that identity-based\npolicies can grant to an entity, but does not grant permissions. Permissions\nboundaries do not define the maximum permissions that a resource-based policy\ncan grant to an entity. To learn more, see Permissions boundaries for IAM\nentities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)\nin the IAM User Guide.\n\nFor more information about policy types, see Policy types (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policy-types)\nin the IAM User Guide." type: "string" permissionsBoundaryRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -70,7 +70,7 @@ spec: type: "array" policyRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -83,7 +83,7 @@ spec: type: "object" type: "array" tags: - description: "A list of tags that you want to attach to the new role. Each tag consists\nof a key name and an associated value. For more information about tagging,\nsee Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide.\n\n\nIf any one of the tags is invalid or if you exceed the allowed maximum number\nof tags, then the entire request fails and the resource is not created." + description: "A list of tags that you want to attach to the new role. Each tag consists\nof a key name and an associated value. For more information about tagging,\nsee Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide.\n\nIf any one of the tags is invalid or if you exceed the allowed maximum number\nof tags, then the entire request fails and the resource is not created." items: description: "A structure that represents user-provided metadata that can be associated\nwith an IAM resource. For more information about tagging, see Tagging IAM\nresources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide." properties: @@ -104,7 +104,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/users.yaml b/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/users.yaml index 8446601e8..0390d69d8 100644 --- a/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/users.yaml +++ b/crd-catalog/aws-controllers-k8s/iam-controller/iam.services.k8s.aws/v1alpha1/users.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "users.iam.services.k8s.aws" spec: group: "iam.services.k8s.aws" @@ -27,23 +27,23 @@ spec: metadata: type: "object" spec: - description: "UserSpec defines the desired state of User.\n\n\nContains information about an IAM user entity.\n\n\nThis data type is used as a response element in the following operations:\n\n\n * CreateUser\n\n\n * GetUser\n\n\n * ListUsers" + description: "UserSpec defines the desired state of User.\n\nContains information about an IAM user entity.\n\nThis data type is used as a response element in the following operations:\n\n * CreateUser\n\n * GetUser\n\n * ListUsers" properties: inlinePolicies: additionalProperties: type: "string" type: "object" name: - description: "The name of the user to create.\n\n\nIAM user, group, role, and policy names must be unique within the account.\nNames are not distinguished by case. For example, you cannot create resources\nnamed both \"MyResource\" and \"myresource\"." + description: "The name of the user to create.\n\nIAM user, group, role, and policy names must be unique within the account.\nNames are not distinguished by case. For example, you cannot create resources\nnamed both \"MyResource\" and \"myresource\"." type: "string" path: - description: "The path for the user name. For more information about paths, see IAM identifiers\n(https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)\nin the IAM User Guide.\n\n\nThis parameter is optional. If it is not included, it defaults to a slash\n(/).\n\n\nThis parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))\na string of characters consisting of either a forward slash (/) by itself\nor a string that must begin and end with forward slashes. In addition, it\ncan contain any ASCII character from the ! (\\u0021) through the DEL character\n(\\u007F), including most punctuation characters, digits, and upper and lowercased\nletters." + description: "The path for the user name. For more information about paths, see IAM identifiers\n(https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)\nin the IAM User Guide.\n\nThis parameter is optional. If it is not included, it defaults to a slash\n(/).\n\nThis parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))\na string of characters consisting of either a forward slash (/) by itself\nor a string that must begin and end with forward slashes. In addition, it\ncan contain any ASCII character from the ! (\\u0021) through the DEL character\n(\\u007F), including most punctuation characters, digits, and upper and lowercased\nletters." type: "string" permissionsBoundary: - description: "The ARN of the managed policy that is used to set the permissions boundary\nfor the user.\n\n\nA permissions boundary policy defines the maximum permissions that identity-based\npolicies can grant to an entity, but does not grant permissions. Permissions\nboundaries do not define the maximum permissions that a resource-based policy\ncan grant to an entity. To learn more, see Permissions boundaries for IAM\nentities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)\nin the IAM User Guide.\n\n\nFor more information about policy types, see Policy types (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policy-types)\nin the IAM User Guide." + description: "The ARN of the managed policy that is used to set the permissions boundary\nfor the user.\n\nA permissions boundary policy defines the maximum permissions that identity-based\npolicies can grant to an entity, but does not grant permissions. Permissions\nboundaries do not define the maximum permissions that a resource-based policy\ncan grant to an entity. To learn more, see Permissions boundaries for IAM\nentities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)\nin the IAM User Guide.\n\nFor more information about policy types, see Policy types (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policy-types)\nin the IAM User Guide." type: "string" permissionsBoundaryRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -60,7 +60,7 @@ spec: type: "array" policyRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -73,7 +73,7 @@ spec: type: "object" type: "array" tags: - description: "A list of tags that you want to attach to the new user. Each tag consists\nof a key name and an associated value. For more information about tagging,\nsee Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide.\n\n\nIf any one of the tags is invalid or if you exceed the allowed maximum number\nof tags, then the entire request fails and the resource is not created." + description: "A list of tags that you want to attach to the new user. Each tag consists\nof a key name and an associated value. For more information about tagging,\nsee Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide.\n\nIf any one of the tags is invalid or if you exceed the allowed maximum number\nof tags, then the entire request fails and the resource is not created." items: description: "A structure that represents user-provided metadata that can be associated\nwith an IAM resource. For more information about tagging, see Tagging IAM\nresources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)\nin the IAM User Guide." properties: @@ -93,7 +93,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -136,7 +136,7 @@ spec: format: "date-time" type: "string" passwordLastUsed: - description: "The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),\nwhen the user's password was last used to sign in to an Amazon Web Services\nwebsite. For a list of Amazon Web Services websites that capture a user's\nlast sign-in time, see the Credential reports (https://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)\ntopic in the IAM User Guide. If a password is used more than once in a five-minute\nspan, only the first use is returned in this field. If the field is null\n(no value), then it indicates that they never signed in with a password.\nThis can be because:\n\n\n * The user never had a password.\n\n\n * A password exists but has not been used since IAM started tracking this\n information on October 20, 2014.\n\n\nA null value does not mean that the user never had a password. Also, if the\nuser does not currently have a password but had one in the past, then this\nfield contains the date and time the most recent password was used.\n\n\nThis value is returned only in the GetUser and ListUsers operations." + description: "The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),\nwhen the user's password was last used to sign in to an Amazon Web Services\nwebsite. For a list of Amazon Web Services websites that capture a user's\nlast sign-in time, see the Credential reports (https://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)\ntopic in the IAM User Guide. If a password is used more than once in a five-minute\nspan, only the first use is returned in this field. If the field is null\n(no value), then it indicates that they never signed in with a password.\nThis can be because:\n\n * The user never had a password.\n\n * A password exists but has not been used since IAM started tracking this\n information on October 20, 2014.\n\nA null value does not mean that the user never had a password. Also, if the\nuser does not currently have a password but had one in the past, then this\nfield contains the date and time the most recent password was used.\n\nThis value is returned only in the GetUser and ListUsers operations." format: "date-time" type: "string" userID: diff --git a/crd-catalog/aws-controllers-k8s/keyspaces-controller/keyspaces.services.k8s.aws/v1alpha1/keyspaces.yaml b/crd-catalog/aws-controllers-k8s/keyspaces-controller/keyspaces.services.k8s.aws/v1alpha1/keyspaces.yaml index 509bbf9c1..004c2e31e 100644 --- a/crd-catalog/aws-controllers-k8s/keyspaces-controller/keyspaces.services.k8s.aws/v1alpha1/keyspaces.yaml +++ b/crd-catalog/aws-controllers-k8s/keyspaces-controller/keyspaces.services.k8s.aws/v1alpha1/keyspaces.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "keyspaces.keyspaces.services.k8s.aws" spec: group: "keyspaces.services.k8s.aws" @@ -33,7 +33,7 @@ spec: description: "The name of the keyspace to be created." type: "string" replicationSpecification: - description: "The replication specification of the keyspace includes:\n\n\n * replicationStrategy - the required value is SINGLE_REGION or MULTI_REGION.\n\n\n * regionList - if the replicationStrategy is MULTI_REGION, the regionList\n requires the current Region and at least one additional Amazon Web Services\n Region where the keyspace is going to be replicated in. The maximum number\n of supported replication Regions including the current Region is six." + description: "The replication specification of the keyspace includes:\n\n * replicationStrategy - the required value is SINGLE_REGION or MULTI_REGION.\n\n * regionList - if the replicationStrategy is MULTI_REGION, the regionList\n requires the current Region and at least one additional Amazon Web Services\n Region where the keyspace is going to be replicated in. The maximum number\n of supported replication Regions including the current Region is six." properties: regionList: items: @@ -43,9 +43,9 @@ spec: type: "string" type: "object" tags: - description: "A list of key-value pair tags to be attached to the keyspace.\n\n\nFor more information, see Adding tags and labels to Amazon Keyspaces resources\n(https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html)\nin the Amazon Keyspaces Developer Guide." + description: "A list of key-value pair tags to be attached to the keyspace.\n\nFor more information, see Adding tags and labels to Amazon Keyspaces resources\n(https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html)\nin the Amazon Keyspaces Developer Guide." items: - description: "Describes a tag. A tag is a key-value pair. You can add up to 50 tags to\na single Amazon Keyspaces resource.\n\n\nAmazon Web Services-assigned tag names and values are automatically assigned\nthe aws: prefix, which the user cannot assign. Amazon Web Services-assigned\ntag names do not count towards the tag limit of 50. User-assigned tag names\nhave the prefix user: in the Cost Allocation Report. You cannot backdate\nthe application of a tag.\n\n\nFor more information, see Adding tags and labels to Amazon Keyspaces resources\n(https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html)\nin the Amazon Keyspaces Developer Guide." + description: "Describes a tag. A tag is a key-value pair. You can add up to 50 tags to\na single Amazon Keyspaces resource.\n\nAmazon Web Services-assigned tag names and values are automatically assigned\nthe aws: prefix, which the user cannot assign. Amazon Web Services-assigned\ntag names do not count towards the tag limit of 50. User-assigned tag names\nhave the prefix user: in the Cost Allocation Report. You cannot backdate\nthe application of a tag.\n\nFor more information, see Adding tags and labels to Amazon Keyspaces resources\n(https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html)\nin the Amazon Keyspaces Developer Guide." properties: key: type: "string" @@ -63,7 +63,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/keyspaces-controller/keyspaces.services.k8s.aws/v1alpha1/tables.yaml b/crd-catalog/aws-controllers-k8s/keyspaces-controller/keyspaces.services.k8s.aws/v1alpha1/tables.yaml index 25a9f460a..506080bfe 100644 --- a/crd-catalog/aws-controllers-k8s/keyspaces-controller/keyspaces.services.k8s.aws/v1alpha1/tables.yaml +++ b/crd-catalog/aws-controllers-k8s/keyspaces-controller/keyspaces.services.k8s.aws/v1alpha1/tables.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "tables.keyspaces.services.k8s.aws" spec: group: "keyspaces.services.k8s.aws" @@ -30,7 +30,7 @@ spec: description: "TableSpec defines the desired state of Table." properties: capacitySpecification: - description: "Specifies the read/write throughput capacity mode for the table. The options\nare:\n\n\n * throughputMode:PAY_PER_REQUEST and\n\n\n * throughputMode:PROVISIONED - Provisioned capacity mode requires readCapacityUnits\n and writeCapacityUnits as input.\n\n\nThe default is throughput_mode:PAY_PER_REQUEST.\n\n\nFor more information, see Read/write capacity modes (https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html)\nin the Amazon Keyspaces Developer Guide." + description: "Specifies the read/write throughput capacity mode for the table. The options\nare:\n\n * throughputMode:PAY_PER_REQUEST and\n\n * throughputMode:PROVISIONED - Provisioned capacity mode requires readCapacityUnits\n and writeCapacityUnits as input.\n\nThe default is throughput_mode:PAY_PER_REQUEST.\n\nFor more information, see Read/write capacity modes (https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html)\nin the Amazon Keyspaces Developer Guide." properties: readCapacityUnits: format: "int64" @@ -42,7 +42,7 @@ spec: type: "integer" type: "object" clientSideTimestamps: - description: "Enables client-side timestamps for the table. By default, the setting is\ndisabled. You can enable client-side timestamps with the following option:\n\n\n * status: \"enabled\"\n\n\nOnce client-side timestamps are enabled for a table, this setting cannot\nbe disabled." + description: "Enables client-side timestamps for the table. By default, the setting is\ndisabled. You can enable client-side timestamps with the following option:\n\n * status: \"enabled\"\n\nOnce client-side timestamps are enabled for a table, this setting cannot\nbe disabled." properties: status: type: "string" @@ -54,11 +54,11 @@ spec: type: "string" type: "object" defaultTimeToLive: - description: "The default Time to Live setting in seconds for the table.\n\n\nFor more information, see Setting the default TTL value for a table (https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl)\nin the Amazon Keyspaces Developer Guide." + description: "The default Time to Live setting in seconds for the table.\n\nFor more information, see Setting the default TTL value for a table (https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl)\nin the Amazon Keyspaces Developer Guide." format: "int64" type: "integer" encryptionSpecification: - description: "Specifies how the encryption key for encryption at rest is managed for the\ntable. You can choose one of the following KMS key (KMS key):\n\n\n * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.\n\n\n * type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and\n is created, owned, and managed by you. This option requires the kms_key_identifier\n of the KMS key in Amazon Resource Name (ARN) format as input.\n\n\nThe default is type:AWS_OWNED_KMS_KEY.\n\n\nFor more information, see Encryption at rest (https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html)\nin the Amazon Keyspaces Developer Guide." + description: "Specifies how the encryption key for encryption at rest is managed for the\ntable. You can choose one of the following KMS key (KMS key):\n\n * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces.\n\n * type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and\n is created, owned, and managed by you. This option requires the kms_key_identifier\n of the KMS key in Amazon Resource Name (ARN) format as input.\n\nThe default is type:AWS_OWNED_KMS_KEY.\n\nFor more information, see Encryption at rest (https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html)\nin the Amazon Keyspaces Developer Guide." properties: kmsKeyIdentifier: type: "string" @@ -69,13 +69,13 @@ spec: description: "The name of the keyspace that the table is going to be created in." type: "string" pointInTimeRecovery: - description: "Specifies if pointInTimeRecovery is enabled or disabled for the table. The\noptions are:\n\n\n * status=ENABLED\n\n\n * status=DISABLED\n\n\nIf it's not specified, the default is status=DISABLED.\n\n\nFor more information, see Point-in-time recovery (https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html)\nin the Amazon Keyspaces Developer Guide." + description: "Specifies if pointInTimeRecovery is enabled or disabled for the table. The\noptions are:\n\n * status=ENABLED\n\n * status=DISABLED\n\nIf it's not specified, the default is status=DISABLED.\n\nFor more information, see Point-in-time recovery (https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html)\nin the Amazon Keyspaces Developer Guide." properties: status: type: "string" type: "object" schemaDefinition: - description: "The schemaDefinition consists of the following parameters.\n\n\nFor each column to be created:\n\n\n * name - The name of the column.\n\n\n * type - An Amazon Keyspaces data type. For more information, see Data\n types (https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types)\n in the Amazon Keyspaces Developer Guide.\n\n\nThe primary key of the table consists of the following columns:\n\n\n * partitionKeys - The partition key can be a single column, or it can\n be a compound value composed of two or more columns. The partition key\n portion of the primary key is required and determines how Amazon Keyspaces\n stores your data.\n\n\n * name - The name of each partition key column.\n\n\n * clusteringKeys - The optional clustering column portion of your primary\n key determines how the data is clustered and sorted within each partition.\n\n\n * name - The name of the clustering column.\n\n\n * orderBy - Sets the ascendant (ASC) or descendant (DESC) order modifier.\n To define a column as static use staticColumns - Static columns store\n values that are shared by all rows in the same partition:\n\n\n * name - The name of the column.\n\n\n * type - An Amazon Keyspaces data type." + description: "The schemaDefinition consists of the following parameters.\n\nFor each column to be created:\n\n * name - The name of the column.\n\n * type - An Amazon Keyspaces data type. For more information, see Data\n types (https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types)\n in the Amazon Keyspaces Developer Guide.\n\nThe primary key of the table consists of the following columns:\n\n * partitionKeys - The partition key can be a single column, or it can\n be a compound value composed of two or more columns. The partition key\n portion of the primary key is required and determines how Amazon Keyspaces\n stores your data.\n\n * name - The name of each partition key column.\n\n * clusteringKeys - The optional clustering column portion of your primary\n key determines how the data is clustered and sorted within each partition.\n\n * name - The name of the clustering column.\n\n * orderBy - Sets the ascendant (ASC) or descendant (DESC) order modifier.\n To define a column as static use staticColumns - Static columns store\n values that are shared by all rows in the same partition:\n\n * name - The name of the column.\n\n * type - An Amazon Keyspaces data type." properties: allColumns: items: @@ -118,9 +118,9 @@ spec: description: "The name of the table." type: "string" tags: - description: "A list of key-value pair tags to be attached to the resource.\n\n\nFor more information, see Adding tags and labels to Amazon Keyspaces resources\n(https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html)\nin the Amazon Keyspaces Developer Guide." + description: "A list of key-value pair tags to be attached to the resource.\n\nFor more information, see Adding tags and labels to Amazon Keyspaces resources\n(https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html)\nin the Amazon Keyspaces Developer Guide." items: - description: "Describes a tag. A tag is a key-value pair. You can add up to 50 tags to\na single Amazon Keyspaces resource.\n\n\nAmazon Web Services-assigned tag names and values are automatically assigned\nthe aws: prefix, which the user cannot assign. Amazon Web Services-assigned\ntag names do not count towards the tag limit of 50. User-assigned tag names\nhave the prefix user: in the Cost Allocation Report. You cannot backdate\nthe application of a tag.\n\n\nFor more information, see Adding tags and labels to Amazon Keyspaces resources\n(https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html)\nin the Amazon Keyspaces Developer Guide." + description: "Describes a tag. A tag is a key-value pair. You can add up to 50 tags to\na single Amazon Keyspaces resource.\n\nAmazon Web Services-assigned tag names and values are automatically assigned\nthe aws: prefix, which the user cannot assign. Amazon Web Services-assigned\ntag names do not count towards the tag limit of 50. User-assigned tag names\nhave the prefix user: in the Cost Allocation Report. You cannot backdate\nthe application of a tag.\n\nFor more information, see Adding tags and labels to Amazon Keyspaces resources\n(https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html)\nin the Amazon Keyspaces Developer Guide." properties: key: type: "string" @@ -129,7 +129,7 @@ spec: type: "object" type: "array" ttl: - description: "Enables Time to Live custom settings for the table. The options are:\n\n\n * status:enabled\n\n\n * status:disabled\n\n\nThe default is status:disabled. After ttl is enabled, you can't disable it\nfor the table.\n\n\nFor more information, see Expiring data by using Amazon Keyspaces Time to\nLive (TTL) (https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html)\nin the Amazon Keyspaces Developer Guide." + description: "Enables Time to Live custom settings for the table. The options are:\n\n * status:enabled\n\n * status:disabled\n\nThe default is status:disabled. After ttl is enabled, you can't disable it\nfor the table.\n\nFor more information, see Expiring data by using Amazon Keyspaces Time to\nLive (TTL) (https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html)\nin the Amazon Keyspaces Developer Guide." properties: status: type: "string" @@ -146,7 +146,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/kinesis-controller/kinesis.services.k8s.aws/v1alpha1/streams.yaml b/crd-catalog/aws-controllers-k8s/kinesis-controller/kinesis.services.k8s.aws/v1alpha1/streams.yaml index f3628b26f..4a31425d1 100644 --- a/crd-catalog/aws-controllers-k8s/kinesis-controller/kinesis.services.k8s.aws/v1alpha1/streams.yaml +++ b/crd-catalog/aws-controllers-k8s/kinesis-controller/kinesis.services.k8s.aws/v1alpha1/streams.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "streams.kinesis.services.k8s.aws" spec: group: "kinesis.services.k8s.aws" @@ -52,7 +52,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -95,7 +95,7 @@ spec: format: "int64" type: "integer" encryptionType: - description: "The encryption type used. This value is one of the following:\n\n\n * KMS\n\n\n * NONE" + description: "The encryption type used. This value is one of the following:\n\n * KMS\n\n * NONE" type: "string" enhancedMonitoring: description: "Represents the current enhanced monitoring settings of the stream." @@ -109,7 +109,7 @@ spec: type: "object" type: "array" keyID: - description: "The GUID for the customer-managed Amazon Web Services KMS key to use for\nencryption. This value can be a globally unique identifier, a fully specified\nARN to either an alias or a key, or an alias name prefixed by \"alias/\".You\ncan also use a master key owned by Kinesis Data Streams by specifying the\nalias aws/kinesis.\n\n\n * Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n\n\n * Alias ARN example: arn:aws:kms:us-east-1:123456789012:alias/MyAliasName\n\n\n * Globally unique key ID example: 12345678-1234-1234-1234-123456789012\n\n\n * Alias name example: alias/MyAliasName\n\n\n * Master key owned by Kinesis Data Streams: alias/aws/kinesis" + description: "The GUID for the customer-managed Amazon Web Services KMS key to use for\nencryption. This value can be a globally unique identifier, a fully specified\nARN to either an alias or a key, or an alias name prefixed by \"alias/\".You\ncan also use a master key owned by Kinesis Data Streams by specifying the\nalias aws/kinesis.\n\n * Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n\n * Alias ARN example: arn:aws:kms:us-east-1:123456789012:alias/MyAliasName\n\n * Globally unique key ID example: 12345678-1234-1234-1234-123456789012\n\n * Alias name example: alias/MyAliasName\n\n * Master key owned by Kinesis Data Streams: alias/aws/kinesis" type: "string" openShardCount: description: "The number of open shards in the stream." @@ -124,7 +124,7 @@ spec: format: "date-time" type: "string" streamStatus: - description: "The current status of the stream being described. The stream status is one\nof the following states:\n\n\n * CREATING - The stream is being created. Kinesis Data Streams immediately\n returns and sets StreamStatus to CREATING.\n\n\n * DELETING - The stream is being deleted. The specified stream is in the\n DELETING state until Kinesis Data Streams completes the deletion.\n\n\n * ACTIVE - The stream exists and is ready for read and write operations\n or deletion. You should perform read and write operations only on an ACTIVE\n stream.\n\n\n * UPDATING - Shards in the stream are being merged or split. Read and\n write operations continue to work while the stream is in the UPDATING\n state." + description: "The current status of the stream being described. The stream status is one\nof the following states:\n\n * CREATING - The stream is being created. Kinesis Data Streams immediately\n returns and sets StreamStatus to CREATING.\n\n * DELETING - The stream is being deleted. The specified stream is in the\n DELETING state until Kinesis Data Streams completes the deletion.\n\n * ACTIVE - The stream exists and is ready for read and write operations\n or deletion. You should perform read and write operations only on an ACTIVE\n stream.\n\n * UPDATING - Shards in the stream are being merged or split. Read and\n write operations continue to work while the stream is in the UPDATING\n state." type: "string" type: "object" type: "object" diff --git a/crd-catalog/aws-controllers-k8s/kms-controller/kms.services.k8s.aws/v1alpha1/aliases.yaml b/crd-catalog/aws-controllers-k8s/kms-controller/kms.services.k8s.aws/v1alpha1/aliases.yaml index 095f0e3c5..10bf19250 100644 --- a/crd-catalog/aws-controllers-k8s/kms-controller/kms.services.k8s.aws/v1alpha1/aliases.yaml +++ b/crd-catalog/aws-controllers-k8s/kms-controller/kms.services.k8s.aws/v1alpha1/aliases.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "aliases.kms.services.k8s.aws" spec: group: "kms.services.k8s.aws" @@ -30,13 +30,13 @@ spec: description: "AliasSpec defines the desired state of Alias." properties: name: - description: "Specifies the alias name. This value must begin with alias/ followed by a\nname, such as alias/ExampleAlias.\n\n\nThe AliasName value must be string of 1-256 characters. It can contain only\nalphanumeric characters, forward slashes (/), underscores (_), and dashes\n(-). The alias name cannot begin with alias/aws/. The alias/aws/ prefix is\nreserved for Amazon Web Services managed keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)." + description: "Specifies the alias name. This value must begin with alias/ followed by a\nname, such as alias/ExampleAlias.\n\nThe AliasName value must be string of 1-256 characters. It can contain only\nalphanumeric characters, forward slashes (/), underscores (_), and dashes\n(-). The alias name cannot begin with alias/aws/. The alias/aws/ prefix is\nreserved for Amazon Web Services managed keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)." type: "string" targetKeyID: - description: "Associates the alias with the specified customer managed key (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).\nThe KMS key must be in the same Amazon Web Services Region.\n\n\nA valid key ID is required. If you supply a null or empty string value, this\noperation returns an error.\n\n\nFor help finding the key ID and ARN, see Finding the Key ID and ARN (https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn)\nin the Key Management Service Developer Guide .\n\n\nSpecify the key ID or key ARN of the KMS key.\n\n\nFor example:\n\n\n * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n\n\n * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n\n\nTo get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey." + description: "Associates the alias with the specified customer managed key (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).\nThe KMS key must be in the same Amazon Web Services Region.\n\nA valid key ID is required. If you supply a null or empty string value, this\noperation returns an error.\n\nFor help finding the key ID and ARN, see Finding the Key ID and ARN (https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn)\nin the Key Management Service Developer Guide .\n\nSpecify the key ID or key ARN of the KMS key.\n\nFor example:\n\n * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n\n * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n\nTo get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey." type: "string" targetKeyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -57,7 +57,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/kms-controller/kms.services.k8s.aws/v1alpha1/grants.yaml b/crd-catalog/aws-controllers-k8s/kms-controller/kms.services.k8s.aws/v1alpha1/grants.yaml index b7fad03ae..78f54804c 100644 --- a/crd-catalog/aws-controllers-k8s/kms-controller/kms.services.k8s.aws/v1alpha1/grants.yaml +++ b/crd-catalog/aws-controllers-k8s/kms-controller/kms.services.k8s.aws/v1alpha1/grants.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "grants.kms.services.k8s.aws" spec: group: "kms.services.k8s.aws" @@ -30,7 +30,7 @@ spec: description: "GrantSpec defines the desired state of Grant." properties: constraints: - description: "Specifies a grant constraint.\n\n\nKMS supports the EncryptionContextEquals and EncryptionContextSubset grant\nconstraints. Each constraint value can include up to 8 encryption context\npairs. The encryption context value in each constraint cannot exceed 384\ncharacters. For information about grant constraints, see Using grant constraints\n(https://docs.aws.amazon.com/kms/latest/developerguide/create-grant-overview.html#grant-constraints)\nin the Key Management Service Developer Guide. For more information about\nencryption context, see Encryption context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)\nin the Key Management Service Developer Guide .\n\n\nThe encryption context grant constraints allow the permissions in the grant\nonly when the encryption context in the request matches (EncryptionContextEquals)\nor includes (EncryptionContextSubset) the encryption context specified in\nthis structure.\n\n\nThe encryption context grant constraints are supported only on grant operations\n(https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations)\nthat include an EncryptionContext parameter, such as cryptographic operations\non symmetric encryption KMS keys. Grants with grant constraints can include\nthe DescribeKey and RetireGrant operations, but the constraint doesn't apply\nto these operations. If a grant with a grant constraint includes the CreateGrant\noperation, the constraint requires that any grants created with the CreateGrant\npermission have an equally strict or stricter encryption context constraint.\n\n\nYou cannot use an encryption context grant constraint for cryptographic operations\nwith asymmetric KMS keys or HMAC KMS keys. These keys don't support an encryption\ncontext." + description: "Specifies a grant constraint.\n\nKMS supports the EncryptionContextEquals and EncryptionContextSubset grant\nconstraints. Each constraint value can include up to 8 encryption context\npairs. The encryption context value in each constraint cannot exceed 384\ncharacters. For information about grant constraints, see Using grant constraints\n(https://docs.aws.amazon.com/kms/latest/developerguide/create-grant-overview.html#grant-constraints)\nin the Key Management Service Developer Guide. For more information about\nencryption context, see Encryption context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)\nin the Key Management Service Developer Guide .\n\nThe encryption context grant constraints allow the permissions in the grant\nonly when the encryption context in the request matches (EncryptionContextEquals)\nor includes (EncryptionContextSubset) the encryption context specified in\nthis structure.\n\nThe encryption context grant constraints are supported only on grant operations\n(https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations)\nthat include an EncryptionContext parameter, such as cryptographic operations\non symmetric encryption KMS keys. Grants with grant constraints can include\nthe DescribeKey and RetireGrant operations, but the constraint doesn't apply\nto these operations. If a grant with a grant constraint includes the CreateGrant\noperation, the constraint requires that any grants created with the CreateGrant\npermission have an equally strict or stricter encryption context constraint.\n\nYou cannot use an encryption context grant constraint for cryptographic operations\nwith asymmetric KMS keys or HMAC KMS keys. These keys don't support an encryption\ncontext." properties: encryptionContextEquals: additionalProperties: @@ -42,18 +42,18 @@ spec: type: "object" type: "object" grantTokens: - description: "A list of grant tokens.\n\n\nUse a grant token when your permission to call this operation comes from\na new grant that has not yet achieved eventual consistency. For more information,\nsee Grant token (https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token)\nand Using a grant token (https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token)\nin the Key Management Service Developer Guide." + description: "A list of grant tokens.\n\nUse a grant token when your permission to call this operation comes from\na new grant that has not yet achieved eventual consistency. For more information,\nsee Grant token (https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token)\nand Using a grant token (https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token)\nin the Key Management Service Developer Guide." items: type: "string" type: "array" granteePrincipal: - description: "The identity that gets the permissions specified in the grant.\n\n\nTo specify the principal, use the Amazon Resource Name (ARN) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)\nof an Amazon Web Services principal. Valid Amazon Web Services principals\ninclude Amazon Web Services accounts (root), IAM users, IAM roles, federated\nusers, and assumed role users. For examples of the ARN syntax to use for\nspecifying a principal, see Amazon Web Services Identity and Access Management\n(IAM) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam)\nin the Example ARNs section of the Amazon Web Services General Reference." + description: "The identity that gets the permissions specified in the grant.\n\nTo specify the principal, use the Amazon Resource Name (ARN) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)\nof an Amazon Web Services principal. Valid Amazon Web Services principals\ninclude Amazon Web Services accounts (root), IAM users, IAM roles, federated\nusers, and assumed role users. For examples of the ARN syntax to use for\nspecifying a principal, see Amazon Web Services Identity and Access Management\n(IAM) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam)\nin the Example ARNs section of the Amazon Web Services General Reference." type: "string" keyID: - description: "Identifies the KMS key for the grant. The grant gives principals permission\nto use this KMS key.\n\n\nSpecify the key ID or key ARN of the KMS key. To specify a KMS key in a different\nAmazon Web Services account, you must use the key ARN.\n\n\nFor example:\n\n\n * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n\n\n * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n\n\nTo get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey." + description: "Identifies the KMS key for the grant. The grant gives principals permission\nto use this KMS key.\n\nSpecify the key ID or key ARN of the KMS key. To specify a KMS key in a different\nAmazon Web Services account, you must use the key ARN.\n\nFor example:\n\n * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n\n * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n\nTo get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey." type: "string" keyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -65,15 +65,15 @@ spec: type: "object" type: "object" name: - description: "A friendly name for the grant. Use this value to prevent the unintended creation\nof duplicate grants when retrying this request.\n\n\nWhen this value is absent, all CreateGrant requests result in a new grant\nwith a unique GrantId even if all the supplied parameters are identical.\nThis can result in unintended duplicates when you retry the CreateGrant request.\n\n\nWhen this value is present, you can retry a CreateGrant request with identical\nparameters; if the grant already exists, the original GrantId is returned\nwithout creating a new grant. Note that the returned grant token is unique\nwith every CreateGrant request, even when a duplicate GrantId is returned.\nAll grant tokens for the same grant ID can be used interchangeably." + description: "A friendly name for the grant. Use this value to prevent the unintended creation\nof duplicate grants when retrying this request.\n\nWhen this value is absent, all CreateGrant requests result in a new grant\nwith a unique GrantId even if all the supplied parameters are identical.\nThis can result in unintended duplicates when you retry the CreateGrant request.\n\nWhen this value is present, you can retry a CreateGrant request with identical\nparameters; if the grant already exists, the original GrantId is returned\nwithout creating a new grant. Note that the returned grant token is unique\nwith every CreateGrant request, even when a duplicate GrantId is returned.\nAll grant tokens for the same grant ID can be used interchangeably." type: "string" operations: - description: "A list of operations that the grant permits.\n\n\nThis list must include only operations that are permitted in a grant. Also,\nthe operation must be supported on the KMS key. For example, you cannot create\na grant for a symmetric encryption KMS key that allows the Sign operation,\nor a grant for an asymmetric KMS key that allows the GenerateDataKey operation.\nIf you try, KMS returns a ValidationError exception. For details, see Grant\noperations (https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations)\nin the Key Management Service Developer Guide." + description: "A list of operations that the grant permits.\n\nThis list must include only operations that are permitted in a grant. Also,\nthe operation must be supported on the KMS key. For example, you cannot create\na grant for a symmetric encryption KMS key that allows the Sign operation,\nor a grant for an asymmetric KMS key that allows the GenerateDataKey operation.\nIf you try, KMS returns a ValidationError exception. For details, see Grant\noperations (https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations)\nin the Key Management Service Developer Guide." items: type: "string" type: "array" retiringPrincipal: - description: "The principal that has permission to use the RetireGrant operation to retire\nthe grant.\n\n\nTo specify the principal, use the Amazon Resource Name (ARN) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)\nof an Amazon Web Services principal. Valid Amazon Web Services principals\ninclude Amazon Web Services accounts (root), IAM users, federated users,\nand assumed role users. For examples of the ARN syntax to use for specifying\na principal, see Amazon Web Services Identity and Access Management (IAM)\n(https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam)\nin the Example ARNs section of the Amazon Web Services General Reference.\n\n\nThe grant determines the retiring principal. Other principals might have\npermission to retire the grant or revoke the grant. For details, see RevokeGrant\nand Retiring and revoking grants (https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete)\nin the Key Management Service Developer Guide." + description: "The principal that has permission to use the RetireGrant operation to retire\nthe grant.\n\nTo specify the principal, use the Amazon Resource Name (ARN) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)\nof an Amazon Web Services principal. Valid Amazon Web Services principals\ninclude Amazon Web Services accounts (root), IAM users, federated users,\nand assumed role users. For examples of the ARN syntax to use for specifying\na principal, see Amazon Web Services Identity and Access Management (IAM)\n(https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam)\nin the Example ARNs section of the Amazon Web Services General Reference.\n\nThe grant determines the retiring principal. Other principals might have\npermission to retire the grant or revoke the grant. For details, see RevokeGrant\nand Retiring and revoking grants (https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete)\nin the Key Management Service Developer Guide." type: "string" required: - "granteePrincipal" @@ -86,7 +86,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -125,10 +125,10 @@ spec: type: "object" type: "array" grantID: - description: "The unique identifier for the grant.\n\n\nYou can use the GrantId in a ListGrants, RetireGrant, or RevokeGrant operation." + description: "The unique identifier for the grant.\n\nYou can use the GrantId in a ListGrants, RetireGrant, or RevokeGrant operation." type: "string" grantToken: - description: "The grant token.\n\n\nUse a grant token when your permission to call this operation comes from\na new grant that has not yet achieved eventual consistency. For more information,\nsee Grant token (https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token)\nand Using a grant token (https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token)\nin the Key Management Service Developer Guide." + description: "The grant token.\n\nUse a grant token when your permission to call this operation comes from\na new grant that has not yet achieved eventual consistency. For more information,\nsee Grant token (https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token)\nand Using a grant token (https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token)\nin the Key Management Service Developer Guide." type: "string" type: "object" type: "object" diff --git a/crd-catalog/aws-controllers-k8s/kms-controller/kms.services.k8s.aws/v1alpha1/keys.yaml b/crd-catalog/aws-controllers-k8s/kms-controller/kms.services.k8s.aws/v1alpha1/keys.yaml index 97ecf9cb9..f2db5ed6d 100644 --- a/crd-catalog/aws-controllers-k8s/kms-controller/kms.services.k8s.aws/v1alpha1/keys.yaml +++ b/crd-catalog/aws-controllers-k8s/kms-controller/kms.services.k8s.aws/v1alpha1/keys.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "keys.kms.services.k8s.aws" spec: group: "kms.services.k8s.aws" @@ -30,35 +30,35 @@ spec: description: "KeySpec defines the desired state of Key." properties: bypassPolicyLockoutSafetyCheck: - description: "A flag to indicate whether to bypass the key policy lockout safety check.\n\n\nSetting this value to true increases the risk that the KMS key becomes unmanageable.\nDo not set this value to true indiscriminately.\n\n\nFor more information, refer to the scenario in the Default Key Policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam)\nsection in the Key Management Service Developer Guide .\n\n\nUse this parameter only when you include a policy in the request and you\nintend to prevent the principal that is making the request from making a\nsubsequent PutKeyPolicy request on the KMS key.\n\n\nThe default value is false." + description: "A flag to indicate whether to bypass the key policy lockout safety check.\n\nSetting this value to true increases the risk that the KMS key becomes unmanageable.\nDo not set this value to true indiscriminately.\n\nFor more information, refer to the scenario in the Default Key Policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam)\nsection in the Key Management Service Developer Guide .\n\nUse this parameter only when you include a policy in the request and you\nintend to prevent the principal that is making the request from making a\nsubsequent PutKeyPolicy request on the KMS key.\n\nThe default value is false." type: "boolean" customKeyStoreID: - description: "Creates the KMS key in the specified custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html)\nand the key material in its associated CloudHSM cluster. To create a KMS\nkey in a custom key store, you must also specify the Origin parameter with\na value of AWS_CLOUDHSM. The CloudHSM cluster that is associated with the\ncustom key store must have at least two active HSMs, each in a different\nAvailability Zone in the Region.\n\n\nThis parameter is valid only for symmetric encryption KMS keys in a single\nRegion. You cannot create any other type of KMS key in a custom key store.\n\n\nTo find the ID of a custom key store, use the DescribeCustomKeyStores operation.\n\n\nThe response includes the custom key store ID and the ID of the CloudHSM\ncluster.\n\n\nThis operation is part of the custom key store feature (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html)\nfeature in KMS, which combines the convenience and extensive integration\nof KMS with the isolation and control of a single-tenant key store." + description: "Creates the KMS key in the specified custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html)\nand the key material in its associated CloudHSM cluster. To create a KMS\nkey in a custom key store, you must also specify the Origin parameter with\na value of AWS_CLOUDHSM. The CloudHSM cluster that is associated with the\ncustom key store must have at least two active HSMs, each in a different\nAvailability Zone in the Region.\n\nThis parameter is valid only for symmetric encryption KMS keys in a single\nRegion. You cannot create any other type of KMS key in a custom key store.\n\nTo find the ID of a custom key store, use the DescribeCustomKeyStores operation.\n\nThe response includes the custom key store ID and the ID of the CloudHSM\ncluster.\n\nThis operation is part of the custom key store feature (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html)\nfeature in KMS, which combines the convenience and extensive integration\nof KMS with the isolation and control of a single-tenant key store." type: "string" description: - description: "A description of the KMS key.\n\n\nUse a description that helps you decide whether the KMS key is appropriate\nfor a task. The default value is an empty string (no description).\n\n\nTo set or change the description after the key is created, use UpdateKeyDescription." + description: "A description of the KMS key.\n\nUse a description that helps you decide whether the KMS key is appropriate\nfor a task. The default value is an empty string (no description).\n\nTo set or change the description after the key is created, use UpdateKeyDescription." type: "string" enableKeyRotation: type: "boolean" keySpec: - description: "Specifies the type of KMS key to create. The default value, SYMMETRIC_DEFAULT,\ncreates a KMS key with a 256-bit AES-GCM key that is used for encryption\nand decryption, except in China Regions, where it creates a 128-bit symmetric\nkey that uses SM4 encryption. For help choosing a key spec for your KMS key,\nsee Choosing a KMS key type (https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html#symm-asymm-choose)\nin the Key Management Service Developer Guide .\n\n\nThe KeySpec determines whether the KMS key contains a symmetric key or an\nasymmetric key pair. It also determines the cryptographic algorithms that\nthe KMS key supports. You can't change the KeySpec after the KMS key is created.\nTo further restrict the algorithms that can be used with the KMS key, use\na condition key in its key policy or IAM policy. For more information, see\nkms:EncryptionAlgorithm (https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-algorithm),\nkms:MacAlgorithm (https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-mac-algorithm)\nor kms:Signing Algorithm (https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-signing-algorithm)\nin the Key Management Service Developer Guide .\n\n\nAmazon Web Services services that are integrated with KMS (http://aws.amazon.com/kms/features/#AWS_Service_Integration)\nuse symmetric encryption KMS keys to protect your data. These services do\nnot support asymmetric KMS keys or HMAC KMS keys.\n\n\nKMS supports the following key specs for KMS keys:\n\n\n * Symmetric encryption key (default) SYMMETRIC_DEFAULT\n\n\n * HMAC keys (symmetric) HMAC_224 HMAC_256 HMAC_384 HMAC_512\n\n\n * Asymmetric RSA key pairs RSA_2048 RSA_3072 RSA_4096\n\n\n * Asymmetric NIST-recommended elliptic curve key pairs ECC_NIST_P256 (secp256r1)\n ECC_NIST_P384 (secp384r1) ECC_NIST_P521 (secp521r1)\n\n\n * Other asymmetric elliptic curve key pairs ECC_SECG_P256K1 (secp256k1),\n commonly used for cryptocurrencies.\n\n\n * SM2 key pairs (China Regions only) SM2" + description: "Specifies the type of KMS key to create. The default value, SYMMETRIC_DEFAULT,\ncreates a KMS key with a 256-bit AES-GCM key that is used for encryption\nand decryption, except in China Regions, where it creates a 128-bit symmetric\nkey that uses SM4 encryption. For help choosing a key spec for your KMS key,\nsee Choosing a KMS key type (https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html#symm-asymm-choose)\nin the Key Management Service Developer Guide .\n\nThe KeySpec determines whether the KMS key contains a symmetric key or an\nasymmetric key pair. It also determines the cryptographic algorithms that\nthe KMS key supports. You can't change the KeySpec after the KMS key is created.\nTo further restrict the algorithms that can be used with the KMS key, use\na condition key in its key policy or IAM policy. For more information, see\nkms:EncryptionAlgorithm (https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-algorithm),\nkms:MacAlgorithm (https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-mac-algorithm)\nor kms:Signing Algorithm (https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-signing-algorithm)\nin the Key Management Service Developer Guide .\n\nAmazon Web Services services that are integrated with KMS (http://aws.amazon.com/kms/features/#AWS_Service_Integration)\nuse symmetric encryption KMS keys to protect your data. These services do\nnot support asymmetric KMS keys or HMAC KMS keys.\n\nKMS supports the following key specs for KMS keys:\n\n * Symmetric encryption key (default) SYMMETRIC_DEFAULT\n\n * HMAC keys (symmetric) HMAC_224 HMAC_256 HMAC_384 HMAC_512\n\n * Asymmetric RSA key pairs RSA_2048 RSA_3072 RSA_4096\n\n * Asymmetric NIST-recommended elliptic curve key pairs ECC_NIST_P256 (secp256r1)\n ECC_NIST_P384 (secp384r1) ECC_NIST_P521 (secp521r1)\n\n * Other asymmetric elliptic curve key pairs ECC_SECG_P256K1 (secp256k1),\n commonly used for cryptocurrencies.\n\n * SM2 key pairs (China Regions only) SM2" type: "string" keyUsage: - description: "Determines the cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations)\nfor which you can use the KMS key. The default value is ENCRYPT_DECRYPT.\nThis parameter is optional when you are creating a symmetric encryption KMS\nkey; otherwise, it is required. You can't change the KeyUsage value after\nthe KMS key is created.\n\n\nSelect only one valid value.\n\n\n * For symmetric encryption KMS keys, omit the parameter or specify ENCRYPT_DECRYPT.\n\n\n * For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC.\n\n\n * For asymmetric KMS keys with RSA key material, specify ENCRYPT_DECRYPT\n or SIGN_VERIFY.\n\n\n * For asymmetric KMS keys with ECC key material, specify SIGN_VERIFY.\n\n\n * For asymmetric KMS keys with SM2 key material (China Regions only),\n specify ENCRYPT_DECRYPT or SIGN_VERIFY." + description: "Determines the cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations)\nfor which you can use the KMS key. The default value is ENCRYPT_DECRYPT.\nThis parameter is optional when you are creating a symmetric encryption KMS\nkey; otherwise, it is required. You can't change the KeyUsage value after\nthe KMS key is created.\n\nSelect only one valid value.\n\n * For symmetric encryption KMS keys, omit the parameter or specify ENCRYPT_DECRYPT.\n\n * For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC.\n\n * For asymmetric KMS keys with RSA key material, specify ENCRYPT_DECRYPT\n or SIGN_VERIFY.\n\n * For asymmetric KMS keys with ECC key material, specify SIGN_VERIFY.\n\n * For asymmetric KMS keys with SM2 key material (China Regions only),\n specify ENCRYPT_DECRYPT or SIGN_VERIFY." type: "string" multiRegion: - description: "Creates a multi-Region primary key that you can replicate into other Amazon\nWeb Services Regions. You cannot change this value after you create the KMS\nkey.\n\n\nFor a multi-Region key, set this parameter to True. For a single-Region KMS\nkey, omit this parameter or set it to False. The default value is False.\n\n\nThis operation supports multi-Region keys, an KMS feature that lets you create\nmultiple interoperable KMS keys in different Amazon Web Services Regions.\nBecause these KMS keys have the same key ID, key material, and other metadata,\nyou can use them interchangeably to encrypt data in one Amazon Web Services\nRegion and decrypt it in a different Amazon Web Services Region without re-encrypting\nthe data or making a cross-Region call. For more information about multi-Region\nkeys, see Multi-Region keys in KMS (https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html)\nin the Key Management Service Developer Guide.\n\n\nThis value creates a primary key, not a replica. To create a replica key,\nuse the ReplicateKey operation.\n\n\nYou can create a multi-Region version of a symmetric encryption KMS key,\nan HMAC KMS key, an asymmetric KMS key, or a KMS key with imported key material.\nHowever, you cannot create a multi-Region key in a custom key store." + description: "Creates a multi-Region primary key that you can replicate into other Amazon\nWeb Services Regions. You cannot change this value after you create the KMS\nkey.\n\nFor a multi-Region key, set this parameter to True. For a single-Region KMS\nkey, omit this parameter or set it to False. The default value is False.\n\nThis operation supports multi-Region keys, an KMS feature that lets you create\nmultiple interoperable KMS keys in different Amazon Web Services Regions.\nBecause these KMS keys have the same key ID, key material, and other metadata,\nyou can use them interchangeably to encrypt data in one Amazon Web Services\nRegion and decrypt it in a different Amazon Web Services Region without re-encrypting\nthe data or making a cross-Region call. For more information about multi-Region\nkeys, see Multi-Region keys in KMS (https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html)\nin the Key Management Service Developer Guide.\n\nThis value creates a primary key, not a replica. To create a replica key,\nuse the ReplicateKey operation.\n\nYou can create a multi-Region version of a symmetric encryption KMS key,\nan HMAC KMS key, an asymmetric KMS key, or a KMS key with imported key material.\nHowever, you cannot create a multi-Region key in a custom key store." type: "boolean" origin: - description: "The source of the key material for the KMS key. You cannot change the origin\nafter you create the KMS key. The default is AWS_KMS, which means that KMS\ncreates the key material.\n\n\nTo create a KMS key with no key material (for imported key material), set\nthe value to EXTERNAL. For more information about importing key material\ninto KMS, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)\nin the Key Management Service Developer Guide. This value is valid only for\nsymmetric encryption KMS keys.\n\n\nTo create a KMS key in an KMS custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html)\nand create its key material in the associated CloudHSM cluster, set this\nvalue to AWS_CLOUDHSM. You must also use the CustomKeyStoreId parameter to\nidentify the custom key store. This value is valid only for symmetric encryption\nKMS keys." + description: "The source of the key material for the KMS key. You cannot change the origin\nafter you create the KMS key. The default is AWS_KMS, which means that KMS\ncreates the key material.\n\nTo create a KMS key with no key material (for imported key material), set\nthe value to EXTERNAL. For more information about importing key material\ninto KMS, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)\nin the Key Management Service Developer Guide. This value is valid only for\nsymmetric encryption KMS keys.\n\nTo create a KMS key in an KMS custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html)\nand create its key material in the associated CloudHSM cluster, set this\nvalue to AWS_CLOUDHSM. You must also use the CustomKeyStoreId parameter to\nidentify the custom key store. This value is valid only for symmetric encryption\nKMS keys." type: "string" policy: - description: "The key policy to attach to the KMS key. If you do not specify a key policy,\nKMS attaches a default key policy to the KMS key. For more information, see\nDefault key policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default)\nin the Key Management Service Developer Guide.\n\n\nIf you provide a key policy, it must meet the following criteria:\n\n\n * If you don't set BypassPolicyLockoutSafetyCheck to True, the key policy\n must allow the principal that is making the CreateKey request to make\n a subsequent PutKeyPolicy request on the KMS key. This reduces the risk\n that the KMS key becomes unmanageable. For more information, refer to\n the scenario in the Default Key Policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam)\n section of the Key Management Service Developer Guide .\n\n\n * Each statement in the key policy must contain one or more principals.\n The principals in the key policy must exist and be visible to KMS. When\n you create a new Amazon Web Services principal (for example, an IAM user\n or role), you might need to enforce a delay before including the new principal\n in a key policy because the new principal might not be immediately visible\n to KMS. For more information, see Changes that I make are not always immediately\n visible (https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency)\n in the Amazon Web Services Identity and Access Management User Guide.\n\n\nA key policy document can include only the following characters:\n\n\n * Printable ASCII characters from the space character (\\u0020) through\n the end of the ASCII character range.\n\n\n * Printable characters in the Basic Latin and Latin-1 Supplement character\n set (through \\u00FF).\n\n\n * The tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) special\n characters\n\n\nFor information about key policies, see Key policies in KMS (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)\nin the Key Management Service Developer Guide. For help writing and formatting\na JSON policy document, see the IAM JSON Policy Reference (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)\nin the Identity and Access Management User Guide ." + description: "The key policy to attach to the KMS key. If you do not specify a key policy,\nKMS attaches a default key policy to the KMS key. For more information, see\nDefault key policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default)\nin the Key Management Service Developer Guide.\n\nIf you provide a key policy, it must meet the following criteria:\n\n * If you don't set BypassPolicyLockoutSafetyCheck to True, the key policy\n must allow the principal that is making the CreateKey request to make\n a subsequent PutKeyPolicy request on the KMS key. This reduces the risk\n that the KMS key becomes unmanageable. For more information, refer to\n the scenario in the Default Key Policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam)\n section of the Key Management Service Developer Guide .\n\n * Each statement in the key policy must contain one or more principals.\n The principals in the key policy must exist and be visible to KMS. When\n you create a new Amazon Web Services principal (for example, an IAM user\n or role), you might need to enforce a delay before including the new principal\n in a key policy because the new principal might not be immediately visible\n to KMS. For more information, see Changes that I make are not always immediately\n visible (https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency)\n in the Amazon Web Services Identity and Access Management User Guide.\n\nA key policy document can include only the following characters:\n\n * Printable ASCII characters from the space character (\\u0020) through\n the end of the ASCII character range.\n\n * Printable characters in the Basic Latin and Latin-1 Supplement character\n set (through \\u00FF).\n\n * The tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) special\n characters\n\nFor information about key policies, see Key policies in KMS (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)\nin the Key Management Service Developer Guide. For help writing and formatting\na JSON policy document, see the IAM JSON Policy Reference (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)\nin the Identity and Access Management User Guide ." type: "string" tags: - description: "Assigns one or more tags to the KMS key. Use this parameter to tag the KMS\nkey when it is created. To tag an existing KMS key, use the TagResource operation.\n\n\nTagging or untagging a KMS key can allow or deny permission to the KMS key.\nFor details, see ABAC in KMS (https://docs.aws.amazon.com/kms/latest/developerguide/abac.html)\nin the Key Management Service Developer Guide.\n\n\nTo use this parameter, you must have kms:TagResource (https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html)\npermission in an IAM policy.\n\n\nEach tag consists of a tag key and a tag value. Both the tag key and the\ntag value are required, but the tag value can be an empty (null) string.\nYou cannot have more than one tag on a KMS key with the same tag key. If\nyou specify an existing tag key with a different tag value, KMS replaces\nthe current tag value with the specified one.\n\n\nWhen you add tags to an Amazon Web Services resource, Amazon Web Services\ngenerates a cost allocation report with usage and costs aggregated by tags.\nTags can also be used to control access to a KMS key. For details, see Tagging\nKeys (https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html)." + description: "Assigns one or more tags to the KMS key. Use this parameter to tag the KMS\nkey when it is created. To tag an existing KMS key, use the TagResource operation.\n\nTagging or untagging a KMS key can allow or deny permission to the KMS key.\nFor details, see ABAC in KMS (https://docs.aws.amazon.com/kms/latest/developerguide/abac.html)\nin the Key Management Service Developer Guide.\n\nTo use this parameter, you must have kms:TagResource (https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html)\npermission in an IAM policy.\n\nEach tag consists of a tag key and a tag value. Both the tag key and the\ntag value are required, but the tag value can be an empty (null) string.\nYou cannot have more than one tag on a KMS key with the same tag key. If\nyou specify an existing tag key with a different tag value, KMS replaces\nthe current tag value with the specified one.\n\nWhen you add tags to an Amazon Web Services resource, Amazon Web Services\ngenerates a cost allocation report with usage and costs aggregated by tags.\nTags can also be used to control access to a KMS key. For details, see Tagging\nKeys (https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html)." items: - description: "A key-value pair. A tag consists of a tag key and a tag value. Tag keys and\ntag values are both required, but tag values can be empty (null) strings.\n\n\nFor information about the rules that apply to tag keys and tag values, see\nUser-Defined Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html)\nin the Amazon Web Services Billing and Cost Management User Guide." + description: "A key-value pair. A tag consists of a tag key and a tag value. Tag keys and\ntag values are both required, but tag values can be empty (null) strings.\n\nFor information about the rules that apply to tag keys and tag values, see\nUser-Defined Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html)\nin the Amazon Web Services Billing and Cost Management User Guide." properties: tagKey: type: "string" @@ -74,7 +74,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -123,14 +123,14 @@ spec: format: "date-time" type: "string" deletionDate: - description: "The date and time after which KMS deletes this KMS key. This value is present\nonly when the KMS key is scheduled for deletion, that is, when its KeyState\nis PendingDeletion.\n\n\nWhen the primary key in a multi-Region key is scheduled for deletion but\nstill has replica keys, its key state is PendingReplicaDeletion and the length\nof its waiting period is displayed in the PendingDeletionWindowInDays field." + description: "The date and time after which KMS deletes this KMS key. This value is present\nonly when the KMS key is scheduled for deletion, that is, when its KeyState\nis PendingDeletion.\n\nWhen the primary key in a multi-Region key is scheduled for deletion but\nstill has replica keys, its key state is PendingReplicaDeletion and the length\nof its waiting period is displayed in the PendingDeletionWindowInDays field." format: "date-time" type: "string" enabled: description: "Specifies whether the KMS key is enabled. When KeyState is Enabled this value\nis true, otherwise it is false." type: "boolean" encryptionAlgorithms: - description: "The encryption algorithms that the KMS key supports. You cannot use the KMS\nkey with other encryption algorithms within KMS.\n\n\nThis value is present only when the KeyUsage of the KMS key is ENCRYPT_DECRYPT." + description: "The encryption algorithms that the KMS key supports. You cannot use the KMS\nkey with other encryption algorithms within KMS.\n\nThis value is present only when the KeyUsage of the KMS key is ENCRYPT_DECRYPT." items: type: "string" type: "array" @@ -144,15 +144,15 @@ spec: description: "The manager of the KMS key. KMS keys in your Amazon Web Services account\nare either customer managed or Amazon Web Services managed. For more information\nabout the difference, see KMS keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys)\nin the Key Management Service Developer Guide." type: "string" keyState: - description: "The current status of the KMS key.\n\n\nFor more information about how key state affects the use of a KMS key, see\nKey states of KMS keys (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)\nin the Key Management Service Developer Guide." + description: "The current status of the KMS key.\n\nFor more information about how key state affects the use of a KMS key, see\nKey states of KMS keys (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)\nin the Key Management Service Developer Guide." type: "string" macAlgorithms: - description: "The message authentication code (MAC) algorithm that the HMAC KMS key supports.\n\n\nThis value is present only when the KeyUsage of the KMS key is GENERATE_VERIFY_MAC." + description: "The message authentication code (MAC) algorithm that the HMAC KMS key supports.\n\nThis value is present only when the KeyUsage of the KMS key is GENERATE_VERIFY_MAC." items: type: "string" type: "array" multiRegionConfiguration: - description: "Lists the primary and replica keys in same multi-Region key. This field is\npresent only when the value of the MultiRegion field is True.\n\n\nFor more information about any listed KMS key, use the DescribeKey operation.\n\n\n * MultiRegionKeyType indicates whether the KMS key is a PRIMARY or REPLICA\n key.\n\n\n * PrimaryKey displays the key ARN and Region of the primary key. This\n field displays the current KMS key if it is the primary key.\n\n\n * ReplicaKeys displays the key ARNs and Regions of all replica keys. This\n field includes the current KMS key if it is a replica key." + description: "Lists the primary and replica keys in same multi-Region key. This field is\npresent only when the value of the MultiRegion field is True.\n\nFor more information about any listed KMS key, use the DescribeKey operation.\n\n * MultiRegionKeyType indicates whether the KMS key is a PRIMARY or REPLICA\n key.\n\n * PrimaryKey displays the key ARN and Region of the primary key. This\n field displays the current KMS key if it is the primary key.\n\n * ReplicaKeys displays the key ARNs and Regions of all replica keys. This\n field includes the current KMS key if it is a replica key." properties: multiRegionKeyType: type: "string" @@ -176,11 +176,11 @@ spec: type: "array" type: "object" pendingDeletionWindowInDays: - description: "The waiting period before the primary key in a multi-Region key is deleted.\nThis waiting period begins when the last of its replica keys is deleted.\nThis value is present only when the KeyState of the KMS key is PendingReplicaDeletion.\nThat indicates that the KMS key is the primary key in a multi-Region key,\nit is scheduled for deletion, and it still has existing replica keys.\n\n\nWhen a single-Region KMS key or a multi-Region replica key is scheduled for\ndeletion, its deletion date is displayed in the DeletionDate field. However,\nwhen the primary key in a multi-Region key is scheduled for deletion, its\nwaiting period doesn't begin until all of its replica keys are deleted. This\nvalue displays that waiting period. When the last replica key in the multi-Region\nkey is deleted, the KeyState of the scheduled primary key changes from PendingReplicaDeletion\nto PendingDeletion and the deletion date appears in the DeletionDate field." + description: "The waiting period before the primary key in a multi-Region key is deleted.\nThis waiting period begins when the last of its replica keys is deleted.\nThis value is present only when the KeyState of the KMS key is PendingReplicaDeletion.\nThat indicates that the KMS key is the primary key in a multi-Region key,\nit is scheduled for deletion, and it still has existing replica keys.\n\nWhen a single-Region KMS key or a multi-Region replica key is scheduled for\ndeletion, its deletion date is displayed in the DeletionDate field. However,\nwhen the primary key in a multi-Region key is scheduled for deletion, its\nwaiting period doesn't begin until all of its replica keys are deleted. This\nvalue displays that waiting period. When the last replica key in the multi-Region\nkey is deleted, the KeyState of the scheduled primary key changes from PendingReplicaDeletion\nto PendingDeletion and the deletion date appears in the DeletionDate field." format: "int64" type: "integer" signingAlgorithms: - description: "The signing algorithms that the KMS key supports. You cannot use the KMS\nkey with other signing algorithms within KMS.\n\n\nThis field appears only when the KeyUsage of the KMS key is SIGN_VERIFY." + description: "The signing algorithms that the KMS key supports. You cannot use the KMS\nkey with other signing algorithms within KMS.\n\nThis field appears only when the KeyUsage of the KMS key is SIGN_VERIFY." items: type: "string" type: "array" diff --git a/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/aliases.yaml b/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/aliases.yaml index cf751c6f0..d6d4c81e7 100644 --- a/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/aliases.yaml +++ b/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/aliases.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "aliases.lambda.services.k8s.aws" spec: group: "lambda.services.k8s.aws" @@ -32,7 +32,7 @@ spec: description: "A description of the alias." type: "string" functionEventInvokeConfig: - description: "Configures options for asynchronous invocation on an alias.\n\n\n- DestinationConfig\nA destination for events after they have been sent to a function for processing.\n\n\nTypes of Destinations:\nFunction - The Amazon Resource Name (ARN) of a Lambda function.\nQueue - The ARN of a standard SQS queue.\nTopic - The ARN of a standard SNS topic.\nEvent Bus - The ARN of an Amazon EventBridge event bus.\n\n\n- MaximumEventAgeInSeconds\nThe maximum age of a request that Lambda sends to a function for processing.\n\n\n- MaximumRetryAttempts\nThe maximum number of times to retry when the function returns an error." + description: "Configures options for asynchronous invocation on an alias.\n\n- DestinationConfig\nA destination for events after they have been sent to a function for processing.\n\nTypes of Destinations:\nFunction - The Amazon Resource Name (ARN) of a Lambda function.\nQueue - The ARN of a standard SQS queue.\nTopic - The ARN of a standard SNS topic.\nEvent Bus - The ARN of an Amazon EventBridge event bus.\n\n- MaximumEventAgeInSeconds\nThe maximum age of a request that Lambda sends to a function for processing.\n\n- MaximumRetryAttempts\nThe maximum number of times to retry when the function returns an error." properties: destinationConfig: description: "A configuration object that specifies the destination of an event after Lambda\nprocesses it." @@ -62,10 +62,10 @@ spec: type: "string" type: "object" functionName: - description: "The name of the Lambda function.\n\n\nName formats\n\n\n * Function name - MyFunction.\n\n\n * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.\n\n\n * Partial ARN - 123456789012:function:MyFunction.\n\n\nThe length constraint applies only to the full ARN. If you specify only the\nfunction name, it is limited to 64 characters in length." + description: "The name of the Lambda function.\n\nName formats\n\n * Function name - MyFunction.\n\n * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.\n\n * Partial ARN - 123456789012:function:MyFunction.\n\nThe length constraint applies only to the full ARN. If you specify only the\nfunction name, it is limited to 64 characters in length." type: "string" functionRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -83,7 +83,7 @@ spec: description: "The name of the alias." type: "string" provisionedConcurrencyConfig: - description: "Configures provisioned concurrency to a function's alias\n\n\n- ProvisionedConcurrentExecutions\nThe amount of provisioned concurrency to allocate for the version or alias.\nMinimum value of 1 is required" + description: "Configures provisioned concurrency to a function's alias\n\n- ProvisionedConcurrentExecutions\nThe amount of provisioned concurrency to allocate for the version or alias.\nMinimum value of 1 is required" properties: functionName: type: "string" @@ -112,7 +112,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/codesigningconfigs.yaml b/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/codesigningconfigs.yaml index 61cec4178..76e8685de 100644 --- a/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/codesigningconfigs.yaml +++ b/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/codesigningconfigs.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "codesigningconfigs.lambda.services.k8s.aws" spec: group: "lambda.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "CodeSigningConfigSpec defines the desired state of CodeSigningConfig.\n\n\nDetails about a Code signing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html)." + description: "CodeSigningConfigSpec defines the desired state of CodeSigningConfig.\n\nDetails about a Code signing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html)." properties: allowedPublishers: description: "Signing profiles for this code signing configuration." @@ -56,7 +56,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/eventsourcemappings.yaml b/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/eventsourcemappings.yaml index 7c94c48b1..d59821cd5 100644 --- a/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/eventsourcemappings.yaml +++ b/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/eventsourcemappings.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "eventsourcemappings.lambda.services.k8s.aws" spec: group: "lambda.services.k8s.aws" @@ -36,7 +36,7 @@ spec: type: "string" type: "object" batchSize: - description: "The maximum number of records in each batch that Lambda pulls from your stream\nor queue and sends to your function. Lambda passes all of the records in\nthe batch to the function in a single call, up to the payload limit for synchronous\ninvocation (6 MB).\n\n\n * Amazon Kinesis – Default 100. Max 10,000.\n\n\n * Amazon DynamoDB Streams – Default 100. Max 10,000.\n\n\n * Amazon Simple Queue Service – Default 10. For standard queues the\n max is 10,000. For FIFO queues the max is 10.\n\n\n * Amazon Managed Streaming for Apache Kafka – Default 100. Max 10,000.\n\n\n * Self-managed Apache Kafka – Default 100. Max 10,000.\n\n\n * Amazon MQ (ActiveMQ and RabbitMQ) – Default 100. Max 10,000." + description: "The maximum number of records in each batch that Lambda pulls from your stream\nor queue and sends to your function. Lambda passes all of the records in\nthe batch to the function in a single call, up to the payload limit for synchronous\ninvocation (6 MB).\n\n * Amazon Kinesis – Default 100. Max 10,000.\n\n * Amazon DynamoDB Streams – Default 100. Max 10,000.\n\n * Amazon Simple Queue Service – Default 10. For standard queues the\n max is 10,000. For FIFO queues the max is 10.\n\n * Amazon Managed Streaming for Apache Kafka – Default 100. Max 10,000.\n\n * Self-managed Apache Kafka – Default 100. Max 10,000.\n\n * Amazon MQ (ActiveMQ and RabbitMQ) – Default 100. Max 10,000." format: "int64" type: "integer" bisectBatchOnFunctionError: @@ -59,13 +59,13 @@ spec: type: "object" type: "object" enabled: - description: "When true, the event source mapping is active. When false, Lambda pauses\npolling and invocation.\n\n\nDefault: True" + description: "When true, the event source mapping is active. When false, Lambda pauses\npolling and invocation.\n\nDefault: True" type: "boolean" eventSourceARN: - description: "The Amazon Resource Name (ARN) of the event source.\n\n\n * Amazon Kinesis – The ARN of the data stream or a stream consumer.\n\n\n * Amazon DynamoDB Streams – The ARN of the stream.\n\n\n * Amazon Simple Queue Service – The ARN of the queue.\n\n\n * Amazon Managed Streaming for Apache Kafka – The ARN of the cluster.\n\n\n * Amazon MQ – The ARN of the broker." + description: "The Amazon Resource Name (ARN) of the event source.\n\n * Amazon Kinesis – The ARN of the data stream or a stream consumer.\n\n * Amazon DynamoDB Streams – The ARN of the stream.\n\n * Amazon Simple Queue Service – The ARN of the queue.\n\n * Amazon Managed Streaming for Apache Kafka – The ARN of the cluster.\n\n * Amazon MQ – The ARN of the broker." type: "string" eventSourceRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -89,10 +89,10 @@ spec: type: "array" type: "object" functionName: - description: "The name of the Lambda function.\n\n\nName formats\n\n\n * Function name – MyFunction.\n\n\n * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction.\n\n\n * Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.\n\n\n * Partial ARN – 123456789012:function:MyFunction.\n\n\nThe length constraint applies only to the full ARN. If you specify only the\nfunction name, it's limited to 64 characters in length." + description: "The name of the Lambda function.\n\nName formats\n\n * Function name – MyFunction.\n\n * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction.\n\n * Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.\n\n * Partial ARN – 123456789012:function:MyFunction.\n\nThe length constraint applies only to the full ARN. If you specify only the\nfunction name, it's limited to 64 characters in length." type: "string" functionRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -109,7 +109,7 @@ spec: type: "string" type: "array" maximumBatchingWindowInSeconds: - description: "The maximum amount of time, in seconds, that Lambda spends gathering records\nbefore invoking the function. You can configure MaximumBatchingWindowInSeconds\nto any value from 0 seconds to 300 seconds in increments of seconds.\n\n\nFor streams and Amazon SQS event sources, the default batching window is\n0 seconds. For Amazon MSK, Self-managed Apache Kafka, and Amazon MQ event\nsources, the default batching window is 500 ms. Note that because you can\nonly change MaximumBatchingWindowInSeconds in increments of seconds, you\ncannot revert back to the 500 ms default batching window after you have changed\nit. To restore the default batching window, you must create a new event source\nmapping.\n\n\nRelated setting: For streams and Amazon SQS event sources, when you set BatchSize\nto a value greater than 10, you must set MaximumBatchingWindowInSeconds to\nat least 1." + description: "The maximum amount of time, in seconds, that Lambda spends gathering records\nbefore invoking the function. You can configure MaximumBatchingWindowInSeconds\nto any value from 0 seconds to 300 seconds in increments of seconds.\n\nFor streams and Amazon SQS event sources, the default batching window is\n0 seconds. For Amazon MSK, Self-managed Apache Kafka, and Amazon MQ event\nsources, the default batching window is 500 ms. Note that because you can\nonly change MaximumBatchingWindowInSeconds in increments of seconds, you\ncannot revert back to the 500 ms default batching window after you have changed\nit. To restore the default batching window, you must create a new event source\nmapping.\n\nRelated setting: For streams and Amazon SQS event sources, when you set BatchSize\nto a value greater than 10, you must set MaximumBatchingWindowInSeconds to\nat least 1." format: "int64" type: "integer" maximumRecordAgeInSeconds: @@ -126,7 +126,7 @@ spec: type: "integer" queueRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -201,7 +201,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/functions.yaml b/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/functions.yaml index d493ca9d8..b8c9e23ce 100644 --- a/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/functions.yaml +++ b/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/functions.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "functions.lambda.services.k8s.aws" spec: group: "lambda.services.k8s.aws" @@ -102,7 +102,7 @@ spec: type: "object" type: "array" functionEventInvokeConfig: - description: "Configures options for asynchronous invocation on a function.\n\n\n- DestinationConfig\nA destination for events after they have been sent to a function for processing.\n\n\nTypes of Destinations:\nFunction - The Amazon Resource Name (ARN) of a Lambda function.\nQueue - The ARN of a standard SQS queue.\nTopic - The ARN of a standard SNS topic.\nEvent Bus - The ARN of an Amazon EventBridge event bus.\n\n\n- MaximumEventAgeInSeconds\nThe maximum age of a request that Lambda sends to a function for processing.\n\n\n- MaximumRetryAttempts\nThe maximum number of times to retry when the function returns an error." + description: "Configures options for asynchronous invocation on a function.\n\n- DestinationConfig\nA destination for events after they have been sent to a function for processing.\n\nTypes of Destinations:\nFunction - The Amazon Resource Name (ARN) of a Lambda function.\nQueue - The ARN of a standard SQS queue.\nTopic - The ARN of a standard SNS topic.\nEvent Bus - The ARN of an Amazon EventBridge event bus.\n\n- MaximumEventAgeInSeconds\nThe maximum age of a request that Lambda sends to a function for processing.\n\n- MaximumRetryAttempts\nThe maximum number of times to retry when the function returns an error." properties: destinationConfig: description: "A configuration object that specifies the destination of an event after Lambda\nprocesses it." @@ -152,7 +152,7 @@ spec: description: "The ARN of the Key Management Service (KMS) key that's used to encrypt your\nfunction's environment variables. If it's not provided, Lambda uses a default\nservice key." type: "string" kmsKeyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -173,7 +173,7 @@ spec: format: "int64" type: "integer" name: - description: "The name of the Lambda function.\n\n\nName formats\n\n\n * Function name – my-function.\n\n\n * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.\n\n\n * Partial ARN – 123456789012:function:my-function.\n\n\nThe length constraint applies only to the full ARN. If you specify only the\nfunction name, it is limited to 64 characters in length." + description: "The name of the Lambda function.\n\nName formats\n\n * Function name – my-function.\n\n * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.\n\n * Partial ARN – 123456789012:function:my-function.\n\nThe length constraint applies only to the full ARN. If you specify only the\nfunction name, it is limited to 64 characters in length." type: "string" packageType: description: "The type of deployment package. Set to Image for container image and set\nto Zip for .zip file archive." @@ -189,7 +189,7 @@ spec: description: "The Amazon Resource Name (ARN) of the function's execution role." type: "string" roleRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -234,7 +234,7 @@ spec: securityGroupRefs: description: "Reference field for SecurityGroupIDs" items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -253,7 +253,7 @@ spec: subnetRefs: description: "Reference field for SubnetIDs" items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -277,7 +277,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/functionurlconfigs.yaml b/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/functionurlconfigs.yaml index f431810f9..8cfb118cb 100644 --- a/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/functionurlconfigs.yaml +++ b/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/functionurlconfigs.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "functionurlconfigs.lambda.services.k8s.aws" spec: group: "lambda.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "FunctionUrlConfigSpec defines the desired state of FunctionUrlConfig.\n\n\nDetails about a Lambda function URL." + description: "FunctionUrlConfigSpec defines the desired state of FunctionUrlConfig.\n\nDetails about a Lambda function URL." properties: authType: description: "The type of authentication that your function URL uses. Set to AWS_IAM if\nyou want to restrict access to authenticated IAM users only. Set to NONE\nif you want to bypass IAM authentication to create a public endpoint. For\nmore information, see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html)." @@ -58,10 +58,10 @@ spec: type: "integer" type: "object" functionName: - description: "The name of the Lambda function.\n\n\nName formats\n\n\n * Function name – my-function.\n\n\n * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.\n\n\n * Partial ARN – 123456789012:function:my-function.\n\n\nThe length constraint applies only to the full ARN. If you specify only the\nfunction name, it is limited to 64 characters in length." + description: "The name of the Lambda function.\n\nName formats\n\n * Function name – my-function.\n\n * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.\n\n * Partial ARN – 123456789012:function:my-function.\n\nThe length constraint applies only to the full ARN. If you specify only the\nfunction name, it is limited to 64 characters in length." type: "string" functionRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -85,7 +85,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/layerversions.yaml b/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/layerversions.yaml index 856047d10..220168a54 100644 --- a/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/layerversions.yaml +++ b/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/layerversions.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "layerversions.lambda.services.k8s.aws" spec: group: "lambda.services.k8s.aws" @@ -59,7 +59,7 @@ spec: description: "The name or Amazon Resource Name (ARN) of the layer." type: "string" licenseInfo: - description: "The layer's software license. It can be any of the following:\n\n\n * An SPDX license identifier (https://spdx.org/licenses/). For example,\n MIT.\n\n\n * The URL of a license hosted on the internet. For example, https://opensource.org/licenses/MIT.\n\n\n * The full text of the license." + description: "The layer's software license. It can be any of the following:\n\n * An SPDX license identifier (https://spdx.org/licenses/). For example,\n MIT.\n\n * The URL of a license hosted on the internet. For example, https://opensource.org/licenses/MIT.\n\n * The full text of the license." type: "string" required: - "content" @@ -72,7 +72,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/versions.yaml b/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/versions.yaml index 4ed24986f..697792160 100644 --- a/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/versions.yaml +++ b/crd-catalog/aws-controllers-k8s/lambda-controller/lambda.services.k8s.aws/v1alpha1/versions.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "versions.lambda.services.k8s.aws" spec: group: "lambda.services.k8s.aws" @@ -64,10 +64,10 @@ spec: type: "string" type: "object" functionName: - description: "The name of the Lambda function.\n\n\nName formats\n\n\n * Function name - MyFunction.\n\n\n * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.\n\n\n * Partial ARN - 123456789012:function:MyFunction.\n\n\nThe length constraint applies only to the full ARN. If you specify only the\nfunction name, it is limited to 64 characters in length." + description: "The name of the Lambda function.\n\nName formats\n\n * Function name - MyFunction.\n\n * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.\n\n * Partial ARN - 123456789012:function:MyFunction.\n\nThe length constraint applies only to the full ARN. If you specify only the\nfunction name, it is limited to 64 characters in length." type: "string" functionRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -99,7 +99,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/acls.yaml b/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/acls.yaml index bd9ca06df..fc4e56bae 100644 --- a/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/acls.yaml +++ b/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/acls.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "acls.memorydb.services.k8s.aws" spec: group: "memorydb.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "ACLSpec defines the desired state of ACL.\n\n\nAn Access Control List. You can authenticate users with Access Contol Lists.\nACLs enable you to control cluster access by grouping users. These Access\ncontrol lists are designed as a way to organize access to clusters." + description: "ACLSpec defines the desired state of ACL.\n\nAn Access Control List. You can authenticate users with Access Contol Lists.\nACLs enable you to control cluster access by grouping users. These Access\ncontrol lists are designed as a way to organize access to clusters." properties: name: description: "The name of the Access Control List." @@ -50,7 +50,7 @@ spec: type: "array" userRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -72,7 +72,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/clusters.yaml b/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/clusters.yaml index de1f61c1f..d95b4c33a 100644 --- a/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/clusters.yaml +++ b/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/clusters.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "clusters.memorydb.services.k8s.aws" spec: group: "memorydb.services.k8s.aws" @@ -27,13 +27,13 @@ spec: metadata: type: "object" spec: - description: "ClusterSpec defines the desired state of Cluster.\n\n\nContains all of the attributes of a specific cluster." + description: "ClusterSpec defines the desired state of Cluster.\n\nContains all of the attributes of a specific cluster." properties: aclName: description: "The name of the Access Control List to associate with the cluster." type: "string" aclRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -77,7 +77,7 @@ spec: description: "The name of the parameter group associated with the cluster." type: "string" parameterGroupRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -99,7 +99,7 @@ spec: type: "array" securityGroupRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -120,7 +120,7 @@ spec: description: "The name of a snapshot from which to restore data into the new cluster. The\nsnapshot status changes to restoring while the new cluster is being created." type: "string" snapshotRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -136,13 +136,13 @@ spec: format: "int64" type: "integer" snapshotWindow: - description: "The daily time range (in UTC) during which MemoryDB begins taking a daily\nsnapshot of your shard.\n\n\nExample: 05:00-09:00\n\n\nIf you do not specify this parameter, MemoryDB automatically chooses an appropriate\ntime range." + description: "The daily time range (in UTC) during which MemoryDB begins taking a daily\nsnapshot of your shard.\n\nExample: 05:00-09:00\n\nIf you do not specify this parameter, MemoryDB automatically chooses an appropriate\ntime range." type: "string" snsTopicARN: description: "The Amazon Resource Name (ARN) of the Amazon Simple Notification Service\n(SNS) topic to which notifications are sent." type: "string" snsTopicRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -157,7 +157,7 @@ spec: description: "The name of the subnet group to be used for the cluster." type: "string" subnetGroupRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -193,7 +193,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/parametergroups.yaml b/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/parametergroups.yaml index 01beee67b..0c8d8dc80 100644 --- a/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/parametergroups.yaml +++ b/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/parametergroups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "parametergroups.memorydb.services.k8s.aws" spec: group: "memorydb.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "ParameterGroupSpec defines the desired state of ParameterGroup.\n\n\nRepresents the output of a CreateParameterGroup operation. A parameter group\nrepresents a combination of specific values for the parameters that are passed\nto the engine software during startup." + description: "ParameterGroupSpec defines the desired state of ParameterGroup.\n\nRepresents the output of a CreateParameterGroup operation. A parameter group\nrepresents a combination of specific values for the parameters that are passed\nto the engine software during startup." properties: description: description: "An optional description of the parameter group." @@ -71,7 +71,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/snapshots.yaml b/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/snapshots.yaml index 71c5c51b4..a1a878aff 100644 --- a/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/snapshots.yaml +++ b/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/snapshots.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "snapshots.memorydb.services.k8s.aws" spec: group: "memorydb.services.k8s.aws" @@ -27,13 +27,13 @@ spec: metadata: type: "object" spec: - description: "SnapshotSpec defines the desired state of Snapshot.\n\n\nRepresents a copy of an entire cluster as of the time when the snapshot was\ntaken." + description: "SnapshotSpec defines the desired state of Snapshot.\n\nRepresents a copy of an entire cluster as of the time when the snapshot was\ntaken." properties: clusterName: description: "The snapshot is created from this cluster." type: "string" clusterRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -48,7 +48,7 @@ spec: description: "The ID of the KMS key used to encrypt the snapshot." type: "string" kmsKeyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -86,7 +86,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/subnetgroups.yaml b/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/subnetgroups.yaml index 2ea1643a7..277b1ef31 100644 --- a/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/subnetgroups.yaml +++ b/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/subnetgroups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "subnetgroups.memorydb.services.k8s.aws" spec: group: "memorydb.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "SubnetGroupSpec defines the desired state of SubnetGroup.\n\n\nRepresents the output of one of the following operations:\n\n\n * CreateSubnetGroup\n\n\n * UpdateSubnetGroup\n\n\nA subnet group is a collection of subnets (typically private) that you can\ndesignate for your clusters running in an Amazon Virtual Private Cloud (VPC)\nenvironment." + description: "SubnetGroupSpec defines the desired state of SubnetGroup.\n\nRepresents the output of one of the following operations:\n\n * CreateSubnetGroup\n\n * UpdateSubnetGroup\n\nA subnet group is a collection of subnets (typically private) that you can\ndesignate for your clusters running in an Amazon Virtual Private Cloud (VPC)\nenvironment." properties: description: description: "A description for the subnet group." @@ -42,7 +42,7 @@ spec: type: "array" subnetRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -75,7 +75,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/users.yaml b/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/users.yaml index 201519fe9..92f1ce4e4 100644 --- a/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/users.yaml +++ b/crd-catalog/aws-controllers-k8s/memorydb-controller/memorydb.services.k8s.aws/v1alpha1/users.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "users.memorydb.services.k8s.aws" spec: group: "memorydb.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "UserSpec defines the desired state of User.\n\n\nYou create users and assign them specific permissions by using an access\nstring. You assign the users to Access Control Lists aligned with a specific\nrole (administrators, human resources) that are then deployed to one or more\nMemoryDB clusters." + description: "UserSpec defines the desired state of User.\n\nYou create users and assign them specific permissions by using an access\nstring. You assign the users to Access Control Lists aligned with a specific\nrole (administrators, human resources) that are then deployed to one or more\nMemoryDB clusters." properties: accessString: description: "Access permissions string used for this user." @@ -82,7 +82,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/mq-controller/mq.services.k8s.aws/v1alpha1/brokers.yaml b/crd-catalog/aws-controllers-k8s/mq-controller/mq.services.k8s.aws/v1alpha1/brokers.yaml index 0c55f069f..35aea98e5 100644 --- a/crd-catalog/aws-controllers-k8s/mq-controller/mq.services.k8s.aws/v1alpha1/brokers.yaml +++ b/crd-catalog/aws-controllers-k8s/mq-controller/mq.services.k8s.aws/v1alpha1/brokers.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "brokers.mq.services.k8s.aws" spec: group: "mq.services.k8s.aws" @@ -34,7 +34,7 @@ spec: autoMinorVersionUpgrade: type: "boolean" configuration: - description: "A list of information about the configuration.\n\n\nDoes not apply to RabbitMQ brokers." + description: "A list of information about the configuration.\n\nDoes not apply to RabbitMQ brokers." properties: id: type: "string" @@ -47,7 +47,7 @@ spec: deploymentMode: type: "string" encryptionOptions: - description: "Does not apply to RabbitMQ brokers.\n\n\nEncryption options for the broker." + description: "Does not apply to RabbitMQ brokers.\n\nEncryption options for the broker." properties: kmsKeyID: type: "string" @@ -61,7 +61,7 @@ spec: hostInstanceType: type: "string" ldapServerMetadata: - description: "Optional. The metadata of the LDAP server used to authenticate and authorize\nconnections to the broker.\n\n\nDoes not apply to RabbitMQ brokers." + description: "Optional. The metadata of the LDAP server used to authenticate and authorize\nconnections to the broker.\n\nDoes not apply to RabbitMQ brokers." properties: hosts: items: @@ -112,7 +112,7 @@ spec: type: "boolean" securityGroupRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -136,7 +136,7 @@ spec: type: "array" subnetRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -199,7 +199,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/networkfirewall-controller/networkfirewall.services.k8s.aws/v1alpha1/firewallpolicies.yaml b/crd-catalog/aws-controllers-k8s/networkfirewall-controller/networkfirewall.services.k8s.aws/v1alpha1/firewallpolicies.yaml index f309119ae..585773d95 100644 --- a/crd-catalog/aws-controllers-k8s/networkfirewall-controller/networkfirewall.services.k8s.aws/v1alpha1/firewallpolicies.yaml +++ b/crd-catalog/aws-controllers-k8s/networkfirewall-controller/networkfirewall.services.k8s.aws/v1alpha1/firewallpolicies.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "firewallpolicies.networkfirewall.services.k8s.aws" spec: group: "networkfirewall.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "FirewallPolicySpec defines the desired state of FirewallPolicy.\n\n\nThe firewall policy defines the behavior of a firewall using a collection\nof stateless and stateful rule groups and other settings. You can use one\nfirewall policy for multiple firewalls.\n\n\nThis, along with FirewallPolicyResponse, define the policy. You can retrieve\nall objects for a firewall policy by calling DescribeFirewallPolicy." + description: "FirewallPolicySpec defines the desired state of FirewallPolicy.\n\nThe firewall policy defines the behavior of a firewall using a collection\nof stateless and stateful rule groups and other settings. You can use one\nfirewall policy for multiple firewalls.\n\nThis, along with FirewallPolicyResponse, define the policy. You can retrieve\nall objects for a firewall policy by calling DescribeFirewallPolicy." properties: description: description: "A description of the firewall policy." @@ -88,7 +88,7 @@ spec: type: "array" statelessCustomActions: items: - description: "An optional, non-standard action to use for stateless packet handling. You\ncan define this in addition to the standard action that you must specify.\n\n\nYou define and name the custom actions that you want to be able to use, and\nthen you reference them by name in your actions settings.\n\n\nYou can use custom actions in the following places:\n\n\n * In a rule group's StatelessRulesAndCustomActions specification. The\n custom actions are available for use by name inside the StatelessRulesAndCustomActions\n where you define them. You can use them for your stateless rule actions\n to specify what to do with a packet that matches the rule's match attributes.\n\n\n * In a FirewallPolicy specification, in StatelessCustomActions. The custom\n actions are available for use inside the policy where you define them.\n You can use them for the policy's default stateless actions settings to\n specify what to do with packets that don't match any of the policy's stateless\n rules." + description: "An optional, non-standard action to use for stateless packet handling. You\ncan define this in addition to the standard action that you must specify.\n\nYou define and name the custom actions that you want to be able to use, and\nthen you reference them by name in your actions settings.\n\nYou can use custom actions in the following places:\n\n * In a rule group's StatelessRulesAndCustomActions specification. The\n custom actions are available for use by name inside the StatelessRulesAndCustomActions\n where you define them. You can use them for your stateless rule actions\n to specify what to do with a packet that matches the rule's match attributes.\n\n * In a FirewallPolicy specification, in StatelessCustomActions. The custom\n actions are available for use inside the policy where you define them.\n You can use them for the policy's default stateless actions settings to\n specify what to do with packets that don't match any of the policy's stateless\n rules." properties: actionDefinition: description: "A custom action to use in stateless rule actions settings. This is used in\nCustomAction." @@ -98,7 +98,7 @@ spec: properties: dimensions: items: - description: "The value to use in an Amazon CloudWatch custom metric dimension. This is\nused in the PublishMetrics CustomAction. A CloudWatch custom metric dimension\nis a name/value pair that's part of the identity of a metric.\n\n\nNetwork Firewall sets the dimension name to CustomAction and you provide\nthe dimension value.\n\n\nFor more information about CloudWatch custom metric dimensions, see Publishing\nCustom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#usingDimensions)\nin the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)." + description: "The value to use in an Amazon CloudWatch custom metric dimension. This is\nused in the PublishMetrics CustomAction. A CloudWatch custom metric dimension\nis a name/value pair that's part of the identity of a metric.\n\nNetwork Firewall sets the dimension name to CustomAction and you provide\nthe dimension value.\n\nFor more information about CloudWatch custom metric dimensions, see Publishing\nCustom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#usingDimensions)\nin the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)." properties: value: type: "string" @@ -157,7 +157,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -240,7 +240,7 @@ spec: type: "array" type: "object" updateToken: - description: "A token used for optimistic locking. Network Firewall returns a token to\nyour requests that access the firewall policy. The token marks the state\nof the policy resource at the time of the request.\n\n\nTo make changes to the policy, you provide the token in your request. Network\nFirewall uses the token to ensure that the policy hasn't changed since you\nlast retrieved it. If it has changed, the operation fails with an InvalidTokenException.\nIf this happens, retrieve the firewall policy again to get a current copy\nof it with current token. Reapply your changes as needed, then try the operation\nagain using the new token." + description: "A token used for optimistic locking. Network Firewall returns a token to\nyour requests that access the firewall policy. The token marks the state\nof the policy resource at the time of the request.\n\nTo make changes to the policy, you provide the token in your request. Network\nFirewall uses the token to ensure that the policy hasn't changed since you\nlast retrieved it. If it has changed, the operation fails with an InvalidTokenException.\nIf this happens, retrieve the firewall policy again to get a current copy\nof it with current token. Reapply your changes as needed, then try the operation\nagain using the new token." type: "string" type: "object" type: "object" diff --git a/crd-catalog/aws-controllers-k8s/networkfirewall-controller/networkfirewall.services.k8s.aws/v1alpha1/firewalls.yaml b/crd-catalog/aws-controllers-k8s/networkfirewall-controller/networkfirewall.services.k8s.aws/v1alpha1/firewalls.yaml index 5a5d06969..81873b852 100644 --- a/crd-catalog/aws-controllers-k8s/networkfirewall-controller/networkfirewall.services.k8s.aws/v1alpha1/firewalls.yaml +++ b/crd-catalog/aws-controllers-k8s/networkfirewall-controller/networkfirewall.services.k8s.aws/v1alpha1/firewalls.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "firewalls.networkfirewall.services.k8s.aws" spec: group: "networkfirewall.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "FirewallSpec defines the desired state of Firewall.\n\n\nThe firewall defines the configuration settings for an Network Firewall firewall.\nThese settings include the firewall policy, the subnets in your VPC to use\nfor the firewall endpoints, and any tags that are attached to the firewall\nAmazon Web Services resource.\n\n\nThe status of the firewall, for example whether it's ready to filter network\ntraffic, is provided in the corresponding FirewallStatus. You can retrieve\nboth objects by calling DescribeFirewall." + description: "FirewallSpec defines the desired state of Firewall.\n\nThe firewall defines the configuration settings for an Network Firewall firewall.\nThese settings include the firewall policy, the subnets in your VPC to use\nfor the firewall endpoints, and any tags that are attached to the firewall\nAmazon Web Services resource.\n\nThe status of the firewall, for example whether it's ready to filter network\ntraffic, is provided in the corresponding FirewallStatus. You can retrieve\nboth objects by calling DescribeFirewall." properties: deleteProtection: description: "A flag indicating whether it is possible to delete the firewall. A setting\nof TRUE indicates that the firewall is protected against deletion. Use this\nsetting to protect against accidentally deleting a firewall that is in use.\nWhen you create a firewall, the operation initializes this flag to TRUE." @@ -78,7 +78,7 @@ spec: type: "object" type: "array" vpcID: - description: "The unique identifier of the VPC where Network Firewall should create the\nfirewall.\n\n\nYou can't change this setting after you create the firewall." + description: "The unique identifier of the VPC where Network Firewall should create the\nfirewall.\n\nYou can't change this setting after you create the firewall." type: "string" required: - "firewallName" @@ -93,7 +93,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -213,7 +213,7 @@ spec: type: "string" syncStates: additionalProperties: - description: "The status of the firewall endpoint and firewall policy configuration for\na single VPC subnet.\n\n\nFor each VPC subnet that you associate with a firewall, Network Firewall\ndoes the following:\n\n\n * Instantiates a firewall endpoint in the subnet, ready to take traffic.\n\n\n * Configures the endpoint with the current firewall policy settings, to\n provide the filtering behavior for the endpoint.\n\n\nWhen you update a firewall, for example to add a subnet association or change\na rule group in the firewall policy, the affected sync states reflect out-of-sync\nor not ready status until the changes are complete." + description: "The status of the firewall endpoint and firewall policy configuration for\na single VPC subnet.\n\nFor each VPC subnet that you associate with a firewall, Network Firewall\ndoes the following:\n\n * Instantiates a firewall endpoint in the subnet, ready to take traffic.\n\n * Configures the endpoint with the current firewall policy settings, to\n provide the filtering behavior for the endpoint.\n\nWhen you update a firewall, for example to add a subnet association or change\na rule group in the firewall policy, the affected sync states reflect out-of-sync\nor not ready status until the changes are complete." properties: attachment: description: "The configuration and status for a single subnet that you've specified for\nuse by the Network Firewall firewall. This is part of the FirewallStatus." diff --git a/crd-catalog/aws-controllers-k8s/networkfirewall-controller/networkfirewall.services.k8s.aws/v1alpha1/rulegroups.yaml b/crd-catalog/aws-controllers-k8s/networkfirewall-controller/networkfirewall.services.k8s.aws/v1alpha1/rulegroups.yaml index 018f3f1a5..7ea20794a 100644 --- a/crd-catalog/aws-controllers-k8s/networkfirewall-controller/networkfirewall.services.k8s.aws/v1alpha1/rulegroups.yaml +++ b/crd-catalog/aws-controllers-k8s/networkfirewall-controller/networkfirewall.services.k8s.aws/v1alpha1/rulegroups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "rulegroups.networkfirewall.services.k8s.aws" spec: group: "networkfirewall.services.k8s.aws" @@ -27,20 +27,20 @@ spec: metadata: type: "object" spec: - description: "RuleGroupSpec defines the desired state of RuleGroup.\n\n\nThe object that defines the rules in a rule group. This, along with RuleGroupResponse,\ndefine the rule group. You can retrieve all objects for a rule group by calling\nDescribeRuleGroup.\n\n\nNetwork Firewall uses a rule group to inspect and control network traffic.\nYou define stateless rule groups to inspect individual packets and you define\nstateful rule groups to inspect packets in the context of their traffic flow.\n\n\nTo use a rule group, you include it by reference in an Network Firewall firewall\npolicy, then you use the policy in a firewall. You can reference a rule group\nfrom more than one firewall policy, and you can use a firewall policy in\nmore than one firewall." + description: "RuleGroupSpec defines the desired state of RuleGroup.\n\nThe object that defines the rules in a rule group. This, along with RuleGroupResponse,\ndefine the rule group. You can retrieve all objects for a rule group by calling\nDescribeRuleGroup.\n\nNetwork Firewall uses a rule group to inspect and control network traffic.\nYou define stateless rule groups to inspect individual packets and you define\nstateful rule groups to inspect packets in the context of their traffic flow.\n\nTo use a rule group, you include it by reference in an Network Firewall firewall\npolicy, then you use the policy in a firewall. You can reference a rule group\nfrom more than one firewall policy, and you can use a firewall policy in\nmore than one firewall." properties: analyzeRuleGroup: description: "Indicates whether you want Network Firewall to analyze the stateless rules\nin the rule group for rule behavior such as asymmetric routing. If set to\nTRUE, Network Firewall runs the analysis and then creates the rule group\nfor you. To run the stateless rule group analyzer without creating the rule\ngroup, set DryRun to TRUE." type: "boolean" capacity: - description: "The maximum operating resources that this rule group can use. Rule group\ncapacity is fixed at creation. When you update a rule group, you are limited\nto this capacity. When you reference a rule group from a firewall policy,\nNetwork Firewall reserves this capacity for the rule group.\n\n\nYou can retrieve the capacity that would be required for a rule group before\nyou create the rule group by calling CreateRuleGroup with DryRun set to TRUE.\n\n\nYou can't change or exceed this capacity when you update the rule group,\nso leave room for your rule group to grow.\n\n\nCapacity for a stateless rule group\n\n\nFor a stateless rule group, the capacity required is the sum of the capacity\nrequirements of the individual rules that you expect to have in the rule\ngroup.\n\n\nTo calculate the capacity requirement of a single rule, multiply the capacity\nrequirement values of each of the rule's match settings:\n\n\n * A match setting with no criteria specified has a value of 1.\n\n\n * A match setting with Any specified has a value of 1.\n\n\n * All other match settings have a value equal to the number of elements\n provided in the setting. For example, a protocol setting [\"UDP\"] and a\n source setting [\"10.0.0.0/24\"] each have a value of 1. A protocol setting\n [\"UDP\",\"TCP\"] has a value of 2. A source setting [\"10.0.0.0/24\",\"10.0.0.1/24\",\"10.0.0.2/24\"]\n has a value of 3.\n\n\nA rule with no criteria specified in any of its match settings has a capacity\nrequirement of 1. A rule with protocol setting [\"UDP\",\"TCP\"], source setting\n[\"10.0.0.0/24\",\"10.0.0.1/24\",\"10.0.0.2/24\"], and a single specification or\nno specification for each of the other match settings has a capacity requirement\nof 6.\n\n\nCapacity for a stateful rule group\n\n\nFor a stateful rule group, the minimum capacity required is the number of\nindividual rules that you expect to have in the rule group." + description: "The maximum operating resources that this rule group can use. Rule group\ncapacity is fixed at creation. When you update a rule group, you are limited\nto this capacity. When you reference a rule group from a firewall policy,\nNetwork Firewall reserves this capacity for the rule group.\n\nYou can retrieve the capacity that would be required for a rule group before\nyou create the rule group by calling CreateRuleGroup with DryRun set to TRUE.\n\nYou can't change or exceed this capacity when you update the rule group,\nso leave room for your rule group to grow.\n\nCapacity for a stateless rule group\n\nFor a stateless rule group, the capacity required is the sum of the capacity\nrequirements of the individual rules that you expect to have in the rule\ngroup.\n\nTo calculate the capacity requirement of a single rule, multiply the capacity\nrequirement values of each of the rule's match settings:\n\n * A match setting with no criteria specified has a value of 1.\n\n * A match setting with Any specified has a value of 1.\n\n * All other match settings have a value equal to the number of elements\n provided in the setting. For example, a protocol setting [\"UDP\"] and a\n source setting [\"10.0.0.0/24\"] each have a value of 1. A protocol setting\n [\"UDP\",\"TCP\"] has a value of 2. A source setting [\"10.0.0.0/24\",\"10.0.0.1/24\",\"10.0.0.2/24\"]\n has a value of 3.\n\nA rule with no criteria specified in any of its match settings has a capacity\nrequirement of 1. A rule with protocol setting [\"UDP\",\"TCP\"], source setting\n[\"10.0.0.0/24\",\"10.0.0.1/24\",\"10.0.0.2/24\"], and a single specification or\nno specification for each of the other match settings has a capacity requirement\nof 6.\n\nCapacity for a stateful rule group\n\nFor a stateful rule group, the minimum capacity required is the number of\nindividual rules that you expect to have in the rule group." format: "int64" type: "integer" description: description: "A description of the rule group." type: "string" dryRun: - description: "Indicates whether you want Network Firewall to just check the validity of\nthe request, rather than run the request.\n\n\nIf set to TRUE, Network Firewall checks whether the request can run successfully,\nbut doesn't actually make the requested changes. The call returns the value\nthat the request would return if you ran it with dry run set to FALSE, but\ndoesn't make additions or changes to your resources. This option allows you\nto make sure that you have the required permissions to run the request and\nthat your request parameters are valid.\n\n\nIf set to FALSE, Network Firewall makes the requested changes to your resources." + description: "Indicates whether you want Network Firewall to just check the validity of\nthe request, rather than run the request.\n\nIf set to TRUE, Network Firewall checks whether the request can run successfully,\nbut doesn't actually make the requested changes. The call returns the value\nthat the request would return if you ran it with dry run set to FALSE, but\ndoesn't make additions or changes to your resources. This option allows you\nto make sure that you have the required permissions to run the request and\nthat your request parameters are valid.\n\nIf set to FALSE, Network Firewall makes the requested changes to your resources." type: "boolean" encryptionConfiguration: description: "A complex type that contains settings for encryption of your rule group resources." @@ -51,14 +51,14 @@ spec: type: "string" type: "object" ruleGroup: - description: "An object that defines the rule group rules.\n\n\nYou must provide either this rule group setting or a Rules setting, but not\nboth." + description: "An object that defines the rule group rules.\n\nYou must provide either this rule group setting or a Rules setting, but not\nboth." properties: referenceSets: description: "Contains a set of IP set references." properties: ipSetReferences: additionalProperties: - description: "Configures one or more IP set references for a Suricata-compatible rule group.\nThis is used in CreateRuleGroup or UpdateRuleGroup. An IP set reference is\na rule variable that references resources that you create and manage in another\nAmazon Web Services service, such as an Amazon VPC prefix list. Network Firewall\nIP set references enable you to dynamically update the contents of your rules.\nWhen you create, update, or delete the resource you are referencing in your\nrule, Network Firewall automatically updates the rule's content with the\nchanges. For more information about IP set references in Network Firewall,\nsee Using IP set references (https://docs.aws.amazon.com/network-firewall/latest/developerguide/rule-groups-ip-set-references)\nin the Network Firewall Developer Guide.\n\n\nNetwork Firewall currently supports Amazon VPC prefix lists (https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html)\nand resource groups (https://docs.aws.amazon.com/network-firewall/latest/developerguide/rule-groups-ip-set-references.html#rule-groups-referencing-resource-groups)\nin IP set references." + description: "Configures one or more IP set references for a Suricata-compatible rule group.\nThis is used in CreateRuleGroup or UpdateRuleGroup. An IP set reference is\na rule variable that references resources that you create and manage in another\nAmazon Web Services service, such as an Amazon VPC prefix list. Network Firewall\nIP set references enable you to dynamically update the contents of your rules.\nWhen you create, update, or delete the resource you are referencing in your\nrule, Network Firewall automatically updates the rule's content with the\nchanges. For more information about IP set references in Network Firewall,\nsee Using IP set references (https://docs.aws.amazon.com/network-firewall/latest/developerguide/rule-groups-ip-set-references)\nin the Network Firewall Developer Guide.\n\nNetwork Firewall currently supports Amazon VPC prefix lists (https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html)\nand resource groups (https://docs.aws.amazon.com/network-firewall/latest/developerguide/rule-groups-ip-set-references.html#rule-groups-referencing-resource-groups)\nin IP set references." properties: referenceARN: type: "string" @@ -93,7 +93,7 @@ spec: description: "The stateless or stateful rules definitions for use in a single rule group.\nEach rule group requires a single RulesSource. You can use an instance of\nthis for either stateless rules or stateful rules." properties: rulesSourceList: - description: "Stateful inspection criteria for a domain list rule group.\n\n\nFor HTTPS traffic, domain filtering is SNI-based. It uses the server name\nindicator extension of the TLS handshake.\n\n\nBy default, Network Firewall domain list inspection only includes traffic\ncoming from the VPC where you deploy the firewall. To inspect traffic from\nIP addresses outside of the deployment VPC, you set the HOME_NET rule variable\nto include the CIDR range of the deployment VPC plus the other CIDR ranges.\nFor more information, see RuleVariables in this guide and Stateful domain\nlist rule groups in Network Firewall (https://docs.aws.amazon.com/network-firewall/latest/developerguide/stateful-rule-groups-domain-names.html)\nin the Network Firewall Developer Guide." + description: "Stateful inspection criteria for a domain list rule group.\n\nFor HTTPS traffic, domain filtering is SNI-based. It uses the server name\nindicator extension of the TLS handshake.\n\nBy default, Network Firewall domain list inspection only includes traffic\ncoming from the VPC where you deploy the firewall. To inspect traffic from\nIP addresses outside of the deployment VPC, you set the HOME_NET rule variable\nto include the CIDR range of the deployment VPC plus the other CIDR ranges.\nFor more information, see RuleVariables in this guide and Stateful domain\nlist rule groups in Network Firewall (https://docs.aws.amazon.com/network-firewall/latest/developerguide/stateful-rule-groups-domain-names.html)\nin the Network Firewall Developer Guide." properties: generatedRulesType: type: "string" @@ -149,7 +149,7 @@ spec: properties: customActions: items: - description: "An optional, non-standard action to use for stateless packet handling. You\ncan define this in addition to the standard action that you must specify.\n\n\nYou define and name the custom actions that you want to be able to use, and\nthen you reference them by name in your actions settings.\n\n\nYou can use custom actions in the following places:\n\n\n * In a rule group's StatelessRulesAndCustomActions specification. The\n custom actions are available for use by name inside the StatelessRulesAndCustomActions\n where you define them. You can use them for your stateless rule actions\n to specify what to do with a packet that matches the rule's match attributes.\n\n\n * In a FirewallPolicy specification, in StatelessCustomActions. The custom\n actions are available for use inside the policy where you define them.\n You can use them for the policy's default stateless actions settings to\n specify what to do with packets that don't match any of the policy's stateless\n rules." + description: "An optional, non-standard action to use for stateless packet handling. You\ncan define this in addition to the standard action that you must specify.\n\nYou define and name the custom actions that you want to be able to use, and\nthen you reference them by name in your actions settings.\n\nYou can use custom actions in the following places:\n\n * In a rule group's StatelessRulesAndCustomActions specification. The\n custom actions are available for use by name inside the StatelessRulesAndCustomActions\n where you define them. You can use them for your stateless rule actions\n to specify what to do with a packet that matches the rule's match attributes.\n\n * In a FirewallPolicy specification, in StatelessCustomActions. The custom\n actions are available for use inside the policy where you define them.\n You can use them for the policy's default stateless actions settings to\n specify what to do with packets that don't match any of the policy's stateless\n rules." properties: actionDefinition: description: "A custom action to use in stateless rule actions settings. This is used in\nCustomAction." @@ -159,7 +159,7 @@ spec: properties: dimensions: items: - description: "The value to use in an Amazon CloudWatch custom metric dimension. This is\nused in the PublishMetrics CustomAction. A CloudWatch custom metric dimension\nis a name/value pair that's part of the identity of a metric.\n\n\nNetwork Firewall sets the dimension name to CustomAction and you provide\nthe dimension value.\n\n\nFor more information about CloudWatch custom metric dimensions, see Publishing\nCustom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#usingDimensions)\nin the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)." + description: "The value to use in an Amazon CloudWatch custom metric dimension. This is\nused in the PublishMetrics CustomAction. A CloudWatch custom metric dimension\nis a name/value pair that's part of the identity of a metric.\n\nNetwork Firewall sets the dimension name to CustomAction and you provide\nthe dimension value.\n\nFor more information about CloudWatch custom metric dimensions, see Publishing\nCustom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#usingDimensions)\nin the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)." properties: value: type: "string" @@ -264,7 +264,7 @@ spec: description: "The descriptive name of the rule group. You can't change the name of a rule\ngroup after you create it." type: "string" rules: - description: "A string containing stateful rule group rules specifications in Suricata\nflat format, with one rule per line. Use this to import your existing Suricata\ncompatible rule groups.\n\n\nYou must provide either this rules setting or a populated RuleGroup setting,\nbut not both.\n\n\nYou can provide your rule group specification in Suricata flat format through\nthis setting when you create or update your rule group. The call response\nreturns a RuleGroup object that Network Firewall has populated from your\nstring." + description: "A string containing stateful rule group rules specifications in Suricata\nflat format, with one rule per line. Use this to import your existing Suricata\ncompatible rule groups.\n\nYou must provide either this rules setting or a populated RuleGroup setting,\nbut not both.\n\nYou can provide your rule group specification in Suricata flat format through\nthis setting when you create or update your rule group. The call response\nreturns a RuleGroup object that Network Firewall has populated from your\nstring." type: "string" sourceMetadata: description: "A complex type that contains metadata about the rule group that your own\nrule group is copied from. You can use the metadata to keep track of updates\nmade to the originating rule group." @@ -300,7 +300,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -409,7 +409,7 @@ spec: type: "string" type: "object" updateToken: - description: "A token used for optimistic locking. Network Firewall returns a token to\nyour requests that access the rule group. The token marks the state of the\nrule group resource at the time of the request.\n\n\nTo make changes to the rule group, you provide the token in your request.\nNetwork Firewall uses the token to ensure that the rule group hasn't changed\nsince you last retrieved it. If it has changed, the operation fails with\nan InvalidTokenException. If this happens, retrieve the rule group again\nto get a current copy of it with a current token. Reapply your changes as\nneeded, then try the operation again using the new token." + description: "A token used for optimistic locking. Network Firewall returns a token to\nyour requests that access the rule group. The token marks the state of the\nrule group resource at the time of the request.\n\nTo make changes to the rule group, you provide the token in your request.\nNetwork Firewall uses the token to ensure that the rule group hasn't changed\nsince you last retrieved it. If it has changed, the operation fails with\nan InvalidTokenException. If this happens, retrieve the rule group again\nto get a current copy of it with a current token. Reapply your changes as\nneeded, then try the operation again using the new token." type: "string" type: "object" type: "object" diff --git a/crd-catalog/aws-controllers-k8s/opensearchservice-controller/opensearchservice.services.k8s.aws/v1alpha1/domains.yaml b/crd-catalog/aws-controllers-k8s/opensearchservice-controller/opensearchservice.services.k8s.aws/v1alpha1/domains.yaml index d3f0fdd54..802158a14 100644 --- a/crd-catalog/aws-controllers-k8s/opensearchservice-controller/opensearchservice.services.k8s.aws/v1alpha1/domains.yaml +++ b/crd-catalog/aws-controllers-k8s/opensearchservice-controller/opensearchservice.services.k8s.aws/v1alpha1/domains.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "domains.opensearchservice.services.k8s.aws" spec: group: "opensearchservice.services.k8s.aws" @@ -35,7 +35,7 @@ spec: advancedOptions: additionalProperties: type: "string" - description: "Key-value pairs to specify advanced configuration options. The following\nkey-value pairs are supported:\n\n\n * \"rest.action.multi.allow_explicit_index\": \"true\" | \"false\" - Note the\n use of a string rather than a boolean. Specifies whether explicit references\n to indexes are allowed inside the body of HTTP requests. If you want to\n configure access policies for domain sub-resources, such as specific indexes\n and domain APIs, you must disable this property. Default is true.\n\n\n * \"indices.fielddata.cache.size\": \"80\" - Note the use of a string rather\n than a boolean. Specifies the percentage of heap space allocated to field\n data. Default is unbounded.\n\n\n * \"indices.query.bool.max_clause_count\": \"1024\" - Note the use of a string\n rather than a boolean. Specifies the maximum number of clauses allowed\n in a Lucene boolean query. Default is 1,024. Queries with more than the\n permitted number of clauses result in a TooManyClauses error.\n\n\n * \"override_main_response_version\": \"true\" | \"false\" - Note the use of\n a string rather than a boolean. Specifies whether the domain reports its\n version as 7.10 to allow Elasticsearch OSS clients and plugins to continue\n working with it. Default is false when creating a domain and true when\n upgrading a domain.\n\n\nFor more information, see Advanced cluster parameters (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options)." + description: "Key-value pairs to specify advanced configuration options. The following\nkey-value pairs are supported:\n\n * \"rest.action.multi.allow_explicit_index\": \"true\" | \"false\" - Note the\n use of a string rather than a boolean. Specifies whether explicit references\n to indexes are allowed inside the body of HTTP requests. If you want to\n configure access policies for domain sub-resources, such as specific indexes\n and domain APIs, you must disable this property. Default is true.\n\n * \"indices.fielddata.cache.size\": \"80\" - Note the use of a string rather\n than a boolean. Specifies the percentage of heap space allocated to field\n data. Default is unbounded.\n\n * \"indices.query.bool.max_clause_count\": \"1024\" - Note the use of a string\n rather than a boolean. Specifies the maximum number of clauses allowed\n in a Lucene boolean query. Default is 1,024. Queries with more than the\n permitted number of clauses result in a TooManyClauses error.\n\n * \"override_main_response_version\": \"true\" | \"false\" - Note the use of\n a string rather than a boolean. Specifies whether the domain reports its\n version as 7.10 to allow Elasticsearch OSS clients and plugins to continue\n working with it. Default is false when creating a domain and true when\n upgrading a domain.\n\nFor more information, see Advanced cluster parameters (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options)." type: "object" advancedSecurityOptions: description: "Options for fine-grained access control." @@ -127,7 +127,7 @@ spec: type: "string" maintenanceSchedules: items: - description: "This object is deprecated. Use the domain's off-peak window (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html)\nto schedule Auto-Tune optimizations. For migration instructions, see Migrating\nfrom Auto-Tune maintenance windows (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html#off-peak-migrate).\n\n\nThe Auto-Tune maintenance schedule. For more information, see Auto-Tune for\nAmazon OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)." + description: "This object is deprecated. Use the domain's off-peak window (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html)\nto schedule Auto-Tune optimizations. For migration instructions, see Migrating\nfrom Auto-Tune maintenance windows (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html#off-peak-migrate).\n\nThe Auto-Tune maintenance schedule. For more information, see Auto-Tune for\nAmazon OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html)." properties: cronExpressionForRecurrence: type: "string" @@ -251,7 +251,7 @@ spec: type: "string" logPublishingOptions: additionalProperties: - description: "Specifies whether the Amazon OpenSearch Service domain publishes the OpenSearch\napplication and slow logs to Amazon CloudWatch. For more information, see\nMonitoring OpenSearch logs with Amazon CloudWatch Logs (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createdomain-configure-slow-logs.html).\n\n\nAfter you enable log publishing, you still have to enable the collection\nof slow logs using the OpenSearch REST API." + description: "Specifies whether the Amazon OpenSearch Service domain publishes the OpenSearch\napplication and slow logs to Amazon CloudWatch. For more information, see\nMonitoring OpenSearch logs with Amazon CloudWatch Logs (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createdomain-configure-slow-logs.html).\n\nAfter you enable log publishing, you still have to enable the collection\nof slow logs using the OpenSearch REST API." properties: cloudWatchLogsLogGroupARN: description: "ARN of the Cloudwatch log group to publish logs to." @@ -276,7 +276,7 @@ spec: enabled: type: "boolean" offPeakWindow: - description: "A custom 10-hour, low-traffic window during which OpenSearch Service can\nperform mandatory configuration changes on the domain. These actions can\ninclude scheduled service software updates and blue/green Auto-Tune enhancements.\nOpenSearch Service will schedule these actions during the window that you\nspecify.\n\n\nIf you don't specify a window start time, it defaults to 10:00 P.M. local\ntime.\n\n\nFor more information, see Defining off-peak maintenance windows for Amazon\nOpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html)." + description: "A custom 10-hour, low-traffic window during which OpenSearch Service can\nperform mandatory configuration changes on the domain. These actions can\ninclude scheduled service software updates and blue/green Auto-Tune enhancements.\nOpenSearch Service will schedule these actions during the window that you\nspecify.\n\nIf you don't specify a window start time, it defaults to 10:00 P.M. local\ntime.\n\nFor more information, see Defining off-peak maintenance windows for Amazon\nOpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html)." properties: windowStartTime: description: "The desired start time for an off-peak maintenance window (https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_OffPeakWindow.html)." @@ -331,7 +331,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -411,7 +411,7 @@ spec: endpoints: additionalProperties: type: "string" - description: "The key-value pair that exists if the OpenSearch Service domain uses VPC\nendpoints. For example:\n\n\n * IPv4 IP addresses - 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'\n\n\n * Dual stack IP addresses - 'vpcv2':'vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.aos.us-east-1.on.aws'" + description: "The key-value pair that exists if the OpenSearch Service domain uses VPC\nendpoints. For example:\n\n * IPv4 IP addresses - 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'\n\n * Dual stack IP addresses - 'vpcv2':'vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.aos.us-east-1.on.aws'" type: "object" modifyingProperties: description: "Information about the domain properties that are currently being modified." diff --git a/crd-catalog/aws-controllers-k8s/organizations-controller/organizations.services.k8s.aws/v1alpha1/organizationalunits.yaml b/crd-catalog/aws-controllers-k8s/organizations-controller/organizations.services.k8s.aws/v1alpha1/organizationalunits.yaml index a5c6165c9..130324e49 100644 --- a/crd-catalog/aws-controllers-k8s/organizations-controller/organizations.services.k8s.aws/v1alpha1/organizationalunits.yaml +++ b/crd-catalog/aws-controllers-k8s/organizations-controller/organizations.services.k8s.aws/v1alpha1/organizationalunits.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "organizationalunits.organizations.services.k8s.aws" spec: group: "organizations.services.k8s.aws" @@ -27,18 +27,18 @@ spec: metadata: type: "object" spec: - description: "OrganizationalUnitSpec defines the desired state of OrganizationalUnit.\n\n\nContains details about an organizational unit (OU). An OU is a container\nof Amazon Web Services accounts within a root of an organization. Policies\nthat are attached to an OU apply to all accounts contained in that OU and\nin any child OUs." + description: "OrganizationalUnitSpec defines the desired state of OrganizationalUnit.\n\nContains details about an organizational unit (OU). An OU is a container\nof Amazon Web Services accounts within a root of an organization. Policies\nthat are attached to an OU apply to all accounts contained in that OU and\nin any child OUs." properties: name: description: "The friendly name to assign to the new OU." type: "string" parentID: - description: "The unique identifier (ID) of the parent root or OU that you want to create\nthe new OU in.\n\n\nThe regex pattern (http://wikipedia.org/wiki/regex) for a parent ID string\nrequires one of the following:\n\n\n * Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase\n letters or digits.\n\n\n * Organizational unit (OU) - A string that begins with \"ou-\" followed\n by from 4 to 32 lowercase letters or digits (the ID of the root that the\n OU is in). This string is followed by a second \"-\" dash and from 8 to\n 32 additional lowercase letters or digits." + description: "The unique identifier (ID) of the parent root or OU that you want to create\nthe new OU in.\n\nThe regex pattern (http://wikipedia.org/wiki/regex) for a parent ID string\nrequires one of the following:\n\n * Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase\n letters or digits.\n\n * Organizational unit (OU) - A string that begins with \"ou-\" followed\n by from 4 to 32 lowercase letters or digits (the ID of the root that the\n OU is in). This string is followed by a second \"-\" dash and from 8 to\n 32 additional lowercase letters or digits." type: "string" tags: - description: "A list of tags that you want to attach to the newly created OU. For each\ntag in the list, you must specify both a tag key and a value. You can set\nthe value to an empty string, but you can't set it to null. For more information\nabout tagging, see Tagging Organizations resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html)\nin the Organizations User Guide.\n\n\nIf any one of the tags is invalid or if you exceed the allowed number of\ntags for an OU, then the entire request fails and the OU is not created." + description: "A list of tags that you want to attach to the newly created OU. For each\ntag in the list, you must specify both a tag key and a value. You can set\nthe value to an empty string, but you can't set it to null. For more information\nabout tagging, see Tagging Organizations resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html)\nin the Organizations User Guide.\n\nIf any one of the tags is invalid or if you exceed the allowed number of\ntags for an OU, then the entire request fails and the OU is not created." items: - description: "A custom key-value pair associated with a resource within your organization.\n\n\nYou can attach tags to any of the following organization resources.\n\n\n * Amazon Web Services account\n\n\n * Organizational unit (OU)\n\n\n * Organization root\n\n\n * Policy" + description: "A custom key-value pair associated with a resource within your organization.\n\nYou can attach tags to any of the following organization resources.\n\n * Amazon Web Services account\n\n * Organizational unit (OU)\n\n * Organization root\n\n * Policy" properties: key: type: "string" @@ -57,7 +57,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -96,7 +96,7 @@ spec: type: "object" type: "array" id: - description: "The unique identifier (ID) associated with this OU.\n\n\nThe regex pattern (http://wikipedia.org/wiki/regex) for an organizational\nunit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters\nor digits (the ID of the root that contains the OU). This string is followed\nby a second \"-\" dash and from 8 to 32 additional lowercase letters or digits." + description: "The unique identifier (ID) associated with this OU.\n\nThe regex pattern (http://wikipedia.org/wiki/regex) for an organizational\nunit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters\nor digits (the ID of the root that contains the OU). This string is followed\nby a second \"-\" dash and from 8 to 32 additional lowercase letters or digits." type: "string" type: "object" type: "object" diff --git a/crd-catalog/aws-controllers-k8s/pipes-controller/pipes.services.k8s.aws/v1alpha1/pipes.yaml b/crd-catalog/aws-controllers-k8s/pipes-controller/pipes.services.k8s.aws/v1alpha1/pipes.yaml index 60a1269ed..739fb5d35 100644 --- a/crd-catalog/aws-controllers-k8s/pipes-controller/pipes.services.k8s.aws/v1alpha1/pipes.yaml +++ b/crd-catalog/aws-controllers-k8s/pipes-controller/pipes.services.k8s.aws/v1alpha1/pipes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "pipes.pipes.services.k8s.aws" spec: group: "pipes.services.k8s.aws" @@ -49,7 +49,7 @@ spec: metadata: type: "object" spec: - description: "PipeSpec defines the desired state of Pipe.\n\n\nAn object that represents a pipe. Amazon EventBridgePipes connect event sources\nto targets and reduces the need for specialized knowledge and integration\ncode." + description: "PipeSpec defines the desired state of Pipe.\n\nAn object that represents a pipe. Amazon EventBridgePipes connect event sources\nto targets and reduces the need for specialized knowledge and integration\ncode." properties: description: description: "A description of the pipe." @@ -327,7 +327,7 @@ spec: type: "array" environment: items: - description: "The environment variables to send to the container. You can add new environment\nvariables, which are added to the container at launch, or you can override\nthe existing environment variables from the Docker image or the task definition.\n\n\nEnvironment variables cannot start with \"Batch\". This naming convention is\nreserved for variables that Batch sets." + description: "The environment variables to send to the container. You can add new environment\nvariables, which are added to the container at launch, or you can override\nthe existing environment variables from the Docker image or the task definition.\n\nEnvironment variables cannot start with \"Batch\". This naming convention is\nreserved for variables that Batch sets." properties: name: type: "string" @@ -451,7 +451,7 @@ spec: type: "array" environmentFiles: items: - description: "A list of files containing the environment variables to pass to a container.\nYou can specify up to ten environment files. The file must have a .env file\nextension. Each line in an environment file should contain an environment\nvariable in VARIABLE=VALUE format. Lines beginning with # are treated as\ncomments and are ignored. For more information about the environment variable\nfile syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/).\n\n\nIf there are environment variables specified using the environment parameter\nin a container definition, they take precedence over the variables contained\nwithin an environment file. If multiple environment files are specified that\ncontain the same variable, they're processed from the top down. We recommend\nthat you use unique variable names. For more information, see Specifying\nenvironment variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html)\nin the Amazon Elastic Container Service Developer Guide.\n\n\nThis parameter is only supported for tasks hosted on Fargate using the following\nplatform versions:\n\n\n * Linux platform version 1.4.0 or later.\n\n\n * Windows platform version 1.0.0 or later." + description: "A list of files containing the environment variables to pass to a container.\nYou can specify up to ten environment files. The file must have a .env file\nextension. Each line in an environment file should contain an environment\nvariable in VARIABLE=VALUE format. Lines beginning with # are treated as\ncomments and are ignored. For more information about the environment variable\nfile syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/).\n\nIf there are environment variables specified using the environment parameter\nin a container definition, they take precedence over the variables contained\nwithin an environment file. If multiple environment files are specified that\ncontain the same variable, they're processed from the top down. We recommend\nthat you use unique variable names. For more information, see Specifying\nenvironment variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html)\nin the Amazon Elastic Container Service Developer Guide.\n\nThis parameter is only supported for tasks hosted on Fargate using the following\nplatform versions:\n\n * Linux platform version 1.4.0 or later.\n\n * Windows platform version 1.0.0 or later." properties: type_: type: "string" @@ -482,7 +482,7 @@ spec: cpu: type: "string" ephemeralStorage: - description: "The amount of ephemeral storage to allocate for the task. This parameter\nis used to expand the total amount of ephemeral storage available, beyond\nthe default amount, for tasks hosted on Fargate. For more information, see\nFargate task storage (https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html)\nin the Amazon ECS User Guide for Fargate.\n\n\nThis parameter is only supported for tasks hosted on Fargate using Linux\nplatform version 1.4.0 or later. This parameter is not supported for Windows\ncontainers on Fargate." + description: "The amount of ephemeral storage to allocate for the task. This parameter\nis used to expand the total amount of ephemeral storage available, beyond\nthe default amount, for tasks hosted on Fargate. For more information, see\nFargate task storage (https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html)\nin the Amazon ECS User Guide for Fargate.\n\nThis parameter is only supported for tasks hosted on Fargate using Linux\nplatform version 1.4.0 or later. This parameter is not supported for Windows\ncontainers on Fargate." properties: sizeInGiB: format: "int64" @@ -658,7 +658,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/alertmanagerdefinitions.yaml b/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/alertmanagerdefinitions.yaml index b90e0562a..65ed6f44b 100644 --- a/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/alertmanagerdefinitions.yaml +++ b/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/alertmanagerdefinitions.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "alertmanagerdefinitions.prometheusservice.services.k8s.aws" spec: group: "prometheusservice.services.k8s.aws" @@ -39,7 +39,7 @@ spec: description: "The ID of the workspace in which to create the alert manager definition." type: "string" workspaceRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -60,7 +60,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/loggingconfigurations.yaml b/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/loggingconfigurations.yaml index 0a798cedf..f3062205a 100644 --- a/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/loggingconfigurations.yaml +++ b/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/loggingconfigurations.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "loggingconfigurations.prometheusservice.services.k8s.aws" spec: group: "prometheusservice.services.k8s.aws" @@ -43,7 +43,7 @@ spec: description: "The ID of the workspace to vend logs to." type: "string" workspaceRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -64,7 +64,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/rulegroupsnamespaces.yaml b/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/rulegroupsnamespaces.yaml index 1aacf4e67..5f5baacef 100644 --- a/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/rulegroupsnamespaces.yaml +++ b/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/rulegroupsnamespaces.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "rulegroupsnamespaces.prometheusservice.services.k8s.aws" spec: group: "prometheusservice.services.k8s.aws" @@ -49,7 +49,7 @@ spec: description: "The ID of the workspace in which to create the rule group namespace." type: "string" workspaceRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -71,7 +71,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/workspaces.yaml b/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/workspaces.yaml index 46c16879e..a13d3b0d3 100644 --- a/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/workspaces.yaml +++ b/crd-catalog/aws-controllers-k8s/prometheusservice-controller/prometheusservice.services.k8s.aws/v1alpha1/workspaces.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "workspaces.prometheusservice.services.k8s.aws" spec: group: "prometheusservice.services.k8s.aws" @@ -49,7 +49,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbclusterparametergroups.yaml b/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbclusterparametergroups.yaml index 15e26f112..c5c33b3bd 100644 --- a/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbclusterparametergroups.yaml +++ b/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbclusterparametergroups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "dbclusterparametergroups.rds.services.k8s.aws" spec: group: "rds.services.k8s.aws" @@ -27,25 +27,25 @@ spec: metadata: type: "object" spec: - description: "DBClusterParameterGroupSpec defines the desired state of DBClusterParameterGroup.\n\n\nContains the details of an Amazon RDS DB cluster parameter group.\n\n\nThis data type is used as a response element in the DescribeDBClusterParameterGroups\naction." + description: "DBClusterParameterGroupSpec defines the desired state of DBClusterParameterGroup.\n\nContains the details of an Amazon RDS DB cluster parameter group.\n\nThis data type is used as a response element in the DescribeDBClusterParameterGroups\naction." properties: description: description: "The description for the DB cluster parameter group." type: "string" family: - description: "The DB cluster parameter group family name. A DB cluster parameter group\ncan be associated with one and only one DB cluster parameter group family,\nand can be applied only to a DB cluster running a database engine and engine\nversion compatible with that DB cluster parameter group family.\n\n\nAurora MySQL\n\n\nExample: aurora5.6, aurora-mysql5.7, aurora-mysql8.0\n\n\nAurora PostgreSQL\n\n\nExample: aurora-postgresql9.6\n\n\nRDS for MySQL\n\n\nExample: mysql8.0\n\n\nRDS for PostgreSQL\n\n\nExample: postgres12\n\n\nTo list all of the available parameter group families for a DB engine, use\nthe following command:\n\n\naws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\"\n--engine \n\n\nFor example, to list all of the available parameter group families for the\nAurora PostgreSQL DB engine, use the following command:\n\n\naws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\"\n--engine aurora-postgresql\n\n\nThe output contains duplicates.\n\n\nThe following are the valid DB engine values:\n\n\n * aurora (for MySQL 5.6-compatible Aurora)\n\n\n * aurora-mysql (for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora)\n\n\n * aurora-postgresql\n\n\n * mysql\n\n\n * postgres" + description: "The DB cluster parameter group family name. A DB cluster parameter group\ncan be associated with one and only one DB cluster parameter group family,\nand can be applied only to a DB cluster running a database engine and engine\nversion compatible with that DB cluster parameter group family.\n\nAurora MySQL\n\nExample: aurora5.6, aurora-mysql5.7, aurora-mysql8.0\n\nAurora PostgreSQL\n\nExample: aurora-postgresql9.6\n\nRDS for MySQL\n\nExample: mysql8.0\n\nRDS for PostgreSQL\n\nExample: postgres12\n\nTo list all of the available parameter group families for a DB engine, use\nthe following command:\n\naws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\"\n--engine \n\nFor example, to list all of the available parameter group families for the\nAurora PostgreSQL DB engine, use the following command:\n\naws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\"\n--engine aurora-postgresql\n\nThe output contains duplicates.\n\nThe following are the valid DB engine values:\n\n * aurora (for MySQL 5.6-compatible Aurora)\n\n * aurora-mysql (for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora)\n\n * aurora-postgresql\n\n * mysql\n\n * postgres" type: "string" name: - description: "The name of the DB cluster parameter group.\n\n\nConstraints:\n\n\n * Must not match the name of an existing DB cluster parameter group.\n\n\nThis value is stored as a lowercase string." + description: "The name of the DB cluster parameter group.\n\nConstraints:\n\n * Must not match the name of an existing DB cluster parameter group.\n\nThis value is stored as a lowercase string." type: "string" parameterOverrides: additionalProperties: type: "string" type: "object" parameters: - description: "A list of parameters in the DB cluster parameter group to modify.\n\n\nValid Values (for the application method): immediate | pending-reboot\n\n\nYou can use the immediate value with dynamic parameters only. You can use\nthe pending-reboot value for both dynamic and static parameters.\n\n\nWhen the application method is immediate, changes to dynamic parameters are\napplied immediately to the DB clusters associated with the parameter group.\nWhen the application method is pending-reboot, changes to dynamic and static\nparameters are applied after a reboot without failover to the DB clusters\nassociated with the parameter group." + description: "A list of parameters in the DB cluster parameter group to modify.\n\nValid Values (for the application method): immediate | pending-reboot\n\nYou can use the immediate value with dynamic parameters only. You can use\nthe pending-reboot value for both dynamic and static parameters.\n\nWhen the application method is immediate, changes to dynamic parameters are\napplied immediately to the DB clusters associated with the parameter group.\nWhen the application method is pending-reboot, changes to dynamic and static\nparameters are applied after a reboot without failover to the DB clusters\nassociated with the parameter group." items: - description: "This data type is used as a request parameter in the ModifyDBParameterGroup\nand ResetDBParameterGroup actions.\n\n\nThis data type is used as a response element in the DescribeEngineDefaultParameters\nand DescribeDBParameters actions." + description: "This data type is used as a request parameter in the ModifyDBParameterGroup\nand ResetDBParameterGroup actions.\n\nThis data type is used as a response element in the DescribeEngineDefaultParameters\nand DescribeDBParameters actions." properties: allowedValues: type: "string" @@ -76,7 +76,7 @@ spec: tags: description: "Tags to assign to the DB cluster parameter group." items: - description: "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\n\nFor more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide." + description: "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide." properties: key: type: "string" @@ -96,7 +96,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -137,7 +137,7 @@ spec: parameterOverrideStatuses: description: "Provides a list of parameters for the DB cluster parameter group." items: - description: "This data type is used as a request parameter in the ModifyDBParameterGroup\nand ResetDBParameterGroup actions.\n\n\nThis data type is used as a response element in the DescribeEngineDefaultParameters\nand DescribeDBParameters actions." + description: "This data type is used as a request parameter in the ModifyDBParameterGroup\nand ResetDBParameterGroup actions.\n\nThis data type is used as a response element in the DescribeEngineDefaultParameters\nand DescribeDBParameters actions." properties: allowedValues: type: "string" diff --git a/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbclusters.yaml b/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbclusters.yaml index 4f84d89ae..ac49e9a42 100644 --- a/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbclusters.yaml +++ b/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbclusters.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "dbclusters.rds.services.k8s.aws" spec: group: "rds.services.k8s.aws" @@ -27,48 +27,48 @@ spec: metadata: type: "object" spec: - description: "DBClusterSpec defines the desired state of DBCluster.\n\n\nContains the details of an Amazon Aurora DB cluster or Multi-AZ DB cluster.\n\n\nFor an Amazon Aurora DB cluster, this data type is used as a response element\nin the operations CreateDBCluster, DeleteDBCluster, DescribeDBClusters, FailoverDBCluster,\nModifyDBCluster, PromoteReadReplicaDBCluster, RestoreDBClusterFromS3, RestoreDBClusterFromSnapshot,\nRestoreDBClusterToPointInTime, StartDBCluster, and StopDBCluster.\n\n\nFor a Multi-AZ DB cluster, this data type is used as a response element in\nthe operations CreateDBCluster, DeleteDBCluster, DescribeDBClusters, FailoverDBCluster,\nModifyDBCluster, RebootDBCluster, RestoreDBClusterFromSnapshot, and RestoreDBClusterToPointInTime.\n\n\nFor more information on Amazon Aurora DB clusters, see What is Amazon Aurora?\n(https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)\nin the Amazon Aurora User Guide.\n\n\nFor more information on Multi-AZ DB clusters, see Multi-AZ deployments with\ntwo readable standby DB instances (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html)\nin the Amazon RDS User Guide." + description: "DBClusterSpec defines the desired state of DBCluster.\n\nContains the details of an Amazon Aurora DB cluster or Multi-AZ DB cluster.\n\nFor an Amazon Aurora DB cluster, this data type is used as a response element\nin the operations CreateDBCluster, DeleteDBCluster, DescribeDBClusters, FailoverDBCluster,\nModifyDBCluster, PromoteReadReplicaDBCluster, RestoreDBClusterFromS3, RestoreDBClusterFromSnapshot,\nRestoreDBClusterToPointInTime, StartDBCluster, and StopDBCluster.\n\nFor a Multi-AZ DB cluster, this data type is used as a response element in\nthe operations CreateDBCluster, DeleteDBCluster, DescribeDBClusters, FailoverDBCluster,\nModifyDBCluster, RebootDBCluster, RestoreDBClusterFromSnapshot, and RestoreDBClusterToPointInTime.\n\nFor more information on Amazon Aurora DB clusters, see What is Amazon Aurora?\n(https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)\nin the Amazon Aurora User Guide.\n\nFor more information on Multi-AZ DB clusters, see Multi-AZ deployments with\ntwo readable standby DB instances (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html)\nin the Amazon RDS User Guide." properties: allocatedStorage: - description: "The amount of storage in gibibytes (GiB) to allocate to each DB instance\nin the Multi-AZ DB cluster.\n\n\nThis setting is required to create a Multi-AZ DB cluster.\n\n\nValid for: Multi-AZ DB clusters only" + description: "The amount of storage in gibibytes (GiB) to allocate to each DB instance\nin the Multi-AZ DB cluster.\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nValid for: Multi-AZ DB clusters only" format: "int64" type: "integer" autoMinorVersionUpgrade: - description: "A value that indicates whether minor engine upgrades are applied automatically\nto the DB cluster during the maintenance window. By default, minor engine\nupgrades are applied automatically.\n\n\nValid for: Multi-AZ DB clusters only" + description: "A value that indicates whether minor engine upgrades are applied automatically\nto the DB cluster during the maintenance window. By default, minor engine\nupgrades are applied automatically.\n\nValid for: Multi-AZ DB clusters only" type: "boolean" availabilityZones: - description: "A list of Availability Zones (AZs) where DB instances in the DB cluster can\nbe created.\n\n\nFor information on Amazon Web Services Regions and Availability Zones, see\nChoosing the Regions and Availability Zones (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html)\nin the Amazon Aurora User Guide.\n\n\nValid for: Aurora DB clusters only" + description: "A list of Availability Zones (AZs) where DB instances in the DB cluster can\nbe created.\n\nFor information on Amazon Web Services Regions and Availability Zones, see\nChoosing the Regions and Availability Zones (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html)\nin the Amazon Aurora User Guide.\n\nValid for: Aurora DB clusters only" items: type: "string" type: "array" backtrackWindow: - description: "The target backtrack window, in seconds. To disable backtracking, set this\nvalue to 0.\n\n\nDefault: 0\n\n\nConstraints:\n\n\n * If specified, this value must be set to a number from 0 to 259,200 (72\n hours).\n\n\nValid for: Aurora MySQL DB clusters only" + description: "The target backtrack window, in seconds. To disable backtracking, set this\nvalue to 0.\n\nDefault: 0\n\nConstraints:\n\n * If specified, this value must be set to a number from 0 to 259,200 (72\n hours).\n\nValid for: Aurora MySQL DB clusters only" format: "int64" type: "integer" backupRetentionPeriod: - description: "The number of days for which automated backups are retained.\n\n\nDefault: 1\n\n\nConstraints:\n\n\n * Must be a value from 1 to 35\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The number of days for which automated backups are retained.\n\nDefault: 1\n\nConstraints:\n\n * Must be a value from 1 to 35\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" format: "int64" type: "integer" characterSetName: - description: "A value that indicates that the DB cluster should be associated with the\nspecified CharacterSet.\n\n\nValid for: Aurora DB clusters only" + description: "A value that indicates that the DB cluster should be associated with the\nspecified CharacterSet.\n\nValid for: Aurora DB clusters only" type: "string" copyTagsToSnapshot: - description: "A value that indicates whether to copy all tags from the DB cluster to snapshots\nof the DB cluster. The default is not to copy them.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "A value that indicates whether to copy all tags from the DB cluster to snapshots\nof the DB cluster. The default is not to copy them.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "boolean" databaseName: - description: "The name for your database of up to 64 alphanumeric characters. If you do\nnot provide a name, Amazon RDS doesn't create a database in the DB cluster\nyou are creating.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The name for your database of up to 64 alphanumeric characters. If you do\nnot provide a name, Amazon RDS doesn't create a database in the DB cluster\nyou are creating.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" dbClusterIdentifier: - description: "The DB cluster identifier. This parameter is stored as a lowercase string.\n\n\nConstraints:\n\n\n * Must contain from 1 to 63 letters, numbers, or hyphens.\n\n\n * First character must be a letter.\n\n\n * Can't end with a hyphen or contain two consecutive hyphens.\n\n\nExample: my-cluster1\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The DB cluster identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n * Must contain from 1 to 63 letters, numbers, or hyphens.\n\n * First character must be a letter.\n\n * Can't end with a hyphen or contain two consecutive hyphens.\n\nExample: my-cluster1\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" dbClusterInstanceClass: - description: "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster,\nfor example db.m6gd.xlarge. Not all DB instance classes are available in\nall Amazon Web Services Regions, or for all database engines.\n\n\nFor the full list of DB instance classes and availability for your engine,\nsee DB instance class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)\nin the Amazon RDS User Guide.\n\n\nThis setting is required to create a Multi-AZ DB cluster.\n\n\nValid for: Multi-AZ DB clusters only" + description: "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster,\nfor example db.m6gd.xlarge. Not all DB instance classes are available in\nall Amazon Web Services Regions, or for all database engines.\n\nFor the full list of DB instance classes and availability for your engine,\nsee DB instance class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)\nin the Amazon RDS User Guide.\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nValid for: Multi-AZ DB clusters only" type: "string" dbClusterParameterGroupName: - description: "The name of the DB cluster parameter group to associate with this DB cluster.\nIf you do not specify a value, then the default DB cluster parameter group\nfor the specified DB engine and version is used.\n\n\nConstraints:\n\n\n * If supplied, must match the name of an existing DB cluster parameter\n group.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The name of the DB cluster parameter group to associate with this DB cluster.\nIf you do not specify a value, then the default DB cluster parameter group\nfor the specified DB engine and version is used.\n\nConstraints:\n\n * If supplied, must match the name of an existing DB cluster parameter\n group.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" dbClusterParameterGroupRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -80,10 +80,10 @@ spec: type: "object" type: "object" dbSubnetGroupName: - description: "A DB subnet group to associate with this DB cluster.\n\n\nThis setting is required to create a Multi-AZ DB cluster.\n\n\nConstraints: Must match the name of an existing DBSubnetGroup. Must not be\ndefault.\n\n\nExample: mydbsubnetgroup\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "A DB subnet group to associate with this DB cluster.\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nConstraints: Must match the name of an existing DBSubnetGroup. Must not be\ndefault.\n\nExample: mydbsubnetgroup\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" dbSubnetGroupRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -98,55 +98,55 @@ spec: description: "Reserved for future use." type: "string" deletionProtection: - description: "A value that indicates whether the DB cluster has deletion protection enabled.\nThe database can't be deleted when deletion protection is enabled. By default,\ndeletion protection isn't enabled.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "A value that indicates whether the DB cluster has deletion protection enabled.\nThe database can't be deleted when deletion protection is enabled. By default,\ndeletion protection isn't enabled.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "boolean" destinationRegion: description: "DestinationRegion is used for presigning the request to a given region." type: "string" domain: - description: "The Active Directory directory ID to create the DB cluster in.\n\n\nFor Amazon Aurora DB clusters, Amazon RDS can use Kerberos authentication\nto authenticate users that connect to the DB cluster.\n\n\nFor more information, see Kerberos authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html)\nin the Amazon Aurora User Guide.\n\n\nValid for: Aurora DB clusters only" + description: "The Active Directory directory ID to create the DB cluster in.\n\nFor Amazon Aurora DB clusters, Amazon RDS can use Kerberos authentication\nto authenticate users that connect to the DB cluster.\n\nFor more information, see Kerberos authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html)\nin the Amazon Aurora User Guide.\n\nValid for: Aurora DB clusters only" type: "string" domainIAMRoleName: - description: "Specify the name of the IAM role to be used when making API calls to the\nDirectory Service.\n\n\nValid for: Aurora DB clusters only" + description: "Specify the name of the IAM role to be used when making API calls to the\nDirectory Service.\n\nValid for: Aurora DB clusters only" type: "string" enableCloudwatchLogsExports: - description: "The list of log types that need to be enabled for exporting to CloudWatch\nLogs. The values in the list depend on the DB engine being used.\n\n\nRDS for MySQL\n\n\nPossible values are error, general, and slowquery.\n\n\nRDS for PostgreSQL\n\n\nPossible values are postgresql and upgrade.\n\n\nAurora MySQL\n\n\nPossible values are audit, error, general, and slowquery.\n\n\nAurora PostgreSQL\n\n\nPossible value is postgresql.\n\n\nFor more information about exporting CloudWatch Logs for Amazon RDS, see\nPublishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)\nin the Amazon RDS User Guide.\n\n\nFor more information about exporting CloudWatch Logs for Amazon Aurora, see\nPublishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)\nin the Amazon Aurora User Guide.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The list of log types that need to be enabled for exporting to CloudWatch\nLogs. The values in the list depend on the DB engine being used.\n\nRDS for MySQL\n\nPossible values are error, general, and slowquery.\n\nRDS for PostgreSQL\n\nPossible values are postgresql and upgrade.\n\nAurora MySQL\n\nPossible values are audit, error, general, and slowquery.\n\nAurora PostgreSQL\n\nPossible value is postgresql.\n\nFor more information about exporting CloudWatch Logs for Amazon RDS, see\nPublishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)\nin the Amazon RDS User Guide.\n\nFor more information about exporting CloudWatch Logs for Amazon Aurora, see\nPublishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)\nin the Amazon Aurora User Guide.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" items: type: "string" type: "array" enableGlobalWriteForwarding: - description: "A value that indicates whether to enable this DB cluster to forward write\noperations to the primary cluster of an Aurora global database (GlobalCluster).\nBy default, write operations are not allowed on Aurora DB clusters that are\nsecondary clusters in an Aurora global database.\n\n\nYou can set this value only on Aurora DB clusters that are members of an\nAurora global database. With this parameter enabled, a secondary cluster\ncan forward writes to the current primary cluster and the resulting changes\nare replicated back to this cluster. For the primary DB cluster of an Aurora\nglobal database, this value is used immediately if the primary is demoted\nby the FailoverGlobalCluster API operation, but it does nothing until then.\n\n\nValid for: Aurora DB clusters only" + description: "A value that indicates whether to enable this DB cluster to forward write\noperations to the primary cluster of an Aurora global database (GlobalCluster).\nBy default, write operations are not allowed on Aurora DB clusters that are\nsecondary clusters in an Aurora global database.\n\nYou can set this value only on Aurora DB clusters that are members of an\nAurora global database. With this parameter enabled, a secondary cluster\ncan forward writes to the current primary cluster and the resulting changes\nare replicated back to this cluster. For the primary DB cluster of an Aurora\nglobal database, this value is used immediately if the primary is demoted\nby the FailoverGlobalCluster API operation, but it does nothing until then.\n\nValid for: Aurora DB clusters only" type: "boolean" enableHTTPEndpoint: - description: "A value that indicates whether to enable the HTTP endpoint for an Aurora\nServerless v1 DB cluster. By default, the HTTP endpoint is disabled.\n\n\nWhen enabled, the HTTP endpoint provides a connectionless web service API\nfor running SQL queries on the Aurora Serverless v1 DB cluster. You can also\nquery your database from inside the RDS console with the query editor.\n\n\nFor more information, see Using the Data API for Aurora Serverless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)\nin the Amazon Aurora User Guide.\n\n\nValid for: Aurora DB clusters only" + description: "A value that indicates whether to enable the HTTP endpoint for an Aurora\nServerless v1 DB cluster. By default, the HTTP endpoint is disabled.\n\nWhen enabled, the HTTP endpoint provides a connectionless web service API\nfor running SQL queries on the Aurora Serverless v1 DB cluster. You can also\nquery your database from inside the RDS console with the query editor.\n\nFor more information, see Using the Data API for Aurora Serverless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)\nin the Amazon Aurora User Guide.\n\nValid for: Aurora DB clusters only" type: "boolean" enableIAMDatabaseAuthentication: - description: "A value that indicates whether to enable mapping of Amazon Web Services Identity\nand Access Management (IAM) accounts to database accounts. By default, mapping\nisn't enabled.\n\n\nFor more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)\nin the Amazon Aurora User Guide.\n\n\nValid for: Aurora DB clusters only" + description: "A value that indicates whether to enable mapping of Amazon Web Services Identity\nand Access Management (IAM) accounts to database accounts. By default, mapping\nisn't enabled.\n\nFor more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)\nin the Amazon Aurora User Guide.\n\nValid for: Aurora DB clusters only" type: "boolean" enablePerformanceInsights: - description: "A value that indicates whether to turn on Performance Insights for the DB\ncluster.\n\n\nFor more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)\nin the Amazon RDS User Guide.\n\n\nValid for: Multi-AZ DB clusters only" + description: "A value that indicates whether to turn on Performance Insights for the DB\ncluster.\n\nFor more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)\nin the Amazon RDS User Guide.\n\nValid for: Multi-AZ DB clusters only" type: "boolean" engine: - description: "The name of the database engine to be used for this DB cluster.\n\n\nValid Values:\n\n\n * aurora-mysql\n\n\n * aurora-postgresql\n\n\n * mysql\n\n\n * postgres\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The name of the database engine to be used for this DB cluster.\n\nValid Values:\n\n * aurora-mysql\n\n * aurora-postgresql\n\n * mysql\n\n * postgres\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" engineMode: - description: "The DB engine mode of the DB cluster, either provisioned or serverless.\n\n\nThe serverless engine mode only applies for Aurora Serverless v1 DB clusters.\n\n\nLimitations and requirements apply to some DB engine modes. For more information,\nsee the following sections in the Amazon Aurora User Guide:\n\n\n * Limitations of Aurora Serverless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations)\n\n\n * Requirements for Aurora Serverless v2 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html)\n\n\n * Limitations of parallel query (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-parallel-query.html#aurora-mysql-parallel-query-limitations)\n\n\n * Limitations of Aurora global databases (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations)\n\n\nValid for: Aurora DB clusters only" + description: "The DB engine mode of the DB cluster, either provisioned or serverless.\n\nThe serverless engine mode only applies for Aurora Serverless v1 DB clusters.\n\nLimitations and requirements apply to some DB engine modes. For more information,\nsee the following sections in the Amazon Aurora User Guide:\n\n * Limitations of Aurora Serverless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations)\n\n * Requirements for Aurora Serverless v2 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html)\n\n * Limitations of parallel query (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-parallel-query.html#aurora-mysql-parallel-query-limitations)\n\n * Limitations of Aurora global databases (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations)\n\nValid for: Aurora DB clusters only" type: "string" engineVersion: - description: "The version number of the database engine to use.\n\n\nTo list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible)\nand version 3 (MySQL 8.0-compatible), use the following command:\n\n\naws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"\n\n\nYou can supply either 5.7 or 8.0 to use the default engine version for Aurora\nMySQL version 2 or version 3, respectively.\n\n\nTo list all of the available engine versions for Aurora PostgreSQL, use the\nfollowing command:\n\n\naws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"\n\n\nTo list all of the available engine versions for RDS for MySQL, use the following\ncommand:\n\n\naws rds describe-db-engine-versions --engine mysql --query \"DBEngineVersions[].EngineVersion\"\n\n\nTo list all of the available engine versions for RDS for PostgreSQL, use\nthe following command:\n\n\naws rds describe-db-engine-versions --engine postgres --query \"DBEngineVersions[].EngineVersion\"\n\n\nAurora MySQL\n\n\nFor information, see Database engine updates for Amazon Aurora MySQL (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html)\nin the Amazon Aurora User Guide.\n\n\nAurora PostgreSQL\n\n\nFor information, see Amazon Aurora PostgreSQL releases and engine versions\n(https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html)\nin the Amazon Aurora User Guide.\n\n\nMySQL\n\n\nFor information, see Amazon RDS for MySQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt)\nin the Amazon RDS User Guide.\n\n\nPostgreSQL\n\n\nFor information, see Amazon RDS for PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts)\nin the Amazon RDS User Guide.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The version number of the database engine to use.\n\nTo list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible)\nand version 3 (MySQL 8.0-compatible), use the following command:\n\naws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"\n\nYou can supply either 5.7 or 8.0 to use the default engine version for Aurora\nMySQL version 2 or version 3, respectively.\n\nTo list all of the available engine versions for Aurora PostgreSQL, use the\nfollowing command:\n\naws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"\n\nTo list all of the available engine versions for RDS for MySQL, use the following\ncommand:\n\naws rds describe-db-engine-versions --engine mysql --query \"DBEngineVersions[].EngineVersion\"\n\nTo list all of the available engine versions for RDS for PostgreSQL, use\nthe following command:\n\naws rds describe-db-engine-versions --engine postgres --query \"DBEngineVersions[].EngineVersion\"\n\nAurora MySQL\n\nFor information, see Database engine updates for Amazon Aurora MySQL (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html)\nin the Amazon Aurora User Guide.\n\nAurora PostgreSQL\n\nFor information, see Amazon Aurora PostgreSQL releases and engine versions\n(https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html)\nin the Amazon Aurora User Guide.\n\nMySQL\n\nFor information, see Amazon RDS for MySQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt)\nin the Amazon RDS User Guide.\n\nPostgreSQL\n\nFor information, see Amazon RDS for PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts)\nin the Amazon RDS User Guide.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" globalClusterIdentifier: - description: "The global cluster ID of an Aurora cluster that becomes the primary cluster\nin the new global database cluster.\n\n\nValid for: Aurora DB clusters only" + description: "The global cluster ID of an Aurora cluster that becomes the primary cluster\nin the new global database cluster.\n\nValid for: Aurora DB clusters only" type: "string" iops: - description: "The amount of Provisioned IOPS (input/output operations per second) to be\ninitially allocated for each DB instance in the Multi-AZ DB cluster.\n\n\nFor information about valid IOPS values, see Provisioned IOPS storage (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)\nin the Amazon RDS User Guide.\n\n\nThis setting is required to create a Multi-AZ DB cluster.\n\n\nConstraints: Must be a multiple between .5 and 50 of the storage amount for\nthe DB cluster.\n\n\nValid for: Multi-AZ DB clusters only" + description: "The amount of Provisioned IOPS (input/output operations per second) to be\ninitially allocated for each DB instance in the Multi-AZ DB cluster.\n\nFor information about valid IOPS values, see Provisioned IOPS storage (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)\nin the Amazon RDS User Guide.\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nConstraints: Must be a multiple between .5 and 50 of the storage amount for\nthe DB cluster.\n\nValid for: Multi-AZ DB clusters only" format: "int64" type: "integer" kmsKeyID: - description: "The Amazon Web Services KMS key identifier for an encrypted DB cluster.\n\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias\nARN, or alias name for the KMS key. To use a KMS key in a different Amazon\nWeb Services account, specify the key ARN or alias ARN.\n\n\nWhen a KMS key isn't specified in KmsKeyId:\n\n\n * If ReplicationSourceIdentifier identifies an encrypted source, then\n Amazon RDS will use the KMS key used to encrypt the source. Otherwise,\n Amazon RDS will use your default KMS key.\n\n\n * If the StorageEncrypted parameter is enabled and ReplicationSourceIdentifier\n isn't specified, then Amazon RDS will use your default KMS key.\n\n\nThere is a default KMS key for your Amazon Web Services account. Your Amazon\nWeb Services account has a different default KMS key for each Amazon Web\nServices Region.\n\n\nIf you create a read replica of an encrypted DB cluster in another Amazon\nWeb Services Region, you must set KmsKeyId to a KMS key identifier that is\nvalid in the destination Amazon Web Services Region. This KMS key is used\nto encrypt the read replica in that Amazon Web Services Region.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The Amazon Web Services KMS key identifier for an encrypted DB cluster.\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias\nARN, or alias name for the KMS key. To use a KMS key in a different Amazon\nWeb Services account, specify the key ARN or alias ARN.\n\nWhen a KMS key isn't specified in KmsKeyId:\n\n * If ReplicationSourceIdentifier identifies an encrypted source, then\n Amazon RDS will use the KMS key used to encrypt the source. Otherwise,\n Amazon RDS will use your default KMS key.\n\n * If the StorageEncrypted parameter is enabled and ReplicationSourceIdentifier\n isn't specified, then Amazon RDS will use your default KMS key.\n\nThere is a default KMS key for your Amazon Web Services account. Your Amazon\nWeb Services account has a different default KMS key for each Amazon Web\nServices Region.\n\nIf you create a read replica of an encrypted DB cluster in another Amazon\nWeb Services Region, you must set KmsKeyId to a KMS key identifier that is\nvalid in the destination Amazon Web Services Region. This KMS key is used\nto encrypt the read replica in that Amazon Web Services Region.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" kmsKeyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -158,10 +158,10 @@ spec: type: "object" type: "object" manageMasterUserPassword: - description: "A value that indicates whether to manage the master user password with Amazon\nWeb Services Secrets Manager.\n\n\nFor more information, see Password management with Amazon Web Services Secrets\nManager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)\nin the Amazon RDS User Guide and Password management with Amazon Web Services\nSecrets Manager (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html)\nin the Amazon Aurora User Guide.\n\n\nConstraints:\n\n\n * Can't manage the master user password with Amazon Web Services Secrets\n Manager if MasterUserPassword is specified.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "A value that indicates whether to manage the master user password with Amazon\nWeb Services Secrets Manager.\n\nFor more information, see Password management with Amazon Web Services Secrets\nManager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)\nin the Amazon RDS User Guide and Password management with Amazon Web Services\nSecrets Manager (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html)\nin the Amazon Aurora User Guide.\n\nConstraints:\n\n * Can't manage the master user password with Amazon Web Services Secrets\n Manager if MasterUserPassword is specified.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "boolean" masterUserPassword: - description: "The password for the master database user. This password can contain any\nprintable ASCII character except \"/\", \"\"\", or \"@\".\n\n\nConstraints:\n\n\n * Must contain from 8 to 41 characters.\n\n\n * Can't be specified if ManageMasterUserPassword is turned on.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The password for the master database user. This password can contain any\nprintable ASCII character except \"/\", \"\"\", or \"@\".\n\nConstraints:\n\n * Must contain from 8 to 41 characters.\n\n * Can't be specified if ManageMasterUserPassword is turned on.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" properties: key: description: "Key is the key within the secret" @@ -177,10 +177,10 @@ spec: type: "object" x-kubernetes-map-type: "atomic" masterUserSecretKMSKeyID: - description: "The Amazon Web Services KMS key identifier to encrypt a secret that is automatically\ngenerated and managed in Amazon Web Services Secrets Manager.\n\n\nThis setting is valid only if the master user password is managed by RDS\nin Amazon Web Services Secrets Manager for the DB cluster.\n\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias\nARN, or alias name for the KMS key. To use a KMS key in a different Amazon\nWeb Services account, specify the key ARN or alias ARN.\n\n\nIf you don't specify MasterUserSecretKmsKeyId, then the aws/secretsmanager\nKMS key is used to encrypt the secret. If the secret is in a different Amazon\nWeb Services account, then you can't use the aws/secretsmanager KMS key to\nencrypt the secret, and you must use a customer managed KMS key.\n\n\nThere is a default KMS key for your Amazon Web Services account. Your Amazon\nWeb Services account has a different default KMS key for each Amazon Web\nServices Region.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The Amazon Web Services KMS key identifier to encrypt a secret that is automatically\ngenerated and managed in Amazon Web Services Secrets Manager.\n\nThis setting is valid only if the master user password is managed by RDS\nin Amazon Web Services Secrets Manager for the DB cluster.\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias\nARN, or alias name for the KMS key. To use a KMS key in a different Amazon\nWeb Services account, specify the key ARN or alias ARN.\n\nIf you don't specify MasterUserSecretKmsKeyId, then the aws/secretsmanager\nKMS key is used to encrypt the secret. If the secret is in a different Amazon\nWeb Services account, then you can't use the aws/secretsmanager KMS key to\nencrypt the secret, and you must use a customer managed KMS key.\n\nThere is a default KMS key for your Amazon Web Services account. Your Amazon\nWeb Services account has a different default KMS key for each Amazon Web\nServices Region.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" masterUserSecretKMSKeyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -192,56 +192,56 @@ spec: type: "object" type: "object" masterUsername: - description: "The name of the master user for the DB cluster.\n\n\nConstraints:\n\n\n * Must be 1 to 16 letters or numbers.\n\n\n * First character must be a letter.\n\n\n * Can't be a reserved word for the chosen database engine.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The name of the master user for the DB cluster.\n\nConstraints:\n\n * Must be 1 to 16 letters or numbers.\n\n * First character must be a letter.\n\n * Can't be a reserved word for the chosen database engine.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" monitoringInterval: - description: "The interval, in seconds, between points when Enhanced Monitoring metrics\nare collected for the DB cluster. To turn off collecting Enhanced Monitoring\nmetrics, specify 0. The default is 0.\n\n\nIf MonitoringRoleArn is specified, also set MonitoringInterval to a value\nother than 0.\n\n\nValid Values: 0, 1, 5, 10, 15, 30, 60\n\n\nValid for: Multi-AZ DB clusters only" + description: "The interval, in seconds, between points when Enhanced Monitoring metrics\nare collected for the DB cluster. To turn off collecting Enhanced Monitoring\nmetrics, specify 0. The default is 0.\n\nIf MonitoringRoleArn is specified, also set MonitoringInterval to a value\nother than 0.\n\nValid Values: 0, 1, 5, 10, 15, 30, 60\n\nValid for: Multi-AZ DB clusters only" format: "int64" type: "integer" monitoringRoleARN: - description: "The Amazon Resource Name (ARN) for the IAM role that permits RDS to send\nEnhanced Monitoring metrics to Amazon CloudWatch Logs. An example is arn:aws:iam:123456789012:role/emaccess.\nFor information on creating a monitoring role, see Setting up and enabling\nEnhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)\nin the Amazon RDS User Guide.\n\n\nIf MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn\nvalue.\n\n\nValid for: Multi-AZ DB clusters only" + description: "The Amazon Resource Name (ARN) for the IAM role that permits RDS to send\nEnhanced Monitoring metrics to Amazon CloudWatch Logs. An example is arn:aws:iam:123456789012:role/emaccess.\nFor information on creating a monitoring role, see Setting up and enabling\nEnhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)\nin the Amazon RDS User Guide.\n\nIf MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn\nvalue.\n\nValid for: Multi-AZ DB clusters only" type: "string" networkType: - description: "The network type of the DB cluster.\n\n\nValid values:\n\n\n * IPV4\n\n\n * DUAL\n\n\nThe network type is determined by the DBSubnetGroup specified for the DB\ncluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and\nthe IPv6 protocols (DUAL).\n\n\nFor more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html)\nin the Amazon Aurora User Guide.\n\n\nValid for: Aurora DB clusters only" + description: "The network type of the DB cluster.\n\nValid values:\n\n * IPV4\n\n * DUAL\n\nThe network type is determined by the DBSubnetGroup specified for the DB\ncluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and\nthe IPv6 protocols (DUAL).\n\nFor more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html)\nin the Amazon Aurora User Guide.\n\nValid for: Aurora DB clusters only" type: "string" optionGroupName: - description: "A value that indicates that the DB cluster should be associated with the\nspecified option group.\n\n\nDB clusters are associated with a default option group that can't be modified." + description: "A value that indicates that the DB cluster should be associated with the\nspecified option group.\n\nDB clusters are associated with a default option group that can't be modified." type: "string" performanceInsightsKMSKeyID: - description: "The Amazon Web Services KMS key identifier for encryption of Performance\nInsights data.\n\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias\nARN, or alias name for the KMS key.\n\n\nIf you don't specify a value for PerformanceInsightsKMSKeyId, then Amazon\nRDS uses your default KMS key. There is a default KMS key for your Amazon\nWeb Services account. Your Amazon Web Services account has a different default\nKMS key for each Amazon Web Services Region.\n\n\nValid for: Multi-AZ DB clusters only" + description: "The Amazon Web Services KMS key identifier for encryption of Performance\nInsights data.\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias\nARN, or alias name for the KMS key.\n\nIf you don't specify a value for PerformanceInsightsKMSKeyId, then Amazon\nRDS uses your default KMS key. There is a default KMS key for your Amazon\nWeb Services account. Your Amazon Web Services account has a different default\nKMS key for each Amazon Web Services Region.\n\nValid for: Multi-AZ DB clusters only" type: "string" performanceInsightsRetentionPeriod: - description: "The number of days to retain Performance Insights data. The default is 7\ndays. The following values are valid:\n\n\n * 7\n\n\n * month * 31, where month is a number of months from 1-23\n\n\n * 731\n\n\nFor example, the following values are valid:\n\n\n * 93 (3 months * 31)\n\n\n * 341 (11 months * 31)\n\n\n * 589 (19 months * 31)\n\n\n * 731\n\n\nIf you specify a retention period such as 94, which isn't a valid value,\nRDS issues an error.\n\n\nValid for: Multi-AZ DB clusters only" + description: "The number of days to retain Performance Insights data. The default is 7\ndays. The following values are valid:\n\n * 7\n\n * month * 31, where month is a number of months from 1-23\n\n * 731\n\nFor example, the following values are valid:\n\n * 93 (3 months * 31)\n\n * 341 (11 months * 31)\n\n * 589 (19 months * 31)\n\n * 731\n\nIf you specify a retention period such as 94, which isn't a valid value,\nRDS issues an error.\n\nValid for: Multi-AZ DB clusters only" format: "int64" type: "integer" port: - description: "The port number on which the instances in the DB cluster accept connections.\n\n\nRDS for MySQL and Aurora MySQL\n\n\nDefault: 3306\n\n\nValid values: 1150-65535\n\n\nRDS for PostgreSQL and Aurora PostgreSQL\n\n\nDefault: 5432\n\n\nValid values: 1150-65535\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The port number on which the instances in the DB cluster accept connections.\n\nRDS for MySQL and Aurora MySQL\n\nDefault: 3306\n\nValid values: 1150-65535\n\nRDS for PostgreSQL and Aurora PostgreSQL\n\nDefault: 5432\n\nValid values: 1150-65535\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" format: "int64" type: "integer" preSignedURL: - description: "When you are replicating a DB cluster from one Amazon Web Services GovCloud\n(US) Region to another, an URL that contains a Signature Version 4 signed\nrequest for the CreateDBCluster operation to be called in the source Amazon\nWeb Services Region where the DB cluster is replicated from. Specify PreSignedUrl\nonly when you are performing cross-Region replication from an encrypted DB\ncluster.\n\n\nThe presigned URL must be a valid request for the CreateDBCluster API operation\nthat can run in the source Amazon Web Services Region that contains the encrypted\nDB cluster to copy.\n\n\nThe presigned URL request must contain the following parameter values:\n\n\n * KmsKeyId - The KMS key identifier for the KMS key to use to encrypt\n the copy of the DB cluster in the destination Amazon Web Services Region.\n This should refer to the same KMS key for both the CreateDBCluster operation\n that is called in the destination Amazon Web Services Region, and the\n operation contained in the presigned URL.\n\n\n * DestinationRegion - The name of the Amazon Web Services Region that\n Aurora read replica will be created in.\n\n\n * ReplicationSourceIdentifier - The DB cluster identifier for the encrypted\n DB cluster to be copied. This identifier must be in the Amazon Resource\n Name (ARN) format for the source Amazon Web Services Region. For example,\n if you are copying an encrypted DB cluster from the us-west-2 Amazon Web\n Services Region, then your ReplicationSourceIdentifier would look like\n Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.\n\n\nTo learn how to generate a Signature Version 4 signed request, see Authenticating\nRequests: Using Query Parameters (Amazon Web Services Signature Version 4)\n(https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)\nand Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).\n\n\nIf you are using an Amazon Web Services SDK tool or the CLI, you can specify\nSourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl\nmanually. Specifying SourceRegion autogenerates a presigned URL that is a\nvalid request for the operation that can run in the source Amazon Web Services\nRegion.\n\n\nValid for: Aurora DB clusters only" + description: "When you are replicating a DB cluster from one Amazon Web Services GovCloud\n(US) Region to another, an URL that contains a Signature Version 4 signed\nrequest for the CreateDBCluster operation to be called in the source Amazon\nWeb Services Region where the DB cluster is replicated from. Specify PreSignedUrl\nonly when you are performing cross-Region replication from an encrypted DB\ncluster.\n\nThe presigned URL must be a valid request for the CreateDBCluster API operation\nthat can run in the source Amazon Web Services Region that contains the encrypted\nDB cluster to copy.\n\nThe presigned URL request must contain the following parameter values:\n\n * KmsKeyId - The KMS key identifier for the KMS key to use to encrypt\n the copy of the DB cluster in the destination Amazon Web Services Region.\n This should refer to the same KMS key for both the CreateDBCluster operation\n that is called in the destination Amazon Web Services Region, and the\n operation contained in the presigned URL.\n\n * DestinationRegion - The name of the Amazon Web Services Region that\n Aurora read replica will be created in.\n\n * ReplicationSourceIdentifier - The DB cluster identifier for the encrypted\n DB cluster to be copied. This identifier must be in the Amazon Resource\n Name (ARN) format for the source Amazon Web Services Region. For example,\n if you are copying an encrypted DB cluster from the us-west-2 Amazon Web\n Services Region, then your ReplicationSourceIdentifier would look like\n Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.\n\nTo learn how to generate a Signature Version 4 signed request, see Authenticating\nRequests: Using Query Parameters (Amazon Web Services Signature Version 4)\n(https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)\nand Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).\n\nIf you are using an Amazon Web Services SDK tool or the CLI, you can specify\nSourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl\nmanually. Specifying SourceRegion autogenerates a presigned URL that is a\nvalid request for the operation that can run in the source Amazon Web Services\nRegion.\n\nValid for: Aurora DB clusters only" type: "string" preferredBackupWindow: - description: "The daily time range during which automated backups are created if automated\nbackups are enabled using the BackupRetentionPeriod parameter.\n\n\nThe default is a 30-minute window selected at random from an 8-hour block\nof time for each Amazon Web Services Region. To view the time blocks available,\nsee Backup window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow)\nin the Amazon Aurora User Guide.\n\n\nConstraints:\n\n\n * Must be in the format hh24:mi-hh24:mi.\n\n\n * Must be in Universal Coordinated Time (UTC).\n\n\n * Must not conflict with the preferred maintenance window.\n\n\n * Must be at least 30 minutes.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The daily time range during which automated backups are created if automated\nbackups are enabled using the BackupRetentionPeriod parameter.\n\nThe default is a 30-minute window selected at random from an 8-hour block\nof time for each Amazon Web Services Region. To view the time blocks available,\nsee Backup window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow)\nin the Amazon Aurora User Guide.\n\nConstraints:\n\n * Must be in the format hh24:mi-hh24:mi.\n\n * Must be in Universal Coordinated Time (UTC).\n\n * Must not conflict with the preferred maintenance window.\n\n * Must be at least 30 minutes.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" preferredMaintenanceWindow: - description: "The weekly time range during which system maintenance can occur, in Universal\nCoordinated Time (UTC).\n\n\nFormat: ddd:hh24:mi-ddd:hh24:mi\n\n\nThe default is a 30-minute window selected at random from an 8-hour block\nof time for each Amazon Web Services Region, occurring on a random day of\nthe week. To see the time blocks available, see Adjusting the Preferred DB\nCluster Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)\nin the Amazon Aurora User Guide.\n\n\nValid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.\n\n\nConstraints: Minimum 30-minute window.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The weekly time range during which system maintenance can occur, in Universal\nCoordinated Time (UTC).\n\nFormat: ddd:hh24:mi-ddd:hh24:mi\n\nThe default is a 30-minute window selected at random from an 8-hour block\nof time for each Amazon Web Services Region, occurring on a random day of\nthe week. To see the time blocks available, see Adjusting the Preferred DB\nCluster Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)\nin the Amazon Aurora User Guide.\n\nValid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.\n\nConstraints: Minimum 30-minute window.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" publiclyAccessible: - description: "A value that indicates whether the DB cluster is publicly accessible.\n\n\nWhen the DB cluster is publicly accessible, its Domain Name System (DNS)\nendpoint resolves to the private IP address from within the DB cluster's\nvirtual private cloud (VPC). It resolves to the public IP address from outside\nof the DB cluster's VPC. Access to the DB cluster is ultimately controlled\nby the security group it uses. That public access isn't permitted if the\nsecurity group assigned to the DB cluster doesn't permit it.\n\n\nWhen the DB cluster isn't publicly accessible, it is an internal DB cluster\nwith a DNS name that resolves to a private IP address.\n\n\nDefault: The default behavior varies depending on whether DBSubnetGroupName\nis specified.\n\n\nIf DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified,\nthe following applies:\n\n\n * If the default VPC in the target Region doesn’t have an internet gateway\n attached to it, the DB cluster is private.\n\n\n * If the default VPC in the target Region has an internet gateway attached\n to it, the DB cluster is public.\n\n\nIf DBSubnetGroupName is specified, and PubliclyAccessible isn't specified,\nthe following applies:\n\n\n * If the subnets are part of a VPC that doesn’t have an internet gateway\n attached to it, the DB cluster is private.\n\n\n * If the subnets are part of a VPC that has an internet gateway attached\n to it, the DB cluster is public.\n\n\nValid for: Multi-AZ DB clusters only" + description: "A value that indicates whether the DB cluster is publicly accessible.\n\nWhen the DB cluster is publicly accessible, its Domain Name System (DNS)\nendpoint resolves to the private IP address from within the DB cluster's\nvirtual private cloud (VPC). It resolves to the public IP address from outside\nof the DB cluster's VPC. Access to the DB cluster is ultimately controlled\nby the security group it uses. That public access isn't permitted if the\nsecurity group assigned to the DB cluster doesn't permit it.\n\nWhen the DB cluster isn't publicly accessible, it is an internal DB cluster\nwith a DNS name that resolves to a private IP address.\n\nDefault: The default behavior varies depending on whether DBSubnetGroupName\nis specified.\n\nIf DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified,\nthe following applies:\n\n * If the default VPC in the target Region doesn’t have an internet gateway\n attached to it, the DB cluster is private.\n\n * If the default VPC in the target Region has an internet gateway attached\n to it, the DB cluster is public.\n\nIf DBSubnetGroupName is specified, and PubliclyAccessible isn't specified,\nthe following applies:\n\n * If the subnets are part of a VPC that doesn’t have an internet gateway\n attached to it, the DB cluster is private.\n\n * If the subnets are part of a VPC that has an internet gateway attached\n to it, the DB cluster is public.\n\nValid for: Multi-AZ DB clusters only" type: "boolean" replicationSourceIdentifier: - description: "The Amazon Resource Name (ARN) of the source DB instance or DB cluster if\nthis DB cluster is created as a read replica.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The Amazon Resource Name (ARN) of the source DB instance or DB cluster if\nthis DB cluster is created as a read replica.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" restoreToTime: - description: "The date and time to restore the DB cluster to.\n\n\nValid Values: Value must be a time in Universal Coordinated Time (UTC) format\n\n\nConstraints:\n\n\n * Must be before the latest restorable time for the DB instance\n\n\n * Must be specified if UseLatestRestorableTime parameter isn't provided\n\n\n * Can't be specified if the UseLatestRestorableTime parameter is enabled\n\n\n * Can't be specified if the RestoreType parameter is copy-on-write\n\n\nExample: 2015-03-07T23:45:00Z\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The date and time to restore the DB cluster to.\n\nValid Values: Value must be a time in Universal Coordinated Time (UTC) format\n\nConstraints:\n\n * Must be before the latest restorable time for the DB instance\n\n * Must be specified if UseLatestRestorableTime parameter isn't provided\n\n * Can't be specified if the UseLatestRestorableTime parameter is enabled\n\n * Can't be specified if the RestoreType parameter is copy-on-write\n\nExample: 2015-03-07T23:45:00Z\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" format: "date-time" type: "string" restoreType: - description: "The type of restore to be performed. You can specify one of the following\nvalues:\n\n\n * full-copy - The new DB cluster is restored as a full copy of the source\n DB cluster.\n\n\n * copy-on-write - The new DB cluster is restored as a clone of the source\n DB cluster.\n\n\nConstraints: You can't specify copy-on-write if the engine version of the\nsource DB cluster is earlier than 1.11.\n\n\nIf you don't specify a RestoreType value, then the new DB cluster is restored\nas a full copy of the source DB cluster.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The type of restore to be performed. You can specify one of the following\nvalues:\n\n * full-copy - The new DB cluster is restored as a full copy of the source\n DB cluster.\n\n * copy-on-write - The new DB cluster is restored as a clone of the source\n DB cluster.\n\nConstraints: You can't specify copy-on-write if the engine version of the\nsource DB cluster is earlier than 1.11.\n\nIf you don't specify a RestoreType value, then the new DB cluster is restored\nas a full copy of the source DB cluster.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" scalingConfiguration: - description: "For DB clusters in serverless DB engine mode, the scaling properties of the\nDB cluster.\n\n\nValid for: Aurora DB clusters only" + description: "For DB clusters in serverless DB engine mode, the scaling properties of the\nDB cluster.\n\nValid for: Aurora DB clusters only" properties: autoPause: type: "boolean" @@ -261,7 +261,7 @@ spec: type: "string" type: "object" serverlessV2ScalingConfiguration: - description: "Contains the scaling configuration of an Aurora Serverless v2 DB cluster.\n\n\nFor more information, see Using Amazon Aurora Serverless v2 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html)\nin the Amazon Aurora User Guide." + description: "Contains the scaling configuration of an Aurora Serverless v2 DB cluster.\n\nFor more information, see Using Amazon Aurora Serverless v2 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html)\nin the Amazon Aurora User Guide." properties: maxCapacity: type: "number" @@ -269,24 +269,24 @@ spec: type: "number" type: "object" snapshotIdentifier: - description: "The identifier for the DB snapshot or DB cluster snapshot to restore from.\n\n\nYou can use either the name or the Amazon Resource Name (ARN) to specify\na DB cluster snapshot. However, you can use only the ARN to specify a DB\nsnapshot.\n\n\nConstraints:\n\n\n * Must match the identifier of an existing Snapshot.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The identifier for the DB snapshot or DB cluster snapshot to restore from.\n\nYou can use either the name or the Amazon Resource Name (ARN) to specify\na DB cluster snapshot. However, you can use only the ARN to specify a DB\nsnapshot.\n\nConstraints:\n\n * Must match the identifier of an existing Snapshot.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" sourceDBClusterIdentifier: - description: "The identifier of the source DB cluster from which to restore.\n\n\nConstraints:\n\n\n * Must match the identifier of an existing DBCluster.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "The identifier of the source DB cluster from which to restore.\n\nConstraints:\n\n * Must match the identifier of an existing DBCluster.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "string" sourceRegion: description: "SourceRegion is the source region where the resource exists. This is not\nsent over the wire and is only used for presigning. This value should always\nhave the same region as the source ARN." type: "string" storageEncrypted: - description: "A value that indicates whether the DB cluster is encrypted.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "A value that indicates whether the DB cluster is encrypted.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "boolean" storageType: - description: "Specifies the storage type to be associated with the DB cluster.\n\n\nThis setting is required to create a Multi-AZ DB cluster.\n\n\nValid values: io1\n\n\nWhen specified, a value for the Iops parameter is required.\n\n\nDefault: io1\n\n\nValid for: Multi-AZ DB clusters only" + description: "Specifies the storage type to be associated with the DB cluster.\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nValid values: io1\n\nWhen specified, a value for the Iops parameter is required.\n\nDefault: io1\n\nValid for: Multi-AZ DB clusters only" type: "string" tags: - description: "Tags to assign to the DB cluster.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "Tags to assign to the DB cluster.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" items: - description: "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\n\nFor more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide." + description: "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide." properties: key: type: "string" @@ -295,16 +295,16 @@ spec: type: "object" type: "array" useLatestRestorableTime: - description: "A value that indicates whether to restore the DB cluster to the latest restorable\nbackup time. By default, the DB cluster isn't restored to the latest restorable\nbackup time.\n\n\nConstraints: Can't be specified if RestoreToTime parameter is provided.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "A value that indicates whether to restore the DB cluster to the latest restorable\nbackup time. By default, the DB cluster isn't restored to the latest restorable\nbackup time.\n\nConstraints: Can't be specified if RestoreToTime parameter is provided.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" type: "boolean" vpcSecurityGroupIDs: - description: "A list of EC2 VPC security groups to associate with this DB cluster.\n\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" + description: "A list of EC2 VPC security groups to associate with this DB cluster.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters" items: type: "string" type: "array" vpcSecurityGroupRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -327,7 +327,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -340,7 +340,7 @@ spec: - "region" type: "object" activityStreamKMSKeyID: - description: "The Amazon Web Services KMS key identifier used for encrypting messages in\nthe database activity stream.\n\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias\nARN, or alias name for the KMS key." + description: "The Amazon Web Services KMS key identifier used for encrypting messages in\nthe database activity stream.\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias\nARN, or alias name for the KMS key." type: "string" activityStreamKinesisStreamName: description: "The name of the Amazon Kinesis data stream used for the database activity\nstream." @@ -373,7 +373,7 @@ spec: format: "int64" type: "integer" capacity: - description: "The current capacity of an Aurora Serverless v1 DB cluster. The capacity\nis 0 (zero) when the cluster is paused.\n\n\nFor more information about Aurora Serverless v1, see Using Amazon Aurora\nServerless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)\nin the Amazon Aurora User Guide." + description: "The current capacity of an Aurora Serverless v1 DB cluster. The capacity\nis 0 (zero) when the cluster is paused.\n\nFor more information about Aurora Serverless v1, see Using Amazon Aurora\nServerless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)\nin the Amazon Aurora User Guide." format: "int64" type: "integer" cloneGroupID: @@ -477,7 +477,7 @@ spec: format: "date-time" type: "string" enabledCloudwatchLogsExports: - description: "A list of log types that this DB cluster is configured to export to CloudWatch\nLogs.\n\n\nLog types vary by DB engine. For information about the log types for each\nDB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html)\nin the Amazon Aurora User Guide." + description: "A list of log types that this DB cluster is configured to export to CloudWatch\nLogs.\n\nLog types vary by DB engine. For information about the log types for each\nDB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html)\nin the Amazon Aurora User Guide." items: type: "string" type: "array" @@ -494,7 +494,7 @@ spec: description: "Specifies the ID that Amazon Route 53 assigns when you create a hosted zone." type: "string" httpEndpointEnabled: - description: "A value that indicates whether the HTTP endpoint for an Aurora Serverless\nv1 DB cluster is enabled.\n\n\nWhen enabled, the HTTP endpoint provides a connectionless web service API\nfor running SQL queries on the Aurora Serverless v1 DB cluster. You can also\nquery your database from inside the RDS console with the query editor.\n\n\nFor more information, see Using the Data API for Aurora Serverless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)\nin the Amazon Aurora User Guide." + description: "A value that indicates whether the HTTP endpoint for an Aurora Serverless\nv1 DB cluster is enabled.\n\nWhen enabled, the HTTP endpoint provides a connectionless web service API\nfor running SQL queries on the Aurora Serverless v1 DB cluster. You can also\nquery your database from inside the RDS console with the query editor.\n\nFor more information, see Using the Data API for Aurora Serverless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)\nin the Amazon Aurora User Guide." type: "boolean" iamDatabaseAuthenticationEnabled: description: "A value that indicates whether the mapping of Amazon Web Services Identity\nand Access Management (IAM) accounts to database accounts is enabled." @@ -504,7 +504,7 @@ spec: format: "date-time" type: "string" masterUserSecret: - description: "Contains the secret managed by RDS in Amazon Web Services Secrets Manager\nfor the master user password.\n\n\nFor more information, see Password management with Amazon Web Services Secrets\nManager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)\nin the Amazon RDS User Guide and Password management with Amazon Web Services\nSecrets Manager (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html)\nin the Amazon Aurora User Guide." + description: "Contains the secret managed by RDS in Amazon Web Services Secrets Manager\nfor the master user password.\n\nFor more information, see Password management with Amazon Web Services Secrets\nManager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)\nin the Amazon RDS User Guide and Password management with Amazon Web Services\nSecrets Manager (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html)\nin the Amazon Aurora User Guide." properties: kmsKeyID: type: "string" @@ -553,7 +553,7 @@ spec: description: "Specifies the progress of the operation as a percentage." type: "string" performanceInsightsEnabled: - description: "True if Performance Insights is enabled for the DB cluster, and otherwise\nfalse.\n\n\nThis setting is only for non-Aurora Multi-AZ DB clusters." + description: "True if Performance Insights is enabled for the DB cluster, and otherwise\nfalse.\n\nThis setting is only for non-Aurora Multi-AZ DB clusters." type: "boolean" readReplicaIdentifiers: description: "Contains one or more identifiers of the read replicas associated with this\nDB cluster." @@ -561,14 +561,14 @@ spec: type: "string" type: "array" readerEndpoint: - description: "The reader endpoint for the DB cluster. The reader endpoint for a DB cluster\nload-balances connections across the Aurora Replicas that are available in\na DB cluster. As clients request new connections to the reader endpoint,\nAurora distributes the connection requests among the Aurora Replicas in the\nDB cluster. This functionality can help balance your read workload across\nmultiple Aurora Replicas in your DB cluster.\n\n\nIf a failover occurs, and the Aurora Replica that you are connected to is\npromoted to be the primary instance, your connection is dropped. To continue\nsending your read workload to other Aurora Replicas in the cluster, you can\nthen reconnect to the reader endpoint." + description: "The reader endpoint for the DB cluster. The reader endpoint for a DB cluster\nload-balances connections across the Aurora Replicas that are available in\na DB cluster. As clients request new connections to the reader endpoint,\nAurora distributes the connection requests among the Aurora Replicas in the\nDB cluster. This functionality can help balance your read workload across\nmultiple Aurora Replicas in your DB cluster.\n\nIf a failover occurs, and the Aurora Replica that you are connected to is\npromoted to be the primary instance, your connection is dropped. To continue\nsending your read workload to other Aurora Replicas in the cluster, you can\nthen reconnect to the reader endpoint." type: "string" status: description: "Specifies the current state of this DB cluster." type: "string" tagList: items: - description: "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\n\nFor more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide." + description: "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide." properties: key: type: "string" diff --git a/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbinstances.yaml b/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbinstances.yaml index fe84d6e1e..505fba123 100644 --- a/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbinstances.yaml +++ b/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbinstances.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "dbinstances.rds.services.k8s.aws" spec: group: "rds.services.k8s.aws" @@ -31,57 +31,57 @@ spec: metadata: type: "object" spec: - description: "DBInstanceSpec defines the desired state of DBInstance.\n\n\nContains the details of an Amazon RDS DB instance.\n\n\nThis data type is used as a response element in the operations CreateDBInstance,\nCreateDBInstanceReadReplica, DeleteDBInstance, DescribeDBInstances, ModifyDBInstance,\nPromoteReadReplica, RebootDBInstance, RestoreDBInstanceFromDBSnapshot, RestoreDBInstanceFromS3,\nRestoreDBInstanceToPointInTime, StartDBInstance, and StopDBInstance." + description: "DBInstanceSpec defines the desired state of DBInstance.\n\nContains the details of an Amazon RDS DB instance.\n\nThis data type is used as a response element in the operations CreateDBInstance,\nCreateDBInstanceReadReplica, DeleteDBInstance, DescribeDBInstances, ModifyDBInstance,\nPromoteReadReplica, RebootDBInstance, RestoreDBInstanceFromDBSnapshot, RestoreDBInstanceFromS3,\nRestoreDBInstanceToPointInTime, StartDBInstance, and StopDBInstance." properties: allocatedStorage: - description: "The amount of storage in gibibytes (GiB) to allocate for the DB instance.\n\n\nType: Integer\n\n\nAmazon Aurora\n\n\nNot applicable. Aurora cluster volumes automatically grow as the amount of\ndata in your database increases, though you are only charged for the space\nthat you use in an Aurora cluster volume.\n\n\nAmazon RDS Custom\n\n\nConstraints to the amount of storage for each storage type are the following:\n\n\n * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 40\n to 65536 for RDS Custom for Oracle, 16384 for RDS Custom for SQL Server.\n\n\n * Provisioned IOPS storage (io1): Must be an integer from 40 to 65536\n for RDS Custom for Oracle, 16384 for RDS Custom for SQL Server.\n\n\nMySQL\n\n\nConstraints to the amount of storage for each storage type are the following:\n\n\n * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20\n to 65536.\n\n\n * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n\n\n * Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n\nMariaDB\n\n\nConstraints to the amount of storage for each storage type are the following:\n\n\n * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20\n to 65536.\n\n\n * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n\n\n * Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n\nPostgreSQL\n\n\nConstraints to the amount of storage for each storage type are the following:\n\n\n * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20\n to 65536.\n\n\n * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n\n\n * Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n\nOracle\n\n\nConstraints to the amount of storage for each storage type are the following:\n\n\n * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20\n to 65536.\n\n\n * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n\n\n * Magnetic storage (standard): Must be an integer from 10 to 3072.\n\n\nSQL Server\n\n\nConstraints to the amount of storage for each storage type are the following:\n\n\n * General Purpose (SSD) storage (gp2, gp3): Enterprise and Standard editions:\n Must be an integer from 20 to 16384. Web and Express editions: Must be\n an integer from 20 to 16384.\n\n\n * Provisioned IOPS storage (io1): Enterprise and Standard editions: Must\n be an integer from 100 to 16384. Web and Express editions: Must be an\n integer from 100 to 16384.\n\n\n * Magnetic storage (standard): Enterprise and Standard editions: Must\n be an integer from 20 to 1024. Web and Express editions: Must be an integer\n from 20 to 1024." + description: "The amount of storage in gibibytes (GiB) to allocate for the DB instance.\n\nType: Integer\n\nAmazon Aurora\n\nNot applicable. Aurora cluster volumes automatically grow as the amount of\ndata in your database increases, though you are only charged for the space\nthat you use in an Aurora cluster volume.\n\nAmazon RDS Custom\n\nConstraints to the amount of storage for each storage type are the following:\n\n * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 40\n to 65536 for RDS Custom for Oracle, 16384 for RDS Custom for SQL Server.\n\n * Provisioned IOPS storage (io1): Must be an integer from 40 to 65536\n for RDS Custom for Oracle, 16384 for RDS Custom for SQL Server.\n\nMySQL\n\nConstraints to the amount of storage for each storage type are the following:\n\n * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20\n to 65536.\n\n * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n\n * Magnetic storage (standard): Must be an integer from 5 to 3072.\n\nMariaDB\n\nConstraints to the amount of storage for each storage type are the following:\n\n * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20\n to 65536.\n\n * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n\n * Magnetic storage (standard): Must be an integer from 5 to 3072.\n\nPostgreSQL\n\nConstraints to the amount of storage for each storage type are the following:\n\n * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20\n to 65536.\n\n * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n\n * Magnetic storage (standard): Must be an integer from 5 to 3072.\n\nOracle\n\nConstraints to the amount of storage for each storage type are the following:\n\n * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20\n to 65536.\n\n * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n\n * Magnetic storage (standard): Must be an integer from 10 to 3072.\n\nSQL Server\n\nConstraints to the amount of storage for each storage type are the following:\n\n * General Purpose (SSD) storage (gp2, gp3): Enterprise and Standard editions:\n Must be an integer from 20 to 16384. Web and Express editions: Must be\n an integer from 20 to 16384.\n\n * Provisioned IOPS storage (io1): Enterprise and Standard editions: Must\n be an integer from 100 to 16384. Web and Express editions: Must be an\n integer from 100 to 16384.\n\n * Magnetic storage (standard): Enterprise and Standard editions: Must\n be an integer from 20 to 1024. Web and Express editions: Must be an integer\n from 20 to 1024." format: "int64" type: "integer" autoMinorVersionUpgrade: - description: "A value that indicates whether minor engine upgrades are applied automatically\nto the DB instance during the maintenance window. By default, minor engine\nupgrades are applied automatically.\n\n\nIf you create an RDS Custom DB instance, you must set AutoMinorVersionUpgrade\nto false." + description: "A value that indicates whether minor engine upgrades are applied automatically\nto the DB instance during the maintenance window. By default, minor engine\nupgrades are applied automatically.\n\nIf you create an RDS Custom DB instance, you must set AutoMinorVersionUpgrade\nto false." type: "boolean" availabilityZone: - description: "The Availability Zone (AZ) where the database will be created. For information\non Amazon Web Services Regions and Availability Zones, see Regions and Availability\nZones (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).\n\n\nAmazon Aurora\n\n\nEach Aurora DB cluster hosts copies of its storage in three separate Availability\nZones. Specify one of these Availability Zones. Aurora automatically chooses\nan appropriate Availability Zone if you don't specify one.\n\n\nDefault: A random, system-chosen Availability Zone in the endpoint's Amazon\nWeb Services Region.\n\n\nExample: us-east-1d\n\n\nConstraint: The AvailabilityZone parameter can't be specified if the DB instance\nis a Multi-AZ deployment. The specified Availability Zone must be in the\nsame Amazon Web Services Region as the current endpoint." + description: "The Availability Zone (AZ) where the database will be created. For information\non Amazon Web Services Regions and Availability Zones, see Regions and Availability\nZones (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).\n\nAmazon Aurora\n\nEach Aurora DB cluster hosts copies of its storage in three separate Availability\nZones. Specify one of these Availability Zones. Aurora automatically chooses\nan appropriate Availability Zone if you don't specify one.\n\nDefault: A random, system-chosen Availability Zone in the endpoint's Amazon\nWeb Services Region.\n\nExample: us-east-1d\n\nConstraint: The AvailabilityZone parameter can't be specified if the DB instance\nis a Multi-AZ deployment. The specified Availability Zone must be in the\nsame Amazon Web Services Region as the current endpoint." type: "string" backupRetentionPeriod: - description: "The number of days for which automated backups are retained. Setting this\nparameter to a positive number enables backups. Setting this parameter to\n0 disables automated backups.\n\n\nAmazon Aurora\n\n\nNot applicable. The retention period for automated backups is managed by\nthe DB cluster.\n\n\nDefault: 1\n\n\nConstraints:\n\n\n * Must be a value from 0 to 35\n\n\n * Can't be set to 0 if the DB instance is a source to read replicas\n\n\n * Can't be set to 0 for an RDS Custom for Oracle DB instance" + description: "The number of days for which automated backups are retained. Setting this\nparameter to a positive number enables backups. Setting this parameter to\n0 disables automated backups.\n\nAmazon Aurora\n\nNot applicable. The retention period for automated backups is managed by\nthe DB cluster.\n\nDefault: 1\n\nConstraints:\n\n * Must be a value from 0 to 35\n\n * Can't be set to 0 if the DB instance is a source to read replicas\n\n * Can't be set to 0 for an RDS Custom for Oracle DB instance" format: "int64" type: "integer" backupTarget: - description: "Specifies where automated backups and manual snapshots are stored.\n\n\nPossible values are outposts (Amazon Web Services Outposts) and region (Amazon\nWeb Services Region). The default is region.\n\n\nFor more information, see Working with Amazon RDS on Amazon Web Services\nOutposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)\nin the Amazon RDS User Guide." + description: "Specifies where automated backups and manual snapshots are stored.\n\nPossible values are outposts (Amazon Web Services Outposts) and region (Amazon\nWeb Services Region). The default is region.\n\nFor more information, see Working with Amazon RDS on Amazon Web Services\nOutposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)\nin the Amazon RDS User Guide." type: "string" caCertificateIdentifier: - description: "Specifies the CA certificate identifier to use for the DB instance’s server\ncertificate.\n\n\nThis setting doesn't apply to RDS Custom.\n\n\nFor more information, see Using SSL/TLS to encrypt a connection to a DB instance\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)\nin the Amazon RDS User Guide and Using SSL/TLS to encrypt a connection to\na DB cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html)\nin the Amazon Aurora User Guide." + description: "Specifies the CA certificate identifier to use for the DB instance’s server\ncertificate.\n\nThis setting doesn't apply to RDS Custom.\n\nFor more information, see Using SSL/TLS to encrypt a connection to a DB instance\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)\nin the Amazon RDS User Guide and Using SSL/TLS to encrypt a connection to\na DB cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html)\nin the Amazon Aurora User Guide." type: "string" characterSetName: - description: "For supported engines, this value indicates that the DB instance should be\nassociated with the specified CharacterSet.\n\n\nThis setting doesn't apply to RDS Custom. However, if you need to change\nthe character set, you can change it on the database itself.\n\n\nAmazon Aurora\n\n\nNot applicable. The character set is managed by the DB cluster. For more\ninformation, see CreateDBCluster." + description: "For supported engines, this value indicates that the DB instance should be\nassociated with the specified CharacterSet.\n\nThis setting doesn't apply to RDS Custom. However, if you need to change\nthe character set, you can change it on the database itself.\n\nAmazon Aurora\n\nNot applicable. The character set is managed by the DB cluster. For more\ninformation, see CreateDBCluster." type: "string" copyTagsToSnapshot: - description: "A value that indicates whether to copy tags from the DB instance to snapshots\nof the DB instance. By default, tags are not copied.\n\n\nAmazon Aurora\n\n\nNot applicable. Copying tags to snapshots is managed by the DB cluster. Setting\nthis value for an Aurora DB instance has no effect on the DB cluster setting." + description: "A value that indicates whether to copy tags from the DB instance to snapshots\nof the DB instance. By default, tags are not copied.\n\nAmazon Aurora\n\nNot applicable. Copying tags to snapshots is managed by the DB cluster. Setting\nthis value for an Aurora DB instance has no effect on the DB cluster setting." type: "boolean" customIAMInstanceProfile: - description: "The instance profile associated with the underlying Amazon EC2 instance of\nan RDS Custom DB instance. The instance profile must meet the following requirements:\n\n\n * The profile must exist in your account.\n\n\n * The profile must have an IAM role that Amazon EC2 has permissions to\n assume.\n\n\n * The instance profile name and the associated IAM role name must start\n with the prefix AWSRDSCustom.\n\n\nFor the list of permissions required for the IAM role, see Configure IAM\nand your VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc)\nin the Amazon RDS User Guide.\n\n\nThis setting is required for RDS Custom." + description: "The instance profile associated with the underlying Amazon EC2 instance of\nan RDS Custom DB instance. The instance profile must meet the following requirements:\n\n * The profile must exist in your account.\n\n * The profile must have an IAM role that Amazon EC2 has permissions to\n assume.\n\n * The instance profile name and the associated IAM role name must start\n with the prefix AWSRDSCustom.\n\nFor the list of permissions required for the IAM role, see Configure IAM\nand your VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc)\nin the Amazon RDS User Guide.\n\nThis setting is required for RDS Custom." type: "string" dbClusterIdentifier: - description: "The identifier of the DB cluster that the instance will belong to.\n\n\nThis setting doesn't apply to RDS Custom." + description: "The identifier of the DB cluster that the instance will belong to.\n\nThis setting doesn't apply to RDS Custom." type: "string" dbClusterSnapshotIdentifier: - description: "The identifier for the RDS for MySQL Multi-AZ DB cluster snapshot to restore\nfrom.\n\n\nFor more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html)\nin the Amazon RDS User Guide.\n\n\nConstraints:\n\n\n * Must match the identifier of an existing Multi-AZ DB cluster snapshot.\n\n\n * Can't be specified when DBSnapshotIdentifier is specified.\n\n\n * Must be specified when DBSnapshotIdentifier isn't specified.\n\n\n * If you are restoring from a shared manual Multi-AZ DB cluster snapshot,\n the DBClusterSnapshotIdentifier must be the ARN of the shared snapshot.\n\n\n * Can't be the identifier of an Aurora DB cluster snapshot.\n\n\n * Can't be the identifier of an RDS for PostgreSQL Multi-AZ DB cluster\n snapshot." + description: "The identifier for the RDS for MySQL Multi-AZ DB cluster snapshot to restore\nfrom.\n\nFor more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html)\nin the Amazon RDS User Guide.\n\nConstraints:\n\n * Must match the identifier of an existing Multi-AZ DB cluster snapshot.\n\n * Can't be specified when DBSnapshotIdentifier is specified.\n\n * Must be specified when DBSnapshotIdentifier isn't specified.\n\n * If you are restoring from a shared manual Multi-AZ DB cluster snapshot,\n the DBClusterSnapshotIdentifier must be the ARN of the shared snapshot.\n\n * Can't be the identifier of an Aurora DB cluster snapshot.\n\n * Can't be the identifier of an RDS for PostgreSQL Multi-AZ DB cluster\n snapshot." type: "string" dbInstanceClass: description: "The compute and memory capacity of the DB instance, for example db.m5.large.\nNot all DB instance classes are available in all Amazon Web Services Regions,\nor for all database engines. For the full list of DB instance classes, and\navailability for your engine, see DB instance classes (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)\nin the Amazon RDS User Guide or Aurora DB instance classes (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html)\nin the Amazon Aurora User Guide." type: "string" dbInstanceIdentifier: - description: "The DB instance identifier. This parameter is stored as a lowercase string.\n\n\nConstraints:\n\n\n * Must contain from 1 to 63 letters, numbers, or hyphens.\n\n\n * First character must be a letter.\n\n\n * Can't end with a hyphen or contain two consecutive hyphens.\n\n\nExample: mydbinstance" + description: "The DB instance identifier. This parameter is stored as a lowercase string.\n\nConstraints:\n\n * Must contain from 1 to 63 letters, numbers, or hyphens.\n\n * First character must be a letter.\n\n * Can't end with a hyphen or contain two consecutive hyphens.\n\nExample: mydbinstance" type: "string" dbName: - description: "The meaning of this parameter differs according to the database engine you\nuse.\n\n\nMySQL\n\n\nThe name of the database to create when the DB instance is created. If this\nparameter isn't specified, no database is created in the DB instance.\n\n\nConstraints:\n\n\n * Must contain 1 to 64 letters or numbers.\n\n\n * Must begin with a letter. Subsequent characters can be letters, underscores,\n or digits (0-9).\n\n\n * Can't be a word reserved by the specified database engine\n\n\nMariaDB\n\n\nThe name of the database to create when the DB instance is created. If this\nparameter isn't specified, no database is created in the DB instance.\n\n\nConstraints:\n\n\n * Must contain 1 to 64 letters or numbers.\n\n\n * Must begin with a letter. Subsequent characters can be letters, underscores,\n or digits (0-9).\n\n\n * Can't be a word reserved by the specified database engine\n\n\nPostgreSQL\n\n\nThe name of the database to create when the DB instance is created. If this\nparameter isn't specified, a database named postgres is created in the DB\ninstance.\n\n\nConstraints:\n\n\n * Must contain 1 to 63 letters, numbers, or underscores.\n\n\n * Must begin with a letter. Subsequent characters can be letters, underscores,\n or digits (0-9).\n\n\n * Can't be a word reserved by the specified database engine\n\n\nOracle\n\n\nThe Oracle System ID (SID) of the created DB instance. If you specify null,\nthe default value ORCL is used. You can't specify the string NULL, or any\nother reserved word, for DBName.\n\n\nDefault: ORCL\n\n\nConstraints:\n\n\n * Can't be longer than 8 characters\n\n\nAmazon RDS Custom for Oracle\n\n\nThe Oracle System ID (SID) of the created RDS Custom DB instance. If you\ndon't specify a value, the default value is ORCL.\n\n\nDefault: ORCL\n\n\nConstraints:\n\n\n * It must contain 1 to 8 alphanumeric characters.\n\n\n * It must contain a letter.\n\n\n * It can't be a word reserved by the database engine.\n\n\nAmazon RDS Custom for SQL Server\n\n\nNot applicable. Must be null.\n\n\nSQL Server\n\n\nNot applicable. Must be null.\n\n\nAmazon Aurora MySQL\n\n\nThe name of the database to create when the primary DB instance of the Aurora\nMySQL DB cluster is created. If this parameter isn't specified for an Aurora\nMySQL DB cluster, no database is created in the DB cluster.\n\n\nConstraints:\n\n\n * It must contain 1 to 64 alphanumeric characters.\n\n\n * It can't be a word reserved by the database engine.\n\n\nAmazon Aurora PostgreSQL\n\n\nThe name of the database to create when the primary DB instance of the Aurora\nPostgreSQL DB cluster is created. If this parameter isn't specified for an\nAurora PostgreSQL DB cluster, a database named postgres is created in the\nDB cluster.\n\n\nConstraints:\n\n\n * It must contain 1 to 63 alphanumeric characters.\n\n\n * It must begin with a letter. Subsequent characters can be letters, underscores,\n or digits (0 to 9).\n\n\n * It can't be a word reserved by the database engine." + description: "The meaning of this parameter differs according to the database engine you\nuse.\n\nMySQL\n\nThe name of the database to create when the DB instance is created. If this\nparameter isn't specified, no database is created in the DB instance.\n\nConstraints:\n\n * Must contain 1 to 64 letters or numbers.\n\n * Must begin with a letter. Subsequent characters can be letters, underscores,\n or digits (0-9).\n\n * Can't be a word reserved by the specified database engine\n\nMariaDB\n\nThe name of the database to create when the DB instance is created. If this\nparameter isn't specified, no database is created in the DB instance.\n\nConstraints:\n\n * Must contain 1 to 64 letters or numbers.\n\n * Must begin with a letter. Subsequent characters can be letters, underscores,\n or digits (0-9).\n\n * Can't be a word reserved by the specified database engine\n\nPostgreSQL\n\nThe name of the database to create when the DB instance is created. If this\nparameter isn't specified, a database named postgres is created in the DB\ninstance.\n\nConstraints:\n\n * Must contain 1 to 63 letters, numbers, or underscores.\n\n * Must begin with a letter. Subsequent characters can be letters, underscores,\n or digits (0-9).\n\n * Can't be a word reserved by the specified database engine\n\nOracle\n\nThe Oracle System ID (SID) of the created DB instance. If you specify null,\nthe default value ORCL is used. You can't specify the string NULL, or any\nother reserved word, for DBName.\n\nDefault: ORCL\n\nConstraints:\n\n * Can't be longer than 8 characters\n\nAmazon RDS Custom for Oracle\n\nThe Oracle System ID (SID) of the created RDS Custom DB instance. If you\ndon't specify a value, the default value is ORCL.\n\nDefault: ORCL\n\nConstraints:\n\n * It must contain 1 to 8 alphanumeric characters.\n\n * It must contain a letter.\n\n * It can't be a word reserved by the database engine.\n\nAmazon RDS Custom for SQL Server\n\nNot applicable. Must be null.\n\nSQL Server\n\nNot applicable. Must be null.\n\nAmazon Aurora MySQL\n\nThe name of the database to create when the primary DB instance of the Aurora\nMySQL DB cluster is created. If this parameter isn't specified for an Aurora\nMySQL DB cluster, no database is created in the DB cluster.\n\nConstraints:\n\n * It must contain 1 to 64 alphanumeric characters.\n\n * It can't be a word reserved by the database engine.\n\nAmazon Aurora PostgreSQL\n\nThe name of the database to create when the primary DB instance of the Aurora\nPostgreSQL DB cluster is created. If this parameter isn't specified for an\nAurora PostgreSQL DB cluster, a database named postgres is created in the\nDB cluster.\n\nConstraints:\n\n * It must contain 1 to 63 alphanumeric characters.\n\n * It must begin with a letter. Subsequent characters can be letters, underscores,\n or digits (0 to 9).\n\n * It can't be a word reserved by the database engine." type: "string" dbParameterGroupName: - description: "The name of the DB parameter group to associate with this DB instance. If\nyou do not specify a value, then the default DB parameter group for the specified\nDB engine and version is used.\n\n\nThis setting doesn't apply to RDS Custom.\n\n\nConstraints:\n\n\n * It must be 1 to 255 letters, numbers, or hyphens.\n\n\n * The first character must be a letter.\n\n\n * It can't end with a hyphen or contain two consecutive hyphens." + description: "The name of the DB parameter group to associate with this DB instance. If\nyou do not specify a value, then the default DB parameter group for the specified\nDB engine and version is used.\n\nThis setting doesn't apply to RDS Custom.\n\nConstraints:\n\n * It must be 1 to 255 letters, numbers, or hyphens.\n\n * The first character must be a letter.\n\n * It can't end with a hyphen or contain two consecutive hyphens." type: "string" dbParameterGroupRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -93,13 +93,13 @@ spec: type: "object" type: "object" dbSnapshotIdentifier: - description: "The identifier for the DB snapshot to restore from.\n\n\nConstraints:\n\n\n * Must match the identifier of an existing DBSnapshot.\n\n\n * Can't be specified when DBClusterSnapshotIdentifier is specified.\n\n\n * Must be specified when DBClusterSnapshotIdentifier isn't specified.\n\n\n * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier\n must be the ARN of the shared DB snapshot." + description: "The identifier for the DB snapshot to restore from.\n\nConstraints:\n\n * Must match the identifier of an existing DBSnapshot.\n\n * Can't be specified when DBClusterSnapshotIdentifier is specified.\n\n * Must be specified when DBClusterSnapshotIdentifier isn't specified.\n\n * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier\n must be the ARN of the shared DB snapshot." type: "string" dbSubnetGroupName: - description: "A DB subnet group to associate with this DB instance.\n\n\nConstraints: Must match the name of an existing DBSubnetGroup. Must not be\ndefault.\n\n\nExample: mydbsubnetgroup" + description: "A DB subnet group to associate with this DB instance.\n\nConstraints: Must match the name of an existing DBSubnetGroup. Must not be\ndefault.\n\nExample: mydbsubnetgroup" type: "string" dbSubnetGroupRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -111,43 +111,43 @@ spec: type: "object" type: "object" deletionProtection: - description: "A value that indicates whether the DB instance has deletion protection enabled.\nThe database can't be deleted when deletion protection is enabled. By default,\ndeletion protection isn't enabled. For more information, see Deleting a DB\nInstance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).\n\n\nAmazon Aurora\n\n\nNot applicable. You can enable or disable deletion protection for the DB\ncluster. For more information, see CreateDBCluster. DB instances in a DB\ncluster can be deleted even when deletion protection is enabled for the DB\ncluster." + description: "A value that indicates whether the DB instance has deletion protection enabled.\nThe database can't be deleted when deletion protection is enabled. By default,\ndeletion protection isn't enabled. For more information, see Deleting a DB\nInstance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).\n\nAmazon Aurora\n\nNot applicable. You can enable or disable deletion protection for the DB\ncluster. For more information, see CreateDBCluster. DB instances in a DB\ncluster can be deleted even when deletion protection is enabled for the DB\ncluster." type: "boolean" destinationRegion: description: "DestinationRegion is used for presigning the request to a given region." type: "string" domain: - description: "The Active Directory directory ID to create the DB instance in. Currently,\nonly MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can\nbe created in an Active Directory Domain.\n\n\nFor more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html)\nin the Amazon RDS User Guide.\n\n\nThis setting doesn't apply to RDS Custom.\n\n\nAmazon Aurora\n\n\nNot applicable. The domain is managed by the DB cluster." + description: "The Active Directory directory ID to create the DB instance in. Currently,\nonly MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can\nbe created in an Active Directory Domain.\n\nFor more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html)\nin the Amazon RDS User Guide.\n\nThis setting doesn't apply to RDS Custom.\n\nAmazon Aurora\n\nNot applicable. The domain is managed by the DB cluster." type: "string" domainIAMRoleName: - description: "Specify the name of the IAM role to be used when making API calls to the\nDirectory Service.\n\n\nThis setting doesn't apply to RDS Custom.\n\n\nAmazon Aurora\n\n\nNot applicable. The domain is managed by the DB cluster." + description: "Specify the name of the IAM role to be used when making API calls to the\nDirectory Service.\n\nThis setting doesn't apply to RDS Custom.\n\nAmazon Aurora\n\nNot applicable. The domain is managed by the DB cluster." type: "string" enableCloudwatchLogsExports: - description: "The list of log types that need to be enabled for exporting to CloudWatch\nLogs. The values in the list depend on the DB engine. For more information,\nsee Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)\nin the Amazon RDS User Guide.\n\n\nAmazon Aurora\n\n\nNot applicable. CloudWatch Logs exports are managed by the DB cluster.\n\n\nRDS Custom\n\n\nNot applicable.\n\n\nMariaDB\n\n\nPossible values are audit, error, general, and slowquery.\n\n\nMicrosoft SQL Server\n\n\nPossible values are agent and error.\n\n\nMySQL\n\n\nPossible values are audit, error, general, and slowquery.\n\n\nOracle\n\n\nPossible values are alert, audit, listener, trace, and oemagent.\n\n\nPostgreSQL\n\n\nPossible values are postgresql and upgrade." + description: "The list of log types that need to be enabled for exporting to CloudWatch\nLogs. The values in the list depend on the DB engine. For more information,\nsee Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)\nin the Amazon RDS User Guide.\n\nAmazon Aurora\n\nNot applicable. CloudWatch Logs exports are managed by the DB cluster.\n\nRDS Custom\n\nNot applicable.\n\nMariaDB\n\nPossible values are audit, error, general, and slowquery.\n\nMicrosoft SQL Server\n\nPossible values are agent and error.\n\nMySQL\n\nPossible values are audit, error, general, and slowquery.\n\nOracle\n\nPossible values are alert, audit, listener, trace, and oemagent.\n\nPostgreSQL\n\nPossible values are postgresql and upgrade." items: type: "string" type: "array" enableCustomerOwnedIP: - description: "A value that indicates whether to enable a customer-owned IP address (CoIP)\nfor an RDS on Outposts DB instance.\n\n\nA CoIP provides local or external connectivity to resources in your Outpost\nsubnets through your on-premises network. For some use cases, a CoIP can\nprovide lower latency for connections to the DB instance from outside of\nits virtual private cloud (VPC) on your local network.\n\n\nFor more information about RDS on Outposts, see Working with Amazon RDS on\nAmazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)\nin the Amazon RDS User Guide.\n\n\nFor more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing)\nin the Amazon Web Services Outposts User Guide." + description: "A value that indicates whether to enable a customer-owned IP address (CoIP)\nfor an RDS on Outposts DB instance.\n\nA CoIP provides local or external connectivity to resources in your Outpost\nsubnets through your on-premises network. For some use cases, a CoIP can\nprovide lower latency for connections to the DB instance from outside of\nits virtual private cloud (VPC) on your local network.\n\nFor more information about RDS on Outposts, see Working with Amazon RDS on\nAmazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)\nin the Amazon RDS User Guide.\n\nFor more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing)\nin the Amazon Web Services Outposts User Guide." type: "boolean" enableIAMDatabaseAuthentication: - description: "A value that indicates whether to enable mapping of Amazon Web Services Identity\nand Access Management (IAM) accounts to database accounts. By default, mapping\nisn't enabled.\n\n\nFor more information, see IAM Database Authentication for MySQL and PostgreSQL\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)\nin the Amazon RDS User Guide.\n\n\nThis setting doesn't apply to RDS Custom.\n\n\nAmazon Aurora\n\n\nNot applicable. Mapping Amazon Web Services IAM accounts to database accounts\nis managed by the DB cluster." + description: "A value that indicates whether to enable mapping of Amazon Web Services Identity\nand Access Management (IAM) accounts to database accounts. By default, mapping\nisn't enabled.\n\nFor more information, see IAM Database Authentication for MySQL and PostgreSQL\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)\nin the Amazon RDS User Guide.\n\nThis setting doesn't apply to RDS Custom.\n\nAmazon Aurora\n\nNot applicable. Mapping Amazon Web Services IAM accounts to database accounts\nis managed by the DB cluster." type: "boolean" engine: - description: "The name of the database engine to be used for this instance.\n\n\nNot every database engine is available for every Amazon Web Services Region.\n\n\nValid Values:\n\n\n * aurora (for MySQL 5.6-compatible Aurora)\n\n\n * aurora-mysql (for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora)\n\n\n * aurora-postgresql\n\n\n * custom-oracle-ee (for RDS Custom for Oracle instances)\n\n\n * custom-sqlserver-ee (for RDS Custom for SQL Server instances)\n\n\n * custom-sqlserver-se (for RDS Custom for SQL Server instances)\n\n\n * custom-sqlserver-web (for RDS Custom for SQL Server instances)\n\n\n * mariadb\n\n\n * mysql\n\n\n * oracle-ee\n\n\n * oracle-ee-cdb\n\n\n * oracle-se2\n\n\n * oracle-se2-cdb\n\n\n * postgres\n\n\n * sqlserver-ee\n\n\n * sqlserver-se\n\n\n * sqlserver-ex\n\n\n * sqlserver-web" + description: "The name of the database engine to be used for this instance.\n\nNot every database engine is available for every Amazon Web Services Region.\n\nValid Values:\n\n * aurora (for MySQL 5.6-compatible Aurora)\n\n * aurora-mysql (for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora)\n\n * aurora-postgresql\n\n * custom-oracle-ee (for RDS Custom for Oracle instances)\n\n * custom-sqlserver-ee (for RDS Custom for SQL Server instances)\n\n * custom-sqlserver-se (for RDS Custom for SQL Server instances)\n\n * custom-sqlserver-web (for RDS Custom for SQL Server instances)\n\n * mariadb\n\n * mysql\n\n * oracle-ee\n\n * oracle-ee-cdb\n\n * oracle-se2\n\n * oracle-se2-cdb\n\n * postgres\n\n * sqlserver-ee\n\n * sqlserver-se\n\n * sqlserver-ex\n\n * sqlserver-web" type: "string" engineVersion: - description: "The version number of the database engine to use.\n\n\nFor a list of valid engine versions, use the DescribeDBEngineVersions operation.\n\n\nThe following are the database engines and links to information about the\nmajor and minor versions that are available with Amazon RDS. Not every database\nengine is available for every Amazon Web Services Region.\n\n\nAmazon Aurora\n\n\nNot applicable. The version number of the database engine to be used by the\nDB instance is managed by the DB cluster.\n\n\nAmazon RDS Custom for Oracle\n\n\nA custom engine version (CEV) that you have previously created. This setting\nis required for RDS Custom for Oracle. The CEV name has the following format:\n19.customized_string. A valid CEV name is 19.my_cev1. For more information,\nsee Creating an RDS Custom for Oracle DB instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-creating.html#custom-creating.create)\nin the Amazon RDS User Guide.\n\n\nAmazon RDS Custom for SQL Server\n\n\nSee RDS Custom for SQL Server general requirements (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits-MS.html)\nin the Amazon RDS User Guide.\n\n\nMariaDB\n\n\nFor information, see MariaDB on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt)\nin the Amazon RDS User Guide.\n\n\nMicrosoft SQL Server\n\n\nFor information, see Microsoft SQL Server Versions on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport)\nin the Amazon RDS User Guide.\n\n\nMySQL\n\n\nFor information, see MySQL on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt)\nin the Amazon RDS User Guide.\n\n\nOracle\n\n\nFor information, see Oracle Database Engine Release Notes (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html)\nin the Amazon RDS User Guide.\n\n\nPostgreSQL\n\n\nFor information, see Amazon RDS for PostgreSQL versions and extensions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts)\nin the Amazon RDS User Guide." + description: "The version number of the database engine to use.\n\nFor a list of valid engine versions, use the DescribeDBEngineVersions operation.\n\nThe following are the database engines and links to information about the\nmajor and minor versions that are available with Amazon RDS. Not every database\nengine is available for every Amazon Web Services Region.\n\nAmazon Aurora\n\nNot applicable. The version number of the database engine to be used by the\nDB instance is managed by the DB cluster.\n\nAmazon RDS Custom for Oracle\n\nA custom engine version (CEV) that you have previously created. This setting\nis required for RDS Custom for Oracle. The CEV name has the following format:\n19.customized_string. A valid CEV name is 19.my_cev1. For more information,\nsee Creating an RDS Custom for Oracle DB instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-creating.html#custom-creating.create)\nin the Amazon RDS User Guide.\n\nAmazon RDS Custom for SQL Server\n\nSee RDS Custom for SQL Server general requirements (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits-MS.html)\nin the Amazon RDS User Guide.\n\nMariaDB\n\nFor information, see MariaDB on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt)\nin the Amazon RDS User Guide.\n\nMicrosoft SQL Server\n\nFor information, see Microsoft SQL Server Versions on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport)\nin the Amazon RDS User Guide.\n\nMySQL\n\nFor information, see MySQL on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt)\nin the Amazon RDS User Guide.\n\nOracle\n\nFor information, see Oracle Database Engine Release Notes (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html)\nin the Amazon RDS User Guide.\n\nPostgreSQL\n\nFor information, see Amazon RDS for PostgreSQL versions and extensions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts)\nin the Amazon RDS User Guide." type: "string" iops: - description: "The amount of Provisioned IOPS (input/output operations per second) to be\ninitially allocated for the DB instance. For information about valid IOPS\nvalues, see Amazon RDS DB instance storage (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)\nin the Amazon RDS User Guide.\n\n\nConstraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must\nbe a multiple between .5 and 50 of the storage amount for the DB instance.\nFor SQL Server DB instances, must be a multiple between 1 and 50 of the storage\namount for the DB instance.\n\n\nAmazon Aurora\n\n\nNot applicable. Storage is managed by the DB cluster." + description: "The amount of Provisioned IOPS (input/output operations per second) to be\ninitially allocated for the DB instance. For information about valid IOPS\nvalues, see Amazon RDS DB instance storage (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)\nin the Amazon RDS User Guide.\n\nConstraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must\nbe a multiple between .5 and 50 of the storage amount for the DB instance.\nFor SQL Server DB instances, must be a multiple between 1 and 50 of the storage\namount for the DB instance.\n\nAmazon Aurora\n\nNot applicable. Storage is managed by the DB cluster." format: "int64" type: "integer" kmsKeyID: - description: "The Amazon Web Services KMS key identifier for an encrypted DB instance.\n\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias\nARN, or alias name for the KMS key. To use a KMS key in a different Amazon\nWeb Services account, specify the key ARN or alias ARN.\n\n\nAmazon Aurora\n\n\nNot applicable. The Amazon Web Services KMS key identifier is managed by\nthe DB cluster. For more information, see CreateDBCluster.\n\n\nIf StorageEncrypted is enabled, and you do not specify a value for the KmsKeyId\nparameter, then Amazon RDS uses your default KMS key. There is a default\nKMS key for your Amazon Web Services account. Your Amazon Web Services account\nhas a different default KMS key for each Amazon Web Services Region.\n\n\nAmazon RDS Custom\n\n\nA KMS key is required for RDS Custom instances. For most RDS engines, if\nyou leave this parameter empty while enabling StorageEncrypted, the engine\nuses the default KMS key. However, RDS Custom doesn't use the default key\nwhen this parameter is empty. You must explicitly specify a key." + description: "The Amazon Web Services KMS key identifier for an encrypted DB instance.\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias\nARN, or alias name for the KMS key. To use a KMS key in a different Amazon\nWeb Services account, specify the key ARN or alias ARN.\n\nAmazon Aurora\n\nNot applicable. The Amazon Web Services KMS key identifier is managed by\nthe DB cluster. For more information, see CreateDBCluster.\n\nIf StorageEncrypted is enabled, and you do not specify a value for the KmsKeyId\nparameter, then Amazon RDS uses your default KMS key. There is a default\nKMS key for your Amazon Web Services account. Your Amazon Web Services account\nhas a different default KMS key for each Amazon Web Services Region.\n\nAmazon RDS Custom\n\nA KMS key is required for RDS Custom instances. For most RDS engines, if\nyou leave this parameter empty while enabling StorageEncrypted, the engine\nuses the default KMS key. However, RDS Custom doesn't use the default key\nwhen this parameter is empty. You must explicitly specify a key." type: "string" kmsKeyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -159,13 +159,13 @@ spec: type: "object" type: "object" licenseModel: - description: "License model information for this DB instance.\n\n\nValid values: license-included | bring-your-own-license | general-public-license\n\n\nThis setting doesn't apply to RDS Custom.\n\n\nAmazon Aurora\n\n\nNot applicable." + description: "License model information for this DB instance.\n\nValid values: license-included | bring-your-own-license | general-public-license\n\nThis setting doesn't apply to RDS Custom.\n\nAmazon Aurora\n\nNot applicable." type: "string" manageMasterUserPassword: - description: "A value that indicates whether to manage the master user password with Amazon\nWeb Services Secrets Manager.\n\n\nFor more information, see Password management with Amazon Web Services Secrets\nManager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)\nin the Amazon RDS User Guide.\n\n\nConstraints:\n\n\n * Can't manage the master user password with Amazon Web Services Secrets\n Manager if MasterUserPassword is specified." + description: "A value that indicates whether to manage the master user password with Amazon\nWeb Services Secrets Manager.\n\nFor more information, see Password management with Amazon Web Services Secrets\nManager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)\nin the Amazon RDS User Guide.\n\nConstraints:\n\n * Can't manage the master user password with Amazon Web Services Secrets\n Manager if MasterUserPassword is specified." type: "boolean" masterUserPassword: - description: "The password for the master user. The password can include any printable\nASCII character except \"/\", \"\"\", or \"@\".\n\n\nAmazon Aurora\n\n\nNot applicable. The password for the master user is managed by the DB cluster.\n\n\nConstraints: Can't be specified if ManageMasterUserPassword is turned on.\n\n\nMariaDB\n\n\nConstraints: Must contain from 8 to 41 characters.\n\n\nMicrosoft SQL Server\n\n\nConstraints: Must contain from 8 to 128 characters.\n\n\nMySQL\n\n\nConstraints: Must contain from 8 to 41 characters.\n\n\nOracle\n\n\nConstraints: Must contain from 8 to 30 characters.\n\n\nPostgreSQL\n\n\nConstraints: Must contain from 8 to 128 characters." + description: "The password for the master user. The password can include any printable\nASCII character except \"/\", \"\"\", or \"@\".\n\nAmazon Aurora\n\nNot applicable. The password for the master user is managed by the DB cluster.\n\nConstraints: Can't be specified if ManageMasterUserPassword is turned on.\n\nMariaDB\n\nConstraints: Must contain from 8 to 41 characters.\n\nMicrosoft SQL Server\n\nConstraints: Must contain from 8 to 128 characters.\n\nMySQL\n\nConstraints: Must contain from 8 to 41 characters.\n\nOracle\n\nConstraints: Must contain from 8 to 30 characters.\n\nPostgreSQL\n\nConstraints: Must contain from 8 to 128 characters." properties: key: description: "Key is the key within the secret" @@ -181,10 +181,10 @@ spec: type: "object" x-kubernetes-map-type: "atomic" masterUserSecretKMSKeyID: - description: "The Amazon Web Services KMS key identifier to encrypt a secret that is automatically\ngenerated and managed in Amazon Web Services Secrets Manager.\n\n\nThis setting is valid only if the master user password is managed by RDS\nin Amazon Web Services Secrets Manager for the DB instance.\n\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias\nARN, or alias name for the KMS key. To use a KMS key in a different Amazon\nWeb Services account, specify the key ARN or alias ARN.\n\n\nIf you don't specify MasterUserSecretKmsKeyId, then the aws/secretsmanager\nKMS key is used to encrypt the secret. If the secret is in a different Amazon\nWeb Services account, then you can't use the aws/secretsmanager KMS key to\nencrypt the secret, and you must use a customer managed KMS key.\n\n\nThere is a default KMS key for your Amazon Web Services account. Your Amazon\nWeb Services account has a different default KMS key for each Amazon Web\nServices Region." + description: "The Amazon Web Services KMS key identifier to encrypt a secret that is automatically\ngenerated and managed in Amazon Web Services Secrets Manager.\n\nThis setting is valid only if the master user password is managed by RDS\nin Amazon Web Services Secrets Manager for the DB instance.\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias\nARN, or alias name for the KMS key. To use a KMS key in a different Amazon\nWeb Services account, specify the key ARN or alias ARN.\n\nIf you don't specify MasterUserSecretKmsKeyId, then the aws/secretsmanager\nKMS key is used to encrypt the secret. If the secret is in a different Amazon\nWeb Services account, then you can't use the aws/secretsmanager KMS key to\nencrypt the secret, and you must use a customer managed KMS key.\n\nThere is a default KMS key for your Amazon Web Services account. Your Amazon\nWeb Services account has a different default KMS key for each Amazon Web\nServices Region." type: "string" masterUserSecretKMSKeyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -196,58 +196,58 @@ spec: type: "object" type: "object" masterUsername: - description: "The name for the master user.\n\n\nAmazon Aurora\n\n\nNot applicable. The name for the master user is managed by the DB cluster.\n\n\nAmazon RDS\n\n\nConstraints:\n\n\n * Required.\n\n\n * Must be 1 to 16 letters, numbers, or underscores.\n\n\n * First character must be a letter.\n\n\n * Can't be a reserved word for the chosen database engine." + description: "The name for the master user.\n\nAmazon Aurora\n\nNot applicable. The name for the master user is managed by the DB cluster.\n\nAmazon RDS\n\nConstraints:\n\n * Required.\n\n * Must be 1 to 16 letters, numbers, or underscores.\n\n * First character must be a letter.\n\n * Can't be a reserved word for the chosen database engine." type: "string" maxAllocatedStorage: - description: "The upper limit in gibibytes (GiB) to which Amazon RDS can automatically\nscale the storage of the DB instance.\n\n\nFor more information about this setting, including limitations that apply\nto it, see Managing capacity automatically with Amazon RDS storage autoscaling\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)\nin the Amazon RDS User Guide.\n\n\nThis setting doesn't apply to RDS Custom.\n\n\nAmazon Aurora\n\n\nNot applicable. Storage is managed by the DB cluster." + description: "The upper limit in gibibytes (GiB) to which Amazon RDS can automatically\nscale the storage of the DB instance.\n\nFor more information about this setting, including limitations that apply\nto it, see Managing capacity automatically with Amazon RDS storage autoscaling\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)\nin the Amazon RDS User Guide.\n\nThis setting doesn't apply to RDS Custom.\n\nAmazon Aurora\n\nNot applicable. Storage is managed by the DB cluster." format: "int64" type: "integer" monitoringInterval: - description: "The interval, in seconds, between points when Enhanced Monitoring metrics\nare collected for the DB instance. To disable collection of Enhanced Monitoring\nmetrics, specify 0. The default is 0.\n\n\nIf MonitoringRoleArn is specified, then you must set MonitoringInterval to\na value other than 0.\n\n\nThis setting doesn't apply to RDS Custom.\n\n\nValid Values: 0, 1, 5, 10, 15, 30, 60" + description: "The interval, in seconds, between points when Enhanced Monitoring metrics\nare collected for the DB instance. To disable collection of Enhanced Monitoring\nmetrics, specify 0. The default is 0.\n\nIf MonitoringRoleArn is specified, then you must set MonitoringInterval to\na value other than 0.\n\nThis setting doesn't apply to RDS Custom.\n\nValid Values: 0, 1, 5, 10, 15, 30, 60" format: "int64" type: "integer" monitoringRoleARN: - description: "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics\nto Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.\nFor information on creating a monitoring role, see Setting Up and Enabling\nEnhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)\nin the Amazon RDS User Guide.\n\n\nIf MonitoringInterval is set to a value other than 0, then you must supply\na MonitoringRoleArn value.\n\n\nThis setting doesn't apply to RDS Custom." + description: "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics\nto Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.\nFor information on creating a monitoring role, see Setting Up and Enabling\nEnhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)\nin the Amazon RDS User Guide.\n\nIf MonitoringInterval is set to a value other than 0, then you must supply\na MonitoringRoleArn value.\n\nThis setting doesn't apply to RDS Custom." type: "string" multiAZ: - description: "A value that indicates whether the DB instance is a Multi-AZ deployment.\nYou can't set the AvailabilityZone parameter if the DB instance is a Multi-AZ\ndeployment.\n\n\nThis setting doesn't apply to RDS Custom.\n\n\nAmazon Aurora\n\n\nNot applicable. DB instance Availability Zones (AZs) are managed by the DB\ncluster." + description: "A value that indicates whether the DB instance is a Multi-AZ deployment.\nYou can't set the AvailabilityZone parameter if the DB instance is a Multi-AZ\ndeployment.\n\nThis setting doesn't apply to RDS Custom.\n\nAmazon Aurora\n\nNot applicable. DB instance Availability Zones (AZs) are managed by the DB\ncluster." type: "boolean" ncharCharacterSetName: - description: "The name of the NCHAR character set for the Oracle DB instance.\n\n\nThis parameter doesn't apply to RDS Custom." + description: "The name of the NCHAR character set for the Oracle DB instance.\n\nThis parameter doesn't apply to RDS Custom." type: "string" networkType: - description: "The network type of the DB instance.\n\n\nValid values:\n\n\n * IPV4\n\n\n * DUAL\n\n\nThe network type is determined by the DBSubnetGroup specified for the DB\ninstance. A DBSubnetGroup can support only the IPv4 protocol or the IPv4\nand the IPv6 protocols (DUAL).\n\n\nFor more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html)\nin the Amazon RDS User Guide." + description: "The network type of the DB instance.\n\nValid values:\n\n * IPV4\n\n * DUAL\n\nThe network type is determined by the DBSubnetGroup specified for the DB\ninstance. A DBSubnetGroup can support only the IPv4 protocol or the IPv4\nand the IPv6 protocols (DUAL).\n\nFor more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html)\nin the Amazon RDS User Guide." type: "string" optionGroupName: - description: "A value that indicates that the DB instance should be associated with the\nspecified option group.\n\n\nPermanent options, such as the TDE option for Oracle Advanced Security TDE,\ncan't be removed from an option group. Also, that option group can't be removed\nfrom a DB instance after it is associated with a DB instance.\n\n\nThis setting doesn't apply to RDS Custom.\n\n\nAmazon Aurora\n\n\nNot applicable." + description: "A value that indicates that the DB instance should be associated with the\nspecified option group.\n\nPermanent options, such as the TDE option for Oracle Advanced Security TDE,\ncan't be removed from an option group. Also, that option group can't be removed\nfrom a DB instance after it is associated with a DB instance.\n\nThis setting doesn't apply to RDS Custom.\n\nAmazon Aurora\n\nNot applicable." type: "string" performanceInsightsEnabled: - description: "A value that indicates whether to enable Performance Insights for the DB\ninstance. For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)\nin the Amazon RDS User Guide.\n\n\nThis setting doesn't apply to RDS Custom." + description: "A value that indicates whether to enable Performance Insights for the DB\ninstance. For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)\nin the Amazon RDS User Guide.\n\nThis setting doesn't apply to RDS Custom." type: "boolean" performanceInsightsKMSKeyID: - description: "The Amazon Web Services KMS key identifier for encryption of Performance\nInsights data.\n\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias\nARN, or alias name for the KMS key.\n\n\nIf you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon\nRDS uses your default KMS key. There is a default KMS key for your Amazon\nWeb Services account. Your Amazon Web Services account has a different default\nKMS key for each Amazon Web Services Region.\n\n\nThis setting doesn't apply to RDS Custom." + description: "The Amazon Web Services KMS key identifier for encryption of Performance\nInsights data.\n\nThe Amazon Web Services KMS key identifier is the key ARN, key ID, alias\nARN, or alias name for the KMS key.\n\nIf you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon\nRDS uses your default KMS key. There is a default KMS key for your Amazon\nWeb Services account. Your Amazon Web Services account has a different default\nKMS key for each Amazon Web Services Region.\n\nThis setting doesn't apply to RDS Custom." type: "string" performanceInsightsRetentionPeriod: - description: "The number of days to retain Performance Insights data. The default is 7\ndays. The following values are valid:\n\n\n * 7\n\n\n * month * 31, where month is a number of months from 1-23\n\n\n * 731\n\n\nFor example, the following values are valid:\n\n\n * 93 (3 months * 31)\n\n\n * 341 (11 months * 31)\n\n\n * 589 (19 months * 31)\n\n\n * 731\n\n\nIf you specify a retention period such as 94, which isn't a valid value,\nRDS issues an error.\n\n\nThis setting doesn't apply to RDS Custom." + description: "The number of days to retain Performance Insights data. The default is 7\ndays. The following values are valid:\n\n * 7\n\n * month * 31, where month is a number of months from 1-23\n\n * 731\n\nFor example, the following values are valid:\n\n * 93 (3 months * 31)\n\n * 341 (11 months * 31)\n\n * 589 (19 months * 31)\n\n * 731\n\nIf you specify a retention period such as 94, which isn't a valid value,\nRDS issues an error.\n\nThis setting doesn't apply to RDS Custom." format: "int64" type: "integer" port: - description: "The port number on which the database accepts connections.\n\n\nMySQL\n\n\nDefault: 3306\n\n\nValid values: 1150-65535\n\n\nType: Integer\n\n\nMariaDB\n\n\nDefault: 3306\n\n\nValid values: 1150-65535\n\n\nType: Integer\n\n\nPostgreSQL\n\n\nDefault: 5432\n\n\nValid values: 1150-65535\n\n\nType: Integer\n\n\nOracle\n\n\nDefault: 1521\n\n\nValid values: 1150-65535\n\n\nSQL Server\n\n\nDefault: 1433\n\n\nValid values: 1150-65535 except 1234, 1434, 3260, 3343, 3389, 47001, and\n49152-49156.\n\n\nAmazon Aurora\n\n\nDefault: 3306\n\n\nValid values: 1150-65535\n\n\nType: Integer" + description: "The port number on which the database accepts connections.\n\nMySQL\n\nDefault: 3306\n\nValid values: 1150-65535\n\nType: Integer\n\nMariaDB\n\nDefault: 3306\n\nValid values: 1150-65535\n\nType: Integer\n\nPostgreSQL\n\nDefault: 5432\n\nValid values: 1150-65535\n\nType: Integer\n\nOracle\n\nDefault: 1521\n\nValid values: 1150-65535\n\nSQL Server\n\nDefault: 1433\n\nValid values: 1150-65535 except 1234, 1434, 3260, 3343, 3389, 47001, and\n49152-49156.\n\nAmazon Aurora\n\nDefault: 3306\n\nValid values: 1150-65535\n\nType: Integer" format: "int64" type: "integer" preSignedURL: - description: "When you are creating a read replica from one Amazon Web Services GovCloud\n(US) Region to another or from one China Amazon Web Services Region to another,\nthe URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica\nAPI operation in the source Amazon Web Services Region that contains the\nsource DB instance.\n\n\nThis setting applies only to Amazon Web Services GovCloud (US) Regions and\nChina Amazon Web Services Regions. It's ignored in other Amazon Web Services\nRegions.\n\n\nThis setting applies only when replicating from a source DB instance. Source\nDB clusters aren't supported in Amazon Web Services GovCloud (US) Regions\nand China Amazon Web Services Regions.\n\n\nYou must specify this parameter when you create an encrypted read replica\nfrom another Amazon Web Services Region by using the Amazon RDS API. Don't\nspecify PreSignedUrl when you are creating an encrypted read replica in the\nsame Amazon Web Services Region.\n\n\nThe presigned URL must be a valid request for the CreateDBInstanceReadReplica\nAPI operation that can run in the source Amazon Web Services Region that\ncontains the encrypted source DB instance. The presigned URL request must\ncontain the following parameter values:\n\n\n * DestinationRegion - The Amazon Web Services Region that the encrypted\n read replica is created in. This Amazon Web Services Region is the same\n one where the CreateDBInstanceReadReplica operation is called that contains\n this presigned URL. For example, if you create an encrypted DB instance\n in the us-west-1 Amazon Web Services Region, from a source DB instance\n in the us-east-2 Amazon Web Services Region, then you call the CreateDBInstanceReadReplica\n operation in the us-east-1 Amazon Web Services Region and provide a presigned\n URL that contains a call to the CreateDBInstanceReadReplica operation\n in the us-west-2 Amazon Web Services Region. For this example, the DestinationRegion\n in the presigned URL must be set to the us-east-1 Amazon Web Services\n Region.\n\n\n * KmsKeyId - The KMS key identifier for the key to use to encrypt the\n read replica in the destination Amazon Web Services Region. This is the\n same identifier for both the CreateDBInstanceReadReplica operation that\n is called in the destination Amazon Web Services Region, and the operation\n contained in the presigned URL.\n\n\n * SourceDBInstanceIdentifier - The DB instance identifier for the encrypted\n DB instance to be replicated. This identifier must be in the Amazon Resource\n Name (ARN) format for the source Amazon Web Services Region. For example,\n if you are creating an encrypted read replica from a DB instance in the\n us-west-2 Amazon Web Services Region, then your SourceDBInstanceIdentifier\n looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.\n\n\nTo learn how to generate a Signature Version 4 signed request, see Authenticating\nRequests: Using Query Parameters (Amazon Web Services Signature Version 4)\n(https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)\nand Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).\n\n\nIf you are using an Amazon Web Services SDK tool or the CLI, you can specify\nSourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl\nmanually. Specifying SourceRegion autogenerates a presigned URL that is a\nvalid request for the operation that can run in the source Amazon Web Services\nRegion.\n\n\nSourceRegion isn't supported for SQL Server, because Amazon RDS for SQL Server\ndoesn't support cross-Region read replicas.\n\n\nThis setting doesn't apply to RDS Custom." + description: "When you are creating a read replica from one Amazon Web Services GovCloud\n(US) Region to another or from one China Amazon Web Services Region to another,\nthe URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica\nAPI operation in the source Amazon Web Services Region that contains the\nsource DB instance.\n\nThis setting applies only to Amazon Web Services GovCloud (US) Regions and\nChina Amazon Web Services Regions. It's ignored in other Amazon Web Services\nRegions.\n\nThis setting applies only when replicating from a source DB instance. Source\nDB clusters aren't supported in Amazon Web Services GovCloud (US) Regions\nand China Amazon Web Services Regions.\n\nYou must specify this parameter when you create an encrypted read replica\nfrom another Amazon Web Services Region by using the Amazon RDS API. Don't\nspecify PreSignedUrl when you are creating an encrypted read replica in the\nsame Amazon Web Services Region.\n\nThe presigned URL must be a valid request for the CreateDBInstanceReadReplica\nAPI operation that can run in the source Amazon Web Services Region that\ncontains the encrypted source DB instance. The presigned URL request must\ncontain the following parameter values:\n\n * DestinationRegion - The Amazon Web Services Region that the encrypted\n read replica is created in. This Amazon Web Services Region is the same\n one where the CreateDBInstanceReadReplica operation is called that contains\n this presigned URL. For example, if you create an encrypted DB instance\n in the us-west-1 Amazon Web Services Region, from a source DB instance\n in the us-east-2 Amazon Web Services Region, then you call the CreateDBInstanceReadReplica\n operation in the us-east-1 Amazon Web Services Region and provide a presigned\n URL that contains a call to the CreateDBInstanceReadReplica operation\n in the us-west-2 Amazon Web Services Region. For this example, the DestinationRegion\n in the presigned URL must be set to the us-east-1 Amazon Web Services\n Region.\n\n * KmsKeyId - The KMS key identifier for the key to use to encrypt the\n read replica in the destination Amazon Web Services Region. This is the\n same identifier for both the CreateDBInstanceReadReplica operation that\n is called in the destination Amazon Web Services Region, and the operation\n contained in the presigned URL.\n\n * SourceDBInstanceIdentifier - The DB instance identifier for the encrypted\n DB instance to be replicated. This identifier must be in the Amazon Resource\n Name (ARN) format for the source Amazon Web Services Region. For example,\n if you are creating an encrypted read replica from a DB instance in the\n us-west-2 Amazon Web Services Region, then your SourceDBInstanceIdentifier\n looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.\n\nTo learn how to generate a Signature Version 4 signed request, see Authenticating\nRequests: Using Query Parameters (Amazon Web Services Signature Version 4)\n(https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)\nand Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).\n\nIf you are using an Amazon Web Services SDK tool or the CLI, you can specify\nSourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl\nmanually. Specifying SourceRegion autogenerates a presigned URL that is a\nvalid request for the operation that can run in the source Amazon Web Services\nRegion.\n\nSourceRegion isn't supported for SQL Server, because Amazon RDS for SQL Server\ndoesn't support cross-Region read replicas.\n\nThis setting doesn't apply to RDS Custom." type: "string" preferredBackupWindow: - description: "The daily time range during which automated backups are created if automated\nbackups are enabled, using the BackupRetentionPeriod parameter. The default\nis a 30-minute window selected at random from an 8-hour block of time for\neach Amazon Web Services Region. For more information, see Backup window\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)\nin the Amazon RDS User Guide.\n\n\nAmazon Aurora\n\n\nNot applicable. The daily time range for creating automated backups is managed\nby the DB cluster.\n\n\nConstraints:\n\n\n * Must be in the format hh24:mi-hh24:mi.\n\n\n * Must be in Universal Coordinated Time (UTC).\n\n\n * Must not conflict with the preferred maintenance window.\n\n\n * Must be at least 30 minutes." + description: "The daily time range during which automated backups are created if automated\nbackups are enabled, using the BackupRetentionPeriod parameter. The default\nis a 30-minute window selected at random from an 8-hour block of time for\neach Amazon Web Services Region. For more information, see Backup window\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)\nin the Amazon RDS User Guide.\n\nAmazon Aurora\n\nNot applicable. The daily time range for creating automated backups is managed\nby the DB cluster.\n\nConstraints:\n\n * Must be in the format hh24:mi-hh24:mi.\n\n * Must be in Universal Coordinated Time (UTC).\n\n * Must not conflict with the preferred maintenance window.\n\n * Must be at least 30 minutes." type: "string" preferredMaintenanceWindow: - description: "The time range each week during which system maintenance can occur, in Universal\nCoordinated Time (UTC). For more information, see Amazon RDS Maintenance\nWindow (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance).\n\n\nFormat: ddd:hh24:mi-ddd:hh24:mi\n\n\nThe default is a 30-minute window selected at random from an 8-hour block\nof time for each Amazon Web Services Region, occurring on a random day of\nthe week.\n\n\nValid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.\n\n\nConstraints: Minimum 30-minute window." + description: "The time range each week during which system maintenance can occur, in Universal\nCoordinated Time (UTC). For more information, see Amazon RDS Maintenance\nWindow (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance).\n\nFormat: ddd:hh24:mi-ddd:hh24:mi\n\nThe default is a 30-minute window selected at random from an 8-hour block\nof time for each Amazon Web Services Region, occurring on a random day of\nthe week.\n\nValid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.\n\nConstraints: Minimum 30-minute window." type: "string" processorFeatures: - description: "The number of CPU cores and the number of threads per core for the DB instance\nclass of the DB instance.\n\n\nThis setting doesn't apply to RDS Custom.\n\n\nAmazon Aurora\n\n\nNot applicable." + description: "The number of CPU cores and the number of threads per core for the DB instance\nclass of the DB instance.\n\nThis setting doesn't apply to RDS Custom.\n\nAmazon Aurora\n\nNot applicable." items: - description: "Contains the processor features of a DB instance class.\n\n\nTo specify the number of CPU cores, use the coreCount feature name for the\nName parameter. To specify the number of threads per core, use the threadsPerCore\nfeature name for the Name parameter.\n\n\nYou can set the processor features of the DB instance class for a DB instance\nwhen you call one of the following actions:\n\n\n * CreateDBInstance\n\n\n * ModifyDBInstance\n\n\n * RestoreDBInstanceFromDBSnapshot\n\n\n * RestoreDBInstanceFromS3\n\n\n * RestoreDBInstanceToPointInTime\n\n\nYou can view the valid processor values for a particular instance class by\ncalling the DescribeOrderableDBInstanceOptions action and specifying the\ninstance class for the DBInstanceClass parameter.\n\n\nIn addition, you can use the following actions for DB instance class processor\ninformation:\n\n\n * DescribeDBInstances\n\n\n * DescribeDBSnapshots\n\n\n * DescribeValidDBInstanceModifications\n\n\nIf you call DescribeDBInstances, ProcessorFeature returns non-null values\nonly if the following conditions are met:\n\n\n * You are accessing an Oracle DB instance.\n\n\n * Your Oracle DB instance class supports configuring the number of CPU\n cores and threads per core.\n\n\n * The current number CPU cores and threads is set to a non-default value.\n\n\nFor more information, see Configuring the Processor of the DB Instance Class\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)\nin the Amazon RDS User Guide." + description: "Contains the processor features of a DB instance class.\n\nTo specify the number of CPU cores, use the coreCount feature name for the\nName parameter. To specify the number of threads per core, use the threadsPerCore\nfeature name for the Name parameter.\n\nYou can set the processor features of the DB instance class for a DB instance\nwhen you call one of the following actions:\n\n * CreateDBInstance\n\n * ModifyDBInstance\n\n * RestoreDBInstanceFromDBSnapshot\n\n * RestoreDBInstanceFromS3\n\n * RestoreDBInstanceToPointInTime\n\nYou can view the valid processor values for a particular instance class by\ncalling the DescribeOrderableDBInstanceOptions action and specifying the\ninstance class for the DBInstanceClass parameter.\n\nIn addition, you can use the following actions for DB instance class processor\ninformation:\n\n * DescribeDBInstances\n\n * DescribeDBSnapshots\n\n * DescribeValidDBInstanceModifications\n\nIf you call DescribeDBInstances, ProcessorFeature returns non-null values\nonly if the following conditions are met:\n\n * You are accessing an Oracle DB instance.\n\n * Your Oracle DB instance class supports configuring the number of CPU\n cores and threads per core.\n\n * The current number CPU cores and threads is set to a non-default value.\n\nFor more information, see Configuring the Processor of the DB Instance Class\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)\nin the Amazon RDS User Guide." properties: name: type: "string" @@ -256,35 +256,35 @@ spec: type: "object" type: "array" promotionTier: - description: "A value that specifies the order in which an Aurora Replica is promoted to\nthe primary instance after a failure of the existing primary instance. For\nmore information, see Fault Tolerance for an Aurora DB Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.FaultTolerance)\nin the Amazon Aurora User Guide.\n\n\nThis setting doesn't apply to RDS Custom.\n\n\nDefault: 1\n\n\nValid Values: 0 - 15" + description: "A value that specifies the order in which an Aurora Replica is promoted to\nthe primary instance after a failure of the existing primary instance. For\nmore information, see Fault Tolerance for an Aurora DB Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.FaultTolerance)\nin the Amazon Aurora User Guide.\n\nThis setting doesn't apply to RDS Custom.\n\nDefault: 1\n\nValid Values: 0 - 15" format: "int64" type: "integer" publiclyAccessible: - description: "A value that indicates whether the DB instance is publicly accessible.\n\n\nWhen the DB instance is publicly accessible, its Domain Name System (DNS)\nendpoint resolves to the private IP address from within the DB instance's\nvirtual private cloud (VPC). It resolves to the public IP address from outside\nof the DB instance's VPC. Access to the DB instance is ultimately controlled\nby the security group it uses. That public access is not permitted if the\nsecurity group assigned to the DB instance doesn't permit it.\n\n\nWhen the DB instance isn't publicly accessible, it is an internal DB instance\nwith a DNS name that resolves to a private IP address.\n\n\nDefault: The default behavior varies depending on whether DBSubnetGroupName\nis specified.\n\n\nIf DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified,\nthe following applies:\n\n\n * If the default VPC in the target Region doesn’t have an internet gateway\n attached to it, the DB instance is private.\n\n\n * If the default VPC in the target Region has an internet gateway attached\n to it, the DB instance is public.\n\n\nIf DBSubnetGroupName is specified, and PubliclyAccessible isn't specified,\nthe following applies:\n\n\n * If the subnets are part of a VPC that doesn’t have an internet gateway\n attached to it, the DB instance is private.\n\n\n * If the subnets are part of a VPC that has an internet gateway attached\n to it, the DB instance is public." + description: "A value that indicates whether the DB instance is publicly accessible.\n\nWhen the DB instance is publicly accessible, its Domain Name System (DNS)\nendpoint resolves to the private IP address from within the DB instance's\nvirtual private cloud (VPC). It resolves to the public IP address from outside\nof the DB instance's VPC. Access to the DB instance is ultimately controlled\nby the security group it uses. That public access is not permitted if the\nsecurity group assigned to the DB instance doesn't permit it.\n\nWhen the DB instance isn't publicly accessible, it is an internal DB instance\nwith a DNS name that resolves to a private IP address.\n\nDefault: The default behavior varies depending on whether DBSubnetGroupName\nis specified.\n\nIf DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified,\nthe following applies:\n\n * If the default VPC in the target Region doesn’t have an internet gateway\n attached to it, the DB instance is private.\n\n * If the default VPC in the target Region has an internet gateway attached\n to it, the DB instance is public.\n\nIf DBSubnetGroupName is specified, and PubliclyAccessible isn't specified,\nthe following applies:\n\n * If the subnets are part of a VPC that doesn’t have an internet gateway\n attached to it, the DB instance is private.\n\n * If the subnets are part of a VPC that has an internet gateway attached\n to it, the DB instance is public." type: "boolean" replicaMode: - description: "The open mode of the replica database: mounted or read-only.\n\n\nThis parameter is only supported for Oracle DB instances.\n\n\nMounted DB replicas are included in Oracle Database Enterprise Edition. The\nmain use case for mounted replicas is cross-Region disaster recovery. The\nprimary database doesn't use Active Data Guard to transmit information to\nthe mounted replica. Because it doesn't accept user connections, a mounted\nreplica can't serve a read-only workload.\n\n\nYou can create a combination of mounted and read-only DB replicas for the\nsame primary DB instance. For more information, see Working with Oracle Read\nReplicas for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html)\nin the Amazon RDS User Guide.\n\n\nFor RDS Custom, you must specify this parameter and set it to mounted. The\nvalue won't be set by default. After replica creation, you can manage the\nopen mode manually." + description: "The open mode of the replica database: mounted or read-only.\n\nThis parameter is only supported for Oracle DB instances.\n\nMounted DB replicas are included in Oracle Database Enterprise Edition. The\nmain use case for mounted replicas is cross-Region disaster recovery. The\nprimary database doesn't use Active Data Guard to transmit information to\nthe mounted replica. Because it doesn't accept user connections, a mounted\nreplica can't serve a read-only workload.\n\nYou can create a combination of mounted and read-only DB replicas for the\nsame primary DB instance. For more information, see Working with Oracle Read\nReplicas for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html)\nin the Amazon RDS User Guide.\n\nFor RDS Custom, you must specify this parameter and set it to mounted. The\nvalue won't be set by default. After replica creation, you can manage the\nopen mode manually." type: "string" sourceDBInstanceIdentifier: - description: "The identifier of the DB instance that will act as the source for the read\nreplica. Each DB instance can have up to 15 read replicas, with the exception\nof Oracle and SQL Server, which can have up to five.\n\n\nConstraints:\n\n\n * Must be the identifier of an existing MySQL, MariaDB, Oracle, PostgreSQL,\n or SQL Server DB instance.\n\n\n * Can't be specified if the SourceDBClusterIdentifier parameter is also\n specified.\n\n\n * For the limitations of Oracle read replicas, see Version and licensing\n considerations for RDS for Oracle replicas (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.limitations.html#oracle-read-replicas.limitations.versions-and-licenses)\n in the Amazon RDS User Guide.\n\n\n * For the limitations of SQL Server read replicas, see Read replica limitations\n with SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.ReadReplicas.html#SQLServer.ReadReplicas.Limitations)\n in the Amazon RDS User Guide.\n\n\n * The specified DB instance must have automatic backups enabled, that\n is, its backup retention period must be greater than 0.\n\n\n * If the source DB instance is in the same Amazon Web Services Region\n as the read replica, specify a valid DB instance identifier.\n\n\n * If the source DB instance is in a different Amazon Web Services Region\n from the read replica, specify a valid DB instance ARN. For more information,\n see Constructing an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)\n in the Amazon RDS User Guide. This doesn't apply to SQL Server or RDS\n Custom, which don't support cross-Region replicas." + description: "The identifier of the DB instance that will act as the source for the read\nreplica. Each DB instance can have up to 15 read replicas, with the exception\nof Oracle and SQL Server, which can have up to five.\n\nConstraints:\n\n * Must be the identifier of an existing MySQL, MariaDB, Oracle, PostgreSQL,\n or SQL Server DB instance.\n\n * Can't be specified if the SourceDBClusterIdentifier parameter is also\n specified.\n\n * For the limitations of Oracle read replicas, see Version and licensing\n considerations for RDS for Oracle replicas (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.limitations.html#oracle-read-replicas.limitations.versions-and-licenses)\n in the Amazon RDS User Guide.\n\n * For the limitations of SQL Server read replicas, see Read replica limitations\n with SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.ReadReplicas.html#SQLServer.ReadReplicas.Limitations)\n in the Amazon RDS User Guide.\n\n * The specified DB instance must have automatic backups enabled, that\n is, its backup retention period must be greater than 0.\n\n * If the source DB instance is in the same Amazon Web Services Region\n as the read replica, specify a valid DB instance identifier.\n\n * If the source DB instance is in a different Amazon Web Services Region\n from the read replica, specify a valid DB instance ARN. For more information,\n see Constructing an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)\n in the Amazon RDS User Guide. This doesn't apply to SQL Server or RDS\n Custom, which don't support cross-Region replicas." type: "string" sourceRegion: description: "SourceRegion is the source region where the resource exists. This is not\nsent over the wire and is only used for presigning. This value should always\nhave the same region as the source ARN." type: "string" storageEncrypted: - description: "A value that indicates whether the DB instance is encrypted. By default,\nit isn't encrypted.\n\n\nFor RDS Custom instances, either set this parameter to true or leave it unset.\nIf you set this parameter to false, RDS reports an error.\n\n\nAmazon Aurora\n\n\nNot applicable. The encryption for DB instances is managed by the DB cluster." + description: "A value that indicates whether the DB instance is encrypted. By default,\nit isn't encrypted.\n\nFor RDS Custom instances, either set this parameter to true or leave it unset.\nIf you set this parameter to false, RDS reports an error.\n\nAmazon Aurora\n\nNot applicable. The encryption for DB instances is managed by the DB cluster." type: "boolean" storageThroughput: - description: "Specifies the storage throughput value for the DB instance.\n\n\nThis setting applies only to the gp3 storage type.\n\n\nThis setting doesn't apply to RDS Custom or Amazon Aurora." + description: "Specifies the storage throughput value for the DB instance.\n\nThis setting applies only to the gp3 storage type.\n\nThis setting doesn't apply to RDS Custom or Amazon Aurora." format: "int64" type: "integer" storageType: - description: "Specifies the storage type to be associated with the DB instance.\n\n\nValid values: gp2 | gp3 | io1 | standard\n\n\nIf you specify io1 or gp3, you must also include a value for the Iops parameter.\n\n\nDefault: io1 if the Iops parameter is specified, otherwise gp2\n\n\nAmazon Aurora\n\n\nNot applicable. Storage is managed by the DB cluster." + description: "Specifies the storage type to be associated with the DB instance.\n\nValid values: gp2 | gp3 | io1 | standard\n\nIf you specify io1 or gp3, you must also include a value for the Iops parameter.\n\nDefault: io1 if the Iops parameter is specified, otherwise gp2\n\nAmazon Aurora\n\nNot applicable. Storage is managed by the DB cluster." type: "string" tags: description: "Tags to assign to the DB instance." items: - description: "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\n\nFor more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide." + description: "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide." properties: key: type: "string" @@ -293,25 +293,25 @@ spec: type: "object" type: "array" tdeCredentialARN: - description: "The ARN from the key store with which to associate the instance for TDE encryption.\n\n\nThis setting doesn't apply to RDS Custom.\n\n\nAmazon Aurora\n\n\nNot applicable." + description: "The ARN from the key store with which to associate the instance for TDE encryption.\n\nThis setting doesn't apply to RDS Custom.\n\nAmazon Aurora\n\nNot applicable." type: "string" tdeCredentialPassword: - description: "The password for the given ARN from the key store in order to access the\ndevice.\n\n\nThis setting doesn't apply to RDS Custom." + description: "The password for the given ARN from the key store in order to access the\ndevice.\n\nThis setting doesn't apply to RDS Custom." type: "string" timezone: description: "The time zone of the DB instance. The time zone parameter is currently supported\nonly by Microsoft SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone)." type: "string" useDefaultProcessorFeatures: - description: "A value that indicates whether the DB instance class of the DB instance uses\nits default processor features.\n\n\nThis setting doesn't apply to RDS Custom." + description: "A value that indicates whether the DB instance class of the DB instance uses\nits default processor features.\n\nThis setting doesn't apply to RDS Custom." type: "boolean" vpcSecurityGroupIDs: - description: "A list of Amazon EC2 VPC security groups to associate with this DB instance.\n\n\nAmazon Aurora\n\n\nNot applicable. The associated list of EC2 VPC security groups is managed\nby the DB cluster.\n\n\nDefault: The default EC2 VPC security group for the DB subnet group's VPC." + description: "A list of Amazon EC2 VPC security groups to associate with this DB instance.\n\nAmazon Aurora\n\nNot applicable. The associated list of EC2 VPC security groups is managed\nby the DB cluster.\n\nDefault: The default EC2 VPC security group for the DB subnet group's VPC." items: type: "string" type: "array" vpcSecurityGroupRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -335,7 +335,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -424,7 +424,7 @@ spec: type: "object" type: "array" customerOwnedIPEnabled: - description: "Specifies whether a customer-owned IP address (CoIP) is enabled for an RDS\non Outposts DB instance.\n\n\nA CoIP provides local or external connectivity to resources in your Outpost\nsubnets through your on-premises network. For some use cases, a CoIP can\nprovide lower latency for connections to the DB instance from outside of\nits virtual private cloud (VPC) on your local network.\n\n\nFor more information about RDS on Outposts, see Working with Amazon RDS on\nAmazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)\nin the Amazon RDS User Guide.\n\n\nFor more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing)\nin the Amazon Web Services Outposts User Guide." + description: "Specifies whether a customer-owned IP address (CoIP) is enabled for an RDS\non Outposts DB instance.\n\nA CoIP provides local or external connectivity to resources in your Outpost\nsubnets through your on-premises network. For some use cases, a CoIP can\nprovide lower latency for connections to the DB instance from outside of\nits virtual private cloud (VPC) on your local network.\n\nFor more information about RDS on Outposts, see Working with Amazon RDS on\nAmazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)\nin the Amazon RDS User Guide.\n\nFor more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing)\nin the Amazon Web Services Outposts User Guide." type: "boolean" dbInstanceAutomatedBackupsReplications: description: "The list of replicated automated backups associated with the DB instance." @@ -440,12 +440,12 @@ spec: format: "int64" type: "integer" dbInstanceStatus: - description: "Specifies the current state of this database.\n\n\nFor information about DB instance statuses, see Viewing DB instance status\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/accessing-monitoring.html#Overview.DBInstance.Status)\nin the Amazon RDS User Guide." + description: "Specifies the current state of this database.\n\nFor information about DB instance statuses, see Viewing DB instance status\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/accessing-monitoring.html#Overview.DBInstance.Status)\nin the Amazon RDS User Guide." type: "string" dbParameterGroups: description: "Provides the list of DB parameter groups applied to this DB instance." items: - description: "The status of the DB parameter group.\n\n\nThis data type is used as a response element in the following actions:\n\n\n * CreateDBInstance\n\n\n * CreateDBInstanceReadReplica\n\n\n * DeleteDBInstance\n\n\n * ModifyDBInstance\n\n\n * RebootDBInstance\n\n\n * RestoreDBInstanceFromDBSnapshot" + description: "The status of the DB parameter group.\n\nThis data type is used as a response element in the following actions:\n\n * CreateDBInstance\n\n * CreateDBInstanceReadReplica\n\n * DeleteDBInstance\n\n * ModifyDBInstance\n\n * RebootDBInstance\n\n * RestoreDBInstanceFromDBSnapshot" properties: dbParameterGroupName: type: "string" @@ -469,7 +469,7 @@ spec: description: "This data type is used as a response element for the DescribeDBSubnetGroups\noperation." properties: subnetAvailabilityZone: - description: "Contains Availability Zone information.\n\n\nThis data type is used as an element in the OrderableDBInstanceOption data\ntype." + description: "Contains Availability Zone information.\n\nThis data type is used as an element in the OrderableDBInstanceOption data\ntype." properties: name: type: "string" @@ -477,7 +477,7 @@ spec: subnetIdentifier: type: "string" subnetOutpost: - description: "A data type that represents an Outpost.\n\n\nFor more information about RDS on Outposts, see Amazon RDS on Amazon Web\nServices Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)\nin the Amazon RDS User Guide." + description: "A data type that represents an Outpost.\n\nFor more information about RDS on Outposts, see Amazon RDS on Amazon Web\nServices Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)\nin the Amazon RDS User Guide." properties: arn: type: "string" @@ -515,12 +515,12 @@ spec: type: "object" type: "array" enabledCloudwatchLogsExports: - description: "A list of log types that this DB instance is configured to export to CloudWatch\nLogs.\n\n\nLog types vary by DB engine. For information about the log types for each\nDB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html)\nin the Amazon RDS User Guide." + description: "A list of log types that this DB instance is configured to export to CloudWatch\nLogs.\n\nLog types vary by DB engine. For information about the log types for each\nDB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html)\nin the Amazon RDS User Guide." items: type: "string" type: "array" endpoint: - description: "Specifies the connection endpoint.\n\n\nThe endpoint might not be shown for instances whose status is creating." + description: "Specifies the connection endpoint.\n\nThe endpoint might not be shown for instances whose status is creating." properties: address: type: "string" @@ -534,7 +534,7 @@ spec: description: "The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that\nreceives the Enhanced Monitoring metrics data for the DB instance." type: "string" iamDatabaseAuthenticationEnabled: - description: "True if mapping of Amazon Web Services Identity and Access Management (IAM)\naccounts to database accounts is enabled, and otherwise false.\n\n\nIAM database authentication can be enabled for the following database engines\n\n\n * For MySQL 5.6, minor version 5.6.34 or higher\n\n\n * For MySQL 5.7, minor version 5.7.16 or higher\n\n\n * Aurora 5.6 or higher. To enable IAM database authentication for Aurora,\n see DBCluster Type." + description: "True if mapping of Amazon Web Services Identity and Access Management (IAM)\naccounts to database accounts is enabled, and otherwise false.\n\nIAM database authentication can be enabled for the following database engines\n\n * For MySQL 5.6, minor version 5.6.34 or higher\n\n * For MySQL 5.7, minor version 5.7.16 or higher\n\n * Aurora 5.6 or higher. To enable IAM database authentication for Aurora,\n see DBCluster Type." type: "boolean" instanceCreateTime: description: "Provides the date and time the DB instance was created." @@ -556,7 +556,7 @@ spec: type: "integer" type: "object" masterUserSecret: - description: "Contains the secret managed by RDS in Amazon Web Services Secrets Manager\nfor the master user password.\n\n\nFor more information, see Password management with Amazon Web Services Secrets\nManager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)\nin the Amazon RDS User Guide." + description: "Contains the secret managed by RDS in Amazon Web Services Secrets Manager\nfor the master user password.\n\nFor more information, see Password management with Amazon Web Services Secrets\nManager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)\nin the Amazon RDS User Guide." properties: kmsKeyID: type: "string" @@ -625,7 +625,7 @@ spec: type: "integer" processorFeatures: items: - description: "Contains the processor features of a DB instance class.\n\n\nTo specify the number of CPU cores, use the coreCount feature name for the\nName parameter. To specify the number of threads per core, use the threadsPerCore\nfeature name for the Name parameter.\n\n\nYou can set the processor features of the DB instance class for a DB instance\nwhen you call one of the following actions:\n\n\n * CreateDBInstance\n\n\n * ModifyDBInstance\n\n\n * RestoreDBInstanceFromDBSnapshot\n\n\n * RestoreDBInstanceFromS3\n\n\n * RestoreDBInstanceToPointInTime\n\n\nYou can view the valid processor values for a particular instance class by\ncalling the DescribeOrderableDBInstanceOptions action and specifying the\ninstance class for the DBInstanceClass parameter.\n\n\nIn addition, you can use the following actions for DB instance class processor\ninformation:\n\n\n * DescribeDBInstances\n\n\n * DescribeDBSnapshots\n\n\n * DescribeValidDBInstanceModifications\n\n\nIf you call DescribeDBInstances, ProcessorFeature returns non-null values\nonly if the following conditions are met:\n\n\n * You are accessing an Oracle DB instance.\n\n\n * Your Oracle DB instance class supports configuring the number of CPU\n cores and threads per core.\n\n\n * The current number CPU cores and threads is set to a non-default value.\n\n\nFor more information, see Configuring the Processor of the DB Instance Class\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)\nin the Amazon RDS User Guide." + description: "Contains the processor features of a DB instance class.\n\nTo specify the number of CPU cores, use the coreCount feature name for the\nName parameter. To specify the number of threads per core, use the threadsPerCore\nfeature name for the Name parameter.\n\nYou can set the processor features of the DB instance class for a DB instance\nwhen you call one of the following actions:\n\n * CreateDBInstance\n\n * ModifyDBInstance\n\n * RestoreDBInstanceFromDBSnapshot\n\n * RestoreDBInstanceFromS3\n\n * RestoreDBInstanceToPointInTime\n\nYou can view the valid processor values for a particular instance class by\ncalling the DescribeOrderableDBInstanceOptions action and specifying the\ninstance class for the DBInstanceClass parameter.\n\nIn addition, you can use the following actions for DB instance class processor\ninformation:\n\n * DescribeDBInstances\n\n * DescribeDBSnapshots\n\n * DescribeValidDBInstanceModifications\n\nIf you call DescribeDBInstances, ProcessorFeature returns non-null values\nonly if the following conditions are met:\n\n * You are accessing an Oracle DB instance.\n\n * Your Oracle DB instance class supports configuring the number of CPU\n cores and threads per core.\n\n * The current number CPU cores and threads is set to a non-default value.\n\nFor more information, see Configuring the Processor of the DB Instance Class\n(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)\nin the Amazon RDS User Guide." properties: name: type: "string" @@ -643,7 +643,7 @@ spec: type: "string" type: "object" readReplicaDBClusterIdentifiers: - description: "Contains one or more identifiers of Aurora DB clusters to which the RDS DB\ninstance is replicated as a read replica. For example, when you create an\nAurora read replica of an RDS for MySQL DB instance, the Aurora MySQL DB\ncluster for the Aurora read replica is shown. This output doesn't contain\ninformation about cross-Region Aurora read replicas.\n\n\nCurrently, each RDS DB instance can have only one Aurora read replica." + description: "Contains one or more identifiers of Aurora DB clusters to which the RDS DB\ninstance is replicated as a read replica. For example, when you create an\nAurora read replica of an RDS for MySQL DB instance, the Aurora MySQL DB\ncluster for the Aurora read replica is shown. This output doesn't contain\ninformation about cross-Region Aurora read replicas.\n\nCurrently, each RDS DB instance can have only one Aurora read replica." items: type: "string" type: "array" diff --git a/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbparametergroups.yaml b/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbparametergroups.yaml index 580b37f80..9b353e2bf 100644 --- a/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbparametergroups.yaml +++ b/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbparametergroups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "dbparametergroups.rds.services.k8s.aws" spec: group: "rds.services.k8s.aws" @@ -27,16 +27,16 @@ spec: metadata: type: "object" spec: - description: "DBParameterGroupSpec defines the desired state of DBParameterGroup.\n\n\nContains the details of an Amazon RDS DB parameter group.\n\n\nThis data type is used as a response element in the DescribeDBParameterGroups\naction." + description: "DBParameterGroupSpec defines the desired state of DBParameterGroup.\n\nContains the details of an Amazon RDS DB parameter group.\n\nThis data type is used as a response element in the DescribeDBParameterGroups\naction." properties: description: description: "The description for the DB parameter group." type: "string" family: - description: "The DB parameter group family name. A DB parameter group can be associated\nwith one and only one DB parameter group family, and can be applied only\nto a DB instance running a database engine and engine version compatible\nwith that DB parameter group family.\n\n\nTo list all of the available parameter group families for a DB engine, use\nthe following command:\n\n\naws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\"\n--engine \n\n\nFor example, to list all of the available parameter group families for the\nMySQL DB engine, use the following command:\n\n\naws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\"\n--engine mysql\n\n\nThe output contains duplicates.\n\n\nThe following are the valid DB engine values:\n\n\n * aurora (for MySQL 5.6-compatible Aurora)\n\n\n * aurora-mysql (for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora)\n\n\n * aurora-postgresql\n\n\n * mariadb\n\n\n * mysql\n\n\n * oracle-ee\n\n\n * oracle-ee-cdb\n\n\n * oracle-se2\n\n\n * oracle-se2-cdb\n\n\n * postgres\n\n\n * sqlserver-ee\n\n\n * sqlserver-se\n\n\n * sqlserver-ex\n\n\n * sqlserver-web" + description: "The DB parameter group family name. A DB parameter group can be associated\nwith one and only one DB parameter group family, and can be applied only\nto a DB instance running a database engine and engine version compatible\nwith that DB parameter group family.\n\nTo list all of the available parameter group families for a DB engine, use\nthe following command:\n\naws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\"\n--engine \n\nFor example, to list all of the available parameter group families for the\nMySQL DB engine, use the following command:\n\naws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\"\n--engine mysql\n\nThe output contains duplicates.\n\nThe following are the valid DB engine values:\n\n * aurora (for MySQL 5.6-compatible Aurora)\n\n * aurora-mysql (for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora)\n\n * aurora-postgresql\n\n * mariadb\n\n * mysql\n\n * oracle-ee\n\n * oracle-ee-cdb\n\n * oracle-se2\n\n * oracle-se2-cdb\n\n * postgres\n\n * sqlserver-ee\n\n * sqlserver-se\n\n * sqlserver-ex\n\n * sqlserver-web" type: "string" name: - description: "The name of the DB parameter group.\n\n\nConstraints:\n\n\n * Must be 1 to 255 letters, numbers, or hyphens.\n\n\n * First character must be a letter\n\n\n * Can't end with a hyphen or contain two consecutive hyphens\n\n\nThis value is stored as a lowercase string." + description: "The name of the DB parameter group.\n\nConstraints:\n\n * Must be 1 to 255 letters, numbers, or hyphens.\n\n * First character must be a letter\n\n * Can't end with a hyphen or contain two consecutive hyphens\n\nThis value is stored as a lowercase string." type: "string" parameterOverrides: additionalProperties: @@ -45,7 +45,7 @@ spec: tags: description: "Tags to assign to the DB parameter group." items: - description: "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\n\nFor more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide." + description: "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide." properties: key: type: "string" @@ -65,7 +65,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -106,7 +106,7 @@ spec: parameterOverrideStatuses: description: "A list of Parameter values." items: - description: "This data type is used as a request parameter in the ModifyDBParameterGroup\nand ResetDBParameterGroup actions.\n\n\nThis data type is used as a response element in the DescribeEngineDefaultParameters\nand DescribeDBParameters actions." + description: "This data type is used as a request parameter in the ModifyDBParameterGroup\nand ResetDBParameterGroup actions.\n\nThis data type is used as a response element in the DescribeEngineDefaultParameters\nand DescribeDBParameters actions." properties: allowedValues: type: "string" diff --git a/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbproxies.yaml b/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbproxies.yaml index fd7c45a09..217b9d1e7 100644 --- a/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbproxies.yaml +++ b/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbproxies.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "dbproxies.rds.services.k8s.aws" spec: group: "rds.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "DBProxySpec defines the desired state of DBProxy.\n\n\nThe data structure representing a proxy managed by the RDS Proxy.\n\n\nThis data type is used as a response element in the DescribeDBProxies action." + description: "DBProxySpec defines the desired state of DBProxy.\n\nThe data structure representing a proxy managed by the RDS Proxy.\n\nThis data type is used as a response element in the DescribeDBProxies action." properties: auth: description: "The authorization mechanism that the proxy uses." @@ -70,7 +70,7 @@ spec: tags: description: "An optional set of key-value pairs to associate arbitrary data of your choosing\nwith the proxy." items: - description: "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\n\nFor more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide." + description: "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide." properties: key: type: "string" @@ -102,7 +102,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbsubnetgroups.yaml b/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbsubnetgroups.yaml index e5c1d687a..ef1385c2c 100644 --- a/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbsubnetgroups.yaml +++ b/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/dbsubnetgroups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "dbsubnetgroups.rds.services.k8s.aws" spec: group: "rds.services.k8s.aws" @@ -27,13 +27,13 @@ spec: metadata: type: "object" spec: - description: "DBSubnetGroupSpec defines the desired state of DBSubnetGroup.\n\n\nContains the details of an Amazon RDS DB subnet group.\n\n\nThis data type is used as a response element in the DescribeDBSubnetGroups\naction." + description: "DBSubnetGroupSpec defines the desired state of DBSubnetGroup.\n\nContains the details of an Amazon RDS DB subnet group.\n\nThis data type is used as a response element in the DescribeDBSubnetGroups\naction." properties: description: description: "The description for the DB subnet group." type: "string" name: - description: "The name for the DB subnet group. This value is stored as a lowercase string.\n\n\nConstraints:\n\n\n * Must contain no more than 255 letters, numbers, periods, underscores,\n spaces, or hyphens.\n\n\n * Must not be default.\n\n\n * First character must be a letter.\n\n\nExample: mydbsubnetgroup" + description: "The name for the DB subnet group. This value is stored as a lowercase string.\n\nConstraints:\n\n * Must contain no more than 255 letters, numbers, periods, underscores,\n spaces, or hyphens.\n\n * Must not be default.\n\n * First character must be a letter.\n\nExample: mydbsubnetgroup" type: "string" subnetIDs: description: "The EC2 Subnet IDs for the DB subnet group." @@ -42,7 +42,7 @@ spec: type: "array" subnetRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -57,7 +57,7 @@ spec: tags: description: "Tags to assign to the DB subnet group." items: - description: "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\n\nFor more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide." + description: "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)\nin the Amazon RDS User Guide." properties: key: type: "string" @@ -76,7 +76,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -123,7 +123,7 @@ spec: description: "This data type is used as a response element for the DescribeDBSubnetGroups\noperation." properties: subnetAvailabilityZone: - description: "Contains Availability Zone information.\n\n\nThis data type is used as an element in the OrderableDBInstanceOption data\ntype." + description: "Contains Availability Zone information.\n\nThis data type is used as an element in the OrderableDBInstanceOption data\ntype." properties: name: type: "string" @@ -131,7 +131,7 @@ spec: subnetIdentifier: type: "string" subnetOutpost: - description: "A data type that represents an Outpost.\n\n\nFor more information about RDS on Outposts, see Amazon RDS on Amazon Web\nServices Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)\nin the Amazon RDS User Guide." + description: "A data type that represents an Outpost.\n\nFor more information about RDS on Outposts, see Amazon RDS on Amazon Web\nServices Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)\nin the Amazon RDS User Guide." properties: arn: type: "string" @@ -141,7 +141,7 @@ spec: type: "object" type: "array" supportedNetworkTypes: - description: "The network type of the DB subnet group.\n\n\nValid values:\n\n\n * IPV4\n\n\n * DUAL\n\n\nA DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6\nprotocols (DUAL).\n\n\nFor more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html)\nin the Amazon RDS User Guide." + description: "The network type of the DB subnet group.\n\nValid values:\n\n * IPV4\n\n * DUAL\n\nA DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6\nprotocols (DUAL).\n\nFor more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html)\nin the Amazon RDS User Guide." items: type: "string" type: "array" diff --git a/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/globalclusters.yaml b/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/globalclusters.yaml index 4244cb27d..d678b4cfc 100644 --- a/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/globalclusters.yaml +++ b/crd-catalog/aws-controllers-k8s/rds-controller/rds.services.k8s.aws/v1alpha1/globalclusters.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "globalclusters.rds.services.k8s.aws" spec: group: "rds.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "GlobalClusterSpec defines the desired state of GlobalCluster.\n\n\nA data type representing an Aurora global database." + description: "GlobalClusterSpec defines the desired state of GlobalCluster.\n\nA data type representing an Aurora global database." properties: databaseName: description: "The name for your database of up to 64 alphanumeric characters. If you do\nnot provide a name, Amazon Aurora will not create a database in the global\ndatabase cluster you are creating." @@ -58,7 +58,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/route53-controller/route53.services.k8s.aws/v1alpha1/hostedzones.yaml b/crd-catalog/aws-controllers-k8s/route53-controller/route53.services.k8s.aws/v1alpha1/hostedzones.yaml index fb0f6b8ae..d975f64b7 100644 --- a/crd-catalog/aws-controllers-k8s/route53-controller/route53.services.k8s.aws/v1alpha1/hostedzones.yaml +++ b/crd-catalog/aws-controllers-k8s/route53-controller/route53.services.k8s.aws/v1alpha1/hostedzones.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "hostedzones.route53.services.k8s.aws" spec: group: "route53.services.k8s.aws" @@ -27,13 +27,13 @@ spec: metadata: type: "object" spec: - description: "HostedZoneSpec defines the desired state of HostedZone.\n\n\nA complex type that contains general information about the hosted zone." + description: "HostedZoneSpec defines the desired state of HostedZone.\n\nA complex type that contains general information about the hosted zone." properties: delegationSetID: - description: "If you want to associate a reusable delegation set with this hosted zone,\nthe ID that Amazon Route 53 assigned to the reusable delegation set when\nyou created it. For more information about reusable delegation sets, see\nCreateReusableDelegationSet (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html).\n\n\nIf you are using a reusable delegation set to create a public hosted zone\nfor a subdomain, make sure that the parent hosted zone doesn't use one or\nmore of the same name servers. If you have overlapping nameservers, the operation\nwill cause a ConflictingDomainsExist error." + description: "If you want to associate a reusable delegation set with this hosted zone,\nthe ID that Amazon Route 53 assigned to the reusable delegation set when\nyou created it. For more information about reusable delegation sets, see\nCreateReusableDelegationSet (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html).\n\nIf you are using a reusable delegation set to create a public hosted zone\nfor a subdomain, make sure that the parent hosted zone doesn't use one or\nmore of the same name servers. If you have overlapping nameservers, the operation\nwill cause a ConflictingDomainsExist error." type: "string" hostedZoneConfig: - description: "(Optional) A complex type that contains the following optional values:\n\n\n * For public and private hosted zones, an optional comment\n\n\n * For private hosted zones, an optional PrivateZone element\n\n\nIf you don't specify a comment or the PrivateZone element, omit HostedZoneConfig\nand the other elements." + description: "(Optional) A complex type that contains the following optional values:\n\n * For public and private hosted zones, an optional comment\n\n * For private hosted zones, an optional PrivateZone element\n\nIf you don't specify a comment or the PrivateZone element, omit HostedZoneConfig\nand the other elements." properties: comment: type: "string" @@ -41,10 +41,10 @@ spec: type: "boolean" type: "object" name: - description: "The name of the domain. Specify a fully qualified domain name, for example,\nwww.example.com. The trailing dot is optional; Amazon Route 53 assumes that\nthe domain name is fully qualified. This means that Route 53 treats www.example.com\n(without a trailing dot) and www.example.com. (with a trailing dot) as identical.\n\n\nIf you're creating a public hosted zone, this is the name you have registered\nwith your DNS registrar. If your domain name is registered with a registrar\nother than Route 53, change the name servers for your domain to the set of\nNameServers that CreateHostedZone returns in DelegationSet." + description: "The name of the domain. Specify a fully qualified domain name, for example,\nwww.example.com. The trailing dot is optional; Amazon Route 53 assumes that\nthe domain name is fully qualified. This means that Route 53 treats www.example.com\n(without a trailing dot) and www.example.com. (with a trailing dot) as identical.\n\nIf you're creating a public hosted zone, this is the name you have registered\nwith your DNS registrar. If your domain name is registered with a registrar\nother than Route 53, change the name servers for your domain to the set of\nNameServers that CreateHostedZone returns in DelegationSet." type: "string" tags: - description: "A complex type that contains a list of the tags that you want to add to the\nspecified health check or hosted zone and/or the tags that you want to edit\nValue for.\n\n\nYou can add a maximum of 10 tags to a health check or a hosted zone." + description: "A complex type that contains a list of the tags that you want to add to the\nspecified health check or hosted zone and/or the tags that you want to edit\nValue for.\n\nYou can add a maximum of 10 tags to a health check or a hosted zone." items: description: "A complex type that contains information about a tag that you want to add\nor edit for the specified health check or hosted zone." properties: @@ -55,7 +55,7 @@ spec: type: "object" type: "array" vpc: - description: "(Private hosted zones only) A complex type that contains information about\nthe Amazon VPC that you're associating with this hosted zone.\n\n\nYou can specify only one Amazon VPC when you create a private hosted zone.\nIf you are associating a VPC with a hosted zone with this request, the paramaters\nVPCId and VPCRegion are also required.\n\n\nTo associate additional Amazon VPCs with the hosted zone, use AssociateVPCWithHostedZone\n(https://docs.aws.amazon.com/Route53/latest/APIReference/API_AssociateVPCWithHostedZone.html)\nafter you create a hosted zone." + description: "(Private hosted zones only) A complex type that contains information about\nthe Amazon VPC that you're associating with this hosted zone.\n\nYou can specify only one Amazon VPC when you create a private hosted zone.\nIf you are associating a VPC with a hosted zone with this request, the paramaters\nVPCId and VPCRegion are also required.\n\nTo associate additional Amazon VPCs with the hosted zone, use AssociateVPCWithHostedZone\n(https://docs.aws.amazon.com/Route53/latest/APIReference/API_AssociateVPCWithHostedZone.html)\nafter you create a hosted zone." properties: vpcID: description: "(Private hosted zones only) The ID of an Amazon VPC." @@ -73,7 +73,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/route53-controller/route53.services.k8s.aws/v1alpha1/recordsets.yaml b/crd-catalog/aws-controllers-k8s/route53-controller/route53.services.k8s.aws/v1alpha1/recordsets.yaml index 678b49ab1..262a6af70 100644 --- a/crd-catalog/aws-controllers-k8s/route53-controller/route53.services.k8s.aws/v1alpha1/recordsets.yaml +++ b/crd-catalog/aws-controllers-k8s/route53-controller/route53.services.k8s.aws/v1alpha1/recordsets.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "recordsets.route53.services.k8s.aws" spec: group: "route53.services.k8s.aws" @@ -34,7 +34,7 @@ spec: description: "RecordSetSpec defines the desired state of RecordSet." properties: aliasTarget: - description: "Alias resource record sets only: Information about the Amazon Web Services\nresource, such as a CloudFront distribution or an Amazon S3 bucket, that\nyou want to route traffic to.\n\n\nIf you're creating resource records sets for a private hosted zone, note\nthe following:\n\n\n * You can't create an alias resource record set in a private hosted zone\n to route traffic to a CloudFront distribution.\n\n\n * For information about creating failover resource record sets in a private\n hosted zone, see Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n in the Amazon Route 53 Developer Guide." + description: "Alias resource record sets only: Information about the Amazon Web Services\nresource, such as a CloudFront distribution or an Amazon S3 bucket, that\nyou want to route traffic to.\n\nIf you're creating resource records sets for a private hosted zone, note\nthe following:\n\n * You can't create an alias resource record set in a private hosted zone\n to route traffic to a CloudFront distribution.\n\n * For information about creating failover resource record sets in a private\n hosted zone, see Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n in the Amazon Route 53 Developer Guide." properties: dnsName: type: "string" @@ -56,7 +56,7 @@ spec: description: "Information about the resource record set to create or delete." properties: aliasTarget: - description: "Alias resource record sets only: Information about the Amazon Web Services\nresource, such as a CloudFront distribution or an Amazon S3 bucket, that\nyou want to route traffic to.\n\n\nWhen creating resource record sets for a private hosted zone, note the following:\n\n\n * For information about creating failover resource record sets in a private\n hosted zone, see Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)." + description: "Alias resource record sets only: Information about the Amazon Web Services\nresource, such as a CloudFront distribution or an Amazon S3 bucket, that\nyou want to route traffic to.\n\nWhen creating resource record sets for a private hosted zone, note the following:\n\n * For information about creating failover resource record sets in a private\n hosted zone, see Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)." properties: dnsName: type: "string" @@ -66,7 +66,7 @@ spec: type: "string" type: "object" cidrRoutingConfig: - description: "The object that is specified in resource record set object when you are linking\na resource record set to a CIDR location.\n\n\nA LocationName with an asterisk “*” can be used to create a default CIDR\nrecord. CollectionId is still required for default record." + description: "The object that is specified in resource record set object when you are linking\na resource record set to a CIDR location.\n\nA LocationName with an asterisk “*” can be used to create a default CIDR\nrecord. CollectionId is still required for default record." properties: collectionID: type: "string" @@ -95,7 +95,7 @@ spec: type: "string" resourceRecords: items: - description: "Information specific to the resource record.\n\n\nIf you're creating an alias resource record set, omit ResourceRecord." + description: "Information specific to the resource record.\n\nIf you're creating an alias resource record set, omit ResourceRecord." properties: value: type: "string" @@ -120,7 +120,7 @@ spec: type: "string" type: "object" cidrRoutingConfig: - description: "The object that is specified in resource record set object when you are linking\na resource record set to a CIDR location.\n\n\nA LocationName with an asterisk “*” can be used to create a default CIDR\nrecord. CollectionId is still required for default record." + description: "The object that is specified in resource record set object when you are linking\na resource record set to a CIDR location.\n\nA LocationName with an asterisk “*” can be used to create a default CIDR\nrecord. CollectionId is still required for default record." properties: collectionID: type: "string" @@ -128,10 +128,10 @@ spec: type: "string" type: "object" failover: - description: "Failover resource record sets only: To configure failover, you add the Failover\nelement to two resource record sets. For one resource record set, you specify\nPRIMARY as the value for Failover; for the other resource record set, you\nspecify SECONDARY. In addition, you include the HealthCheckId element and\nspecify the health check that you want Amazon Route 53 to perform for each\nresource record set.\n\n\nExcept where noted, the following failover behaviors assume that you have\nincluded the HealthCheckId element in both resource record sets:\n\n\n * When the primary resource record set is healthy, Route 53 responds to\n DNS queries with the applicable value from the primary resource record\n set regardless of the health of the secondary resource record set.\n\n\n * When the primary resource record set is unhealthy and the secondary\n resource record set is healthy, Route 53 responds to DNS queries with\n the applicable value from the secondary resource record set.\n\n\n * When the secondary resource record set is unhealthy, Route 53 responds\n to DNS queries with the applicable value from the primary resource record\n set regardless of the health of the primary resource record set.\n\n\n * If you omit the HealthCheckId element for the secondary resource record\n set, and if the primary resource record set is unhealthy, Route 53 always\n responds to DNS queries with the applicable value from the secondary resource\n record set. This is true regardless of the health of the associated endpoint.\n\n\nYou can't create non-failover resource record sets that have the same values\nfor the Name and Type elements as failover resource record sets.\n\n\nFor failover alias resource record sets, you must also include the EvaluateTargetHealth\nelement and set the value to true.\n\n\nFor more information about configuring failover for Route 53, see the following\ntopics in the Amazon Route 53 Developer Guide:\n\n\n * Route 53 Health Checks and DNS Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n\n\n * Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)" + description: "Failover resource record sets only: To configure failover, you add the Failover\nelement to two resource record sets. For one resource record set, you specify\nPRIMARY as the value for Failover; for the other resource record set, you\nspecify SECONDARY. In addition, you include the HealthCheckId element and\nspecify the health check that you want Amazon Route 53 to perform for each\nresource record set.\n\nExcept where noted, the following failover behaviors assume that you have\nincluded the HealthCheckId element in both resource record sets:\n\n * When the primary resource record set is healthy, Route 53 responds to\n DNS queries with the applicable value from the primary resource record\n set regardless of the health of the secondary resource record set.\n\n * When the primary resource record set is unhealthy and the secondary\n resource record set is healthy, Route 53 responds to DNS queries with\n the applicable value from the secondary resource record set.\n\n * When the secondary resource record set is unhealthy, Route 53 responds\n to DNS queries with the applicable value from the primary resource record\n set regardless of the health of the primary resource record set.\n\n * If you omit the HealthCheckId element for the secondary resource record\n set, and if the primary resource record set is unhealthy, Route 53 always\n responds to DNS queries with the applicable value from the secondary resource\n record set. This is true regardless of the health of the associated endpoint.\n\nYou can't create non-failover resource record sets that have the same values\nfor the Name and Type elements as failover resource record sets.\n\nFor failover alias resource record sets, you must also include the EvaluateTargetHealth\nelement and set the value to true.\n\nFor more information about configuring failover for Route 53, see the following\ntopics in the Amazon Route 53 Developer Guide:\n\n * Route 53 Health Checks and DNS Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n\n * Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)" type: "string" geoLocation: - description: "Geolocation resource record sets only: A complex type that lets you control\nhow Amazon Route 53 responds to DNS queries based on the geographic origin\nof the query. For example, if you want all queries from Africa to be routed\nto a web server with an IP address of 192.0.2.111, create a resource record\nset with a Type of A and a ContinentCode of AF.\n\n\nAlthough creating geolocation and geolocation alias resource record sets\nin a private hosted zone is allowed, it's not supported.\n\n\nIf you create separate resource record sets for overlapping geographic regions\n(for example, one resource record set for a continent and one for a country\non the same continent), priority goes to the smallest geographic region.\nThis allows you to route most queries for a continent to one resource and\nto route queries for a country on that continent to a different resource.\n\n\nYou can't create two geolocation resource record sets that specify the same\ngeographic location.\n\n\nThe value * in the CountryCode element matches all geographic locations that\naren't specified in other geolocation resource record sets that have the\nsame values for the Name and Type elements.\n\n\nGeolocation works by mapping IP addresses to locations. However, some IP\naddresses aren't mapped to geographic locations, so even if you create geolocation\nresource record sets that cover all seven continents, Route 53 will receive\nsome DNS queries from locations that it can't identify. We recommend that\nyou create a resource record set for which the value of CountryCode is *.\nTwo groups of queries are routed to the resource that you specify in this\nrecord: queries that come from locations for which you haven't created geolocation\nresource record sets and queries from IP addresses that aren't mapped to\na location. If you don't create a * resource record set, Route 53 returns\na \"no answer\" response for queries from those locations.\n\n\nYou can't create non-geolocation resource record sets that have the same\nvalues for the Name and Type elements as geolocation resource record sets." + description: "Geolocation resource record sets only: A complex type that lets you control\nhow Amazon Route 53 responds to DNS queries based on the geographic origin\nof the query. For example, if you want all queries from Africa to be routed\nto a web server with an IP address of 192.0.2.111, create a resource record\nset with a Type of A and a ContinentCode of AF.\n\nAlthough creating geolocation and geolocation alias resource record sets\nin a private hosted zone is allowed, it's not supported.\n\nIf you create separate resource record sets for overlapping geographic regions\n(for example, one resource record set for a continent and one for a country\non the same continent), priority goes to the smallest geographic region.\nThis allows you to route most queries for a continent to one resource and\nto route queries for a country on that continent to a different resource.\n\nYou can't create two geolocation resource record sets that specify the same\ngeographic location.\n\nThe value * in the CountryCode element matches all geographic locations that\naren't specified in other geolocation resource record sets that have the\nsame values for the Name and Type elements.\n\nGeolocation works by mapping IP addresses to locations. However, some IP\naddresses aren't mapped to geographic locations, so even if you create geolocation\nresource record sets that cover all seven continents, Route 53 will receive\nsome DNS queries from locations that it can't identify. We recommend that\nyou create a resource record set for which the value of CountryCode is *.\nTwo groups of queries are routed to the resource that you specify in this\nrecord: queries that come from locations for which you haven't created geolocation\nresource record sets and queries from IP addresses that aren't mapped to\na location. If you don't create a * resource record set, Route 53 returns\na \"no answer\" response for queries from those locations.\n\nYou can't create non-geolocation resource record sets that have the same\nvalues for the Name and Type elements as geolocation resource record sets." properties: continentCode: type: "string" @@ -141,13 +141,13 @@ spec: type: "string" type: "object" healthCheckID: - description: "If you want Amazon Route 53 to return this resource record set in response\nto a DNS query only when the status of a health check is healthy, include\nthe HealthCheckId element and specify the ID of the applicable health check.\n\n\nRoute 53 determines whether a resource record set is healthy based on one\nof the following:\n\n\n * By periodically sending a request to the endpoint that is specified\n in the health check\n\n\n * By aggregating the status of a specified group of health checks (calculated\n health checks)\n\n\n * By determining the current state of a CloudWatch alarm (CloudWatch metric\n health checks)\n\n\nRoute 53 doesn't check the health of the endpoint that is specified in the\nresource record set, for example, the endpoint specified by the IP address\nin the Value element. When you add a HealthCheckId element to a resource\nrecord set, Route 53 checks the health of the endpoint that you specified\nin the health check.\n\n\nFor more information, see the following topics in the Amazon Route 53 Developer\nGuide:\n\n\n * How Amazon Route 53 Determines Whether an Endpoint Is Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)\n\n\n * Route 53 Health Checks and DNS Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n\n\n * Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n\n\nWhen to Specify HealthCheckId\n\n\nSpecifying a value for HealthCheckId is useful only when Route 53 is choosing\nbetween two or more resource record sets to respond to a DNS query, and you\nwant Route 53 to base the choice in part on the status of a health check.\nConfiguring health checks makes sense only in the following configurations:\n\n\n * Non-alias resource record sets: You're checking the health of a group\n of non-alias resource record sets that have the same routing policy, name,\n and type (such as multiple weighted records named www.example.com with\n a type of A) and you specify health check IDs for all the resource record\n sets. If the health check status for a resource record set is healthy,\n Route 53 includes the record among the records that it responds to DNS\n queries with. If the health check status for a resource record set is\n unhealthy, Route 53 stops responding to DNS queries using the value for\n that resource record set. If the health check status for all resource\n record sets in the group is unhealthy, Route 53 considers all resource\n record sets in the group healthy and responds to DNS queries accordingly.\n\n\n * Alias resource record sets: You specify the following settings: You\n set EvaluateTargetHealth to true for an alias resource record set in a\n group of resource record sets that have the same routing policy, name,\n and type (such as multiple weighted records named www.example.com with\n a type of A). You configure the alias resource record set to route traffic\n to a non-alias resource record set in the same hosted zone. You specify\n a health check ID for the non-alias resource record set. If the health\n check status is healthy, Route 53 considers the alias resource record\n set to be healthy and includes the alias record among the records that\n it responds to DNS queries with. If the health check status is unhealthy,\n Route 53 stops responding to DNS queries using the alias resource record\n set. The alias resource record set can also route traffic to a group of\n non-alias resource record sets that have the same routing policy, name,\n and type. In that configuration, associate health checks with all of the\n resource record sets in the group of non-alias resource record sets.\n\n\nGeolocation Routing\n\n\nFor geolocation resource record sets, if an endpoint is unhealthy, Route\n53 looks for a resource record set for the larger, associated geographic\nregion. For example, suppose you have resource record sets for a state in\nthe United States, for the entire United States, for North America, and a\nresource record set that has * for CountryCode is *, which applies to all\nlocations. If the endpoint for the state resource record set is unhealthy,\nRoute 53 checks for healthy resource record sets in the following order until\nit finds a resource record set for which the endpoint is healthy:\n\n\n * The United States\n\n\n * North America\n\n\n * The default resource record set\n\n\nSpecifying the Health Check Endpoint by Domain Name\n\n\nIf your health checks specify the endpoint only by domain name, we recommend\nthat you create a separate health check for each endpoint. For example, create\na health check for each HTTP server that is serving content for www.example.com.\nFor the value of FullyQualifiedDomainName, specify the domain name of the\nserver (such as us-east-2-www.example.com), not the name of the resource\nrecord sets (www.example.com).\n\n\nHealth check results will be unpredictable if you do the following:\n\n\n * Create a health check that has the same value for FullyQualifiedDomainName\n as the name of a resource record set.\n\n\n * Associate that health check with the resource record set." + description: "If you want Amazon Route 53 to return this resource record set in response\nto a DNS query only when the status of a health check is healthy, include\nthe HealthCheckId element and specify the ID of the applicable health check.\n\nRoute 53 determines whether a resource record set is healthy based on one\nof the following:\n\n * By periodically sending a request to the endpoint that is specified\n in the health check\n\n * By aggregating the status of a specified group of health checks (calculated\n health checks)\n\n * By determining the current state of a CloudWatch alarm (CloudWatch metric\n health checks)\n\nRoute 53 doesn't check the health of the endpoint that is specified in the\nresource record set, for example, the endpoint specified by the IP address\nin the Value element. When you add a HealthCheckId element to a resource\nrecord set, Route 53 checks the health of the endpoint that you specified\nin the health check.\n\nFor more information, see the following topics in the Amazon Route 53 Developer\nGuide:\n\n * How Amazon Route 53 Determines Whether an Endpoint Is Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)\n\n * Route 53 Health Checks and DNS Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n\n * Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n\nWhen to Specify HealthCheckId\n\nSpecifying a value for HealthCheckId is useful only when Route 53 is choosing\nbetween two or more resource record sets to respond to a DNS query, and you\nwant Route 53 to base the choice in part on the status of a health check.\nConfiguring health checks makes sense only in the following configurations:\n\n * Non-alias resource record sets: You're checking the health of a group\n of non-alias resource record sets that have the same routing policy, name,\n and type (such as multiple weighted records named www.example.com with\n a type of A) and you specify health check IDs for all the resource record\n sets. If the health check status for a resource record set is healthy,\n Route 53 includes the record among the records that it responds to DNS\n queries with. If the health check status for a resource record set is\n unhealthy, Route 53 stops responding to DNS queries using the value for\n that resource record set. If the health check status for all resource\n record sets in the group is unhealthy, Route 53 considers all resource\n record sets in the group healthy and responds to DNS queries accordingly.\n\n * Alias resource record sets: You specify the following settings: You\n set EvaluateTargetHealth to true for an alias resource record set in a\n group of resource record sets that have the same routing policy, name,\n and type (such as multiple weighted records named www.example.com with\n a type of A). You configure the alias resource record set to route traffic\n to a non-alias resource record set in the same hosted zone. You specify\n a health check ID for the non-alias resource record set. If the health\n check status is healthy, Route 53 considers the alias resource record\n set to be healthy and includes the alias record among the records that\n it responds to DNS queries with. If the health check status is unhealthy,\n Route 53 stops responding to DNS queries using the alias resource record\n set. The alias resource record set can also route traffic to a group of\n non-alias resource record sets that have the same routing policy, name,\n and type. In that configuration, associate health checks with all of the\n resource record sets in the group of non-alias resource record sets.\n\nGeolocation Routing\n\nFor geolocation resource record sets, if an endpoint is unhealthy, Route\n53 looks for a resource record set for the larger, associated geographic\nregion. For example, suppose you have resource record sets for a state in\nthe United States, for the entire United States, for North America, and a\nresource record set that has * for CountryCode is *, which applies to all\nlocations. If the endpoint for the state resource record set is unhealthy,\nRoute 53 checks for healthy resource record sets in the following order until\nit finds a resource record set for which the endpoint is healthy:\n\n * The United States\n\n * North America\n\n * The default resource record set\n\nSpecifying the Health Check Endpoint by Domain Name\n\nIf your health checks specify the endpoint only by domain name, we recommend\nthat you create a separate health check for each endpoint. For example, create\na health check for each HTTP server that is serving content for www.example.com.\nFor the value of FullyQualifiedDomainName, specify the domain name of the\nserver (such as us-east-2-www.example.com), not the name of the resource\nrecord sets (www.example.com).\n\nHealth check results will be unpredictable if you do the following:\n\n * Create a health check that has the same value for FullyQualifiedDomainName\n as the name of a resource record set.\n\n * Associate that health check with the resource record set." type: "string" hostedZoneID: description: "The ID of the hosted zone that contains the resource record sets that you\nwant to change." type: "string" hostedZoneRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -159,35 +159,35 @@ spec: type: "object" type: "object" multiValueAnswer: - description: "Multivalue answer resource record sets only: To route traffic approximately\nrandomly to multiple resources, such as web servers, create one multivalue\nanswer record for each resource and specify true for MultiValueAnswer. Note\nthe following:\n\n\n * If you associate a health check with a multivalue answer resource record\n set, Amazon Route 53 responds to DNS queries with the corresponding IP\n address only when the health check is healthy.\n\n\n * If you don't associate a health check with a multivalue answer record,\n Route 53 always considers the record to be healthy.\n\n\n * Route 53 responds to DNS queries with up to eight healthy records; if\n you have eight or fewer healthy records, Route 53 responds to all DNS\n queries with all the healthy records.\n\n\n * If you have more than eight healthy records, Route 53 responds to different\n DNS resolvers with different combinations of healthy records.\n\n\n * When all records are unhealthy, Route 53 responds to DNS queries with\n up to eight unhealthy records.\n\n\n * If a resource becomes unavailable after a resolver caches a response,\n client software typically tries another of the IP addresses in the response.\n\n\nYou can't create multivalue answer alias records." + description: "Multivalue answer resource record sets only: To route traffic approximately\nrandomly to multiple resources, such as web servers, create one multivalue\nanswer record for each resource and specify true for MultiValueAnswer. Note\nthe following:\n\n * If you associate a health check with a multivalue answer resource record\n set, Amazon Route 53 responds to DNS queries with the corresponding IP\n address only when the health check is healthy.\n\n * If you don't associate a health check with a multivalue answer record,\n Route 53 always considers the record to be healthy.\n\n * Route 53 responds to DNS queries with up to eight healthy records; if\n you have eight or fewer healthy records, Route 53 responds to all DNS\n queries with all the healthy records.\n\n * If you have more than eight healthy records, Route 53 responds to different\n DNS resolvers with different combinations of healthy records.\n\n * When all records are unhealthy, Route 53 responds to DNS queries with\n up to eight unhealthy records.\n\n * If a resource becomes unavailable after a resolver caches a response,\n client software typically tries another of the IP addresses in the response.\n\nYou can't create multivalue answer alias records." type: "boolean" name: - description: "For ChangeResourceRecordSets requests, the name of the record that you want\nto create, update, or delete. For ListResourceRecordSets responses, the name\nof a record in the specified hosted zone.\n\n\nChangeResourceRecordSets Only\n\n\nEnter a fully qualified domain name, for example, www.example.com. You can\noptionally include a trailing dot. If you omit the trailing dot, Amazon Route\n53 assumes that the domain name that you specify is fully qualified. This\nmeans that Route 53 treats www.example.com (without a trailing dot) and www.example.com.\n(with a trailing dot) as identical.\n\n\nFor information about how to specify characters other than a-z, 0-9, and\n- (hyphen) and how to specify internationalized domain names, see DNS Domain\nName Format (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html)\nin the Amazon Route 53 Developer Guide.\n\n\nYou can use the asterisk (*) wildcard to replace the leftmost label in a\ndomain name, for example, *.example.com. Note the following:\n\n\n * The * must replace the entire label. For example, you can't specify\n *prod.example.com or prod*.example.com.\n\n\n * The * can't replace any of the middle labels, for example, marketing.*.example.com.\n\n\n * If you include * in any position other than the leftmost label in a\n domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.\n You can't use the * wildcard for resource records sets that have a type\n of NS.\n\n\nYou can use the * wildcard as the leftmost label in a domain name, for example,\n*.example.com. You can't use an * for one of the middle labels, for example,\nmarketing.*.example.com. In addition, the * must replace the entire label;\nfor example, you can't specify prod*.example.com." + description: "For ChangeResourceRecordSets requests, the name of the record that you want\nto create, update, or delete. For ListResourceRecordSets responses, the name\nof a record in the specified hosted zone.\n\nChangeResourceRecordSets Only\n\nEnter a fully qualified domain name, for example, www.example.com. You can\noptionally include a trailing dot. If you omit the trailing dot, Amazon Route\n53 assumes that the domain name that you specify is fully qualified. This\nmeans that Route 53 treats www.example.com (without a trailing dot) and www.example.com.\n(with a trailing dot) as identical.\n\nFor information about how to specify characters other than a-z, 0-9, and\n- (hyphen) and how to specify internationalized domain names, see DNS Domain\nName Format (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html)\nin the Amazon Route 53 Developer Guide.\n\nYou can use the asterisk (*) wildcard to replace the leftmost label in a\ndomain name, for example, *.example.com. Note the following:\n\n * The * must replace the entire label. For example, you can't specify\n *prod.example.com or prod*.example.com.\n\n * The * can't replace any of the middle labels, for example, marketing.*.example.com.\n\n * If you include * in any position other than the leftmost label in a\n domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.\n You can't use the * wildcard for resource records sets that have a type\n of NS.\n\nYou can use the * wildcard as the leftmost label in a domain name, for example,\n*.example.com. You can't use an * for one of the middle labels, for example,\nmarketing.*.example.com. In addition, the * must replace the entire label;\nfor example, you can't specify prod*.example.com." type: "string" recordType: - description: "The DNS record type. For information about different record types and how\ndata is encoded for them, see Supported DNS Resource Record Types (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html)\nin the Amazon Route 53 Developer Guide.\n\n\nValid values for basic resource record sets: A | AAAA | CAA | CNAME | DS\n|MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT\n\n\nValues for weighted, latency, geolocation, and failover resource record sets:\nA | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating\na group of weighted, latency, geolocation, or failover resource record sets,\nspecify the same value for all of the resource record sets in the group.\n\n\nValid values for multivalue answer resource record sets: A | AAAA | MX |\nNAPTR | PTR | SPF | SRV | TXT\n\n\nSPF records were formerly used to verify the identity of the sender of email\nmessages. However, we no longer recommend that you create resource record\nsets for which the value of Type is SPF. RFC 7208, Sender Policy Framework\n(SPF) for Authorizing Use of Domains in Email, Version 1, has been updated\nto say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to\nsome interoperability issues. Accordingly, its use is no longer appropriate\nfor SPF version 1; implementations are not to use it.\" In RFC 7208, see section\n14.1, The SPF DNS Record Type (http://tools.ietf.org/html/rfc7208#section-14.1).\n\n\nValues for alias resource record sets:\n\n\n * Amazon API Gateway custom regional APIs and edge-optimized APIs: A\n\n\n * CloudFront distributions: A If IPv6 is enabled for the distribution,\n create two resource record sets to route traffic to your distribution,\n one with a value of A and one with a value of AAAA.\n\n\n * Amazon API Gateway environment that has a regionalized subdomain: A\n\n\n * ELB load balancers: A | AAAA\n\n\n * Amazon S3 buckets: A\n\n\n * Amazon Virtual Private Cloud interface VPC endpoints A\n\n\n * Another resource record set in this hosted zone: Specify the type of\n the resource record set that you're creating the alias for. All values\n are supported except NS and SOA. If you're creating an alias record that\n has the same name as the hosted zone (known as the zone apex), you can't\n route traffic to a record for which the value of Type is CNAME. This is\n because the alias record must have the same type as the record you're\n routing traffic to, and creating a CNAME record for the zone apex isn't\n supported even for an alias record." + description: "The DNS record type. For information about different record types and how\ndata is encoded for them, see Supported DNS Resource Record Types (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html)\nin the Amazon Route 53 Developer Guide.\n\nValid values for basic resource record sets: A | AAAA | CAA | CNAME | DS\n|MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT\n\nValues for weighted, latency, geolocation, and failover resource record sets:\nA | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating\na group of weighted, latency, geolocation, or failover resource record sets,\nspecify the same value for all of the resource record sets in the group.\n\nValid values for multivalue answer resource record sets: A | AAAA | MX |\nNAPTR | PTR | SPF | SRV | TXT\n\nSPF records were formerly used to verify the identity of the sender of email\nmessages. However, we no longer recommend that you create resource record\nsets for which the value of Type is SPF. RFC 7208, Sender Policy Framework\n(SPF) for Authorizing Use of Domains in Email, Version 1, has been updated\nto say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to\nsome interoperability issues. Accordingly, its use is no longer appropriate\nfor SPF version 1; implementations are not to use it.\" In RFC 7208, see section\n14.1, The SPF DNS Record Type (http://tools.ietf.org/html/rfc7208#section-14.1).\n\nValues for alias resource record sets:\n\n * Amazon API Gateway custom regional APIs and edge-optimized APIs: A\n\n * CloudFront distributions: A If IPv6 is enabled for the distribution,\n create two resource record sets to route traffic to your distribution,\n one with a value of A and one with a value of AAAA.\n\n * Amazon API Gateway environment that has a regionalized subdomain: A\n\n * ELB load balancers: A | AAAA\n\n * Amazon S3 buckets: A\n\n * Amazon Virtual Private Cloud interface VPC endpoints A\n\n * Another resource record set in this hosted zone: Specify the type of\n the resource record set that you're creating the alias for. All values\n are supported except NS and SOA. If you're creating an alias record that\n has the same name as the hosted zone (known as the zone apex), you can't\n route traffic to a record for which the value of Type is CNAME. This is\n because the alias record must have the same type as the record you're\n routing traffic to, and creating a CNAME record for the zone apex isn't\n supported even for an alias record." type: "string" region: - description: "Latency-based resource record sets only: The Amazon EC2 Region where you\ncreated the resource that this resource record set refers to. The resource\ntypically is an Amazon Web Services resource, such as an EC2 instance or\nan ELB load balancer, and is referred to by an IP address or a DNS domain\nname, depending on the record type.\n\n\nWhen Amazon Route 53 receives a DNS query for a domain name and type for\nwhich you have created latency resource record sets, Route 53 selects the\nlatency resource record set that has the lowest latency between the end user\nand the associated Amazon EC2 Region. Route 53 then returns the value that\nis associated with the selected resource record set.\n\n\nNote the following:\n\n\n * You can only specify one ResourceRecord per latency resource record\n set.\n\n\n * You can only create one latency resource record set for each Amazon\n EC2 Region.\n\n\n * You aren't required to create latency resource record sets for all Amazon\n EC2 Regions. Route 53 will choose the region with the best latency from\n among the regions that you create latency resource record sets for.\n\n\n * You can't create non-latency resource record sets that have the same\n values for the Name and Type elements as latency resource record sets." + description: "Latency-based resource record sets only: The Amazon EC2 Region where you\ncreated the resource that this resource record set refers to. The resource\ntypically is an Amazon Web Services resource, such as an EC2 instance or\nan ELB load balancer, and is referred to by an IP address or a DNS domain\nname, depending on the record type.\n\nWhen Amazon Route 53 receives a DNS query for a domain name and type for\nwhich you have created latency resource record sets, Route 53 selects the\nlatency resource record set that has the lowest latency between the end user\nand the associated Amazon EC2 Region. Route 53 then returns the value that\nis associated with the selected resource record set.\n\nNote the following:\n\n * You can only specify one ResourceRecord per latency resource record\n set.\n\n * You can only create one latency resource record set for each Amazon\n EC2 Region.\n\n * You aren't required to create latency resource record sets for all Amazon\n EC2 Regions. Route 53 will choose the region with the best latency from\n among the regions that you create latency resource record sets for.\n\n * You can't create non-latency resource record sets that have the same\n values for the Name and Type elements as latency resource record sets." type: "string" resourceRecords: - description: "Information about the resource records to act upon.\n\n\nIf you're creating an alias resource record set, omit ResourceRecords." + description: "Information about the resource records to act upon.\n\nIf you're creating an alias resource record set, omit ResourceRecords." items: - description: "Information specific to the resource record.\n\n\nIf you're creating an alias resource record set, omit ResourceRecord." + description: "Information specific to the resource record.\n\nIf you're creating an alias resource record set, omit ResourceRecord." properties: value: type: "string" type: "object" type: "array" setIdentifier: - description: "Resource record sets that have a routing policy other than simple: An identifier\nthat differentiates among multiple resource record sets that have the same\ncombination of name and type, such as multiple weighted resource record sets\nnamed acme.example.com that have a type of A. In a group of resource record\nsets that have the same name and type, the value of SetIdentifier must be\nunique for each resource record set.\n\n\nFor information about routing policies, see Choosing a Routing Policy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html)\nin the Amazon Route 53 Developer Guide." + description: "Resource record sets that have a routing policy other than simple: An identifier\nthat differentiates among multiple resource record sets that have the same\ncombination of name and type, such as multiple weighted resource record sets\nnamed acme.example.com that have a type of A. In a group of resource record\nsets that have the same name and type, the value of SetIdentifier must be\nunique for each resource record set.\n\nFor information about routing policies, see Choosing a Routing Policy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html)\nin the Amazon Route 53 Developer Guide." type: "string" ttl: - description: "The resource record cache time to live (TTL), in seconds. Note the following:\n\n\n * If you're creating or updating an alias resource record set, omit TTL.\n Amazon Route 53 uses the value of TTL for the alias target.\n\n\n * If you're associating this resource record set with a health check (if\n you're adding a HealthCheckId element), we recommend that you specify\n a TTL of 60 seconds or less so clients respond quickly to changes in health\n status.\n\n\n * All of the resource record sets in a group of weighted resource record\n sets must have the same value for TTL.\n\n\n * If a group of weighted resource record sets includes one or more weighted\n alias resource record sets for which the alias target is an ELB load balancer,\n we recommend that you specify a TTL of 60 seconds for all of the non-alias\n weighted resource record sets that have the same name and type. Values\n other than 60 seconds (the TTL for load balancers) will change the effect\n of the values that you specify for Weight." + description: "The resource record cache time to live (TTL), in seconds. Note the following:\n\n * If you're creating or updating an alias resource record set, omit TTL.\n Amazon Route 53 uses the value of TTL for the alias target.\n\n * If you're associating this resource record set with a health check (if\n you're adding a HealthCheckId element), we recommend that you specify\n a TTL of 60 seconds or less so clients respond quickly to changes in health\n status.\n\n * All of the resource record sets in a group of weighted resource record\n sets must have the same value for TTL.\n\n * If a group of weighted resource record sets includes one or more weighted\n alias resource record sets for which the alias target is an ELB load balancer,\n we recommend that you specify a TTL of 60 seconds for all of the non-alias\n weighted resource record sets that have the same name and type. Values\n other than 60 seconds (the TTL for load balancers) will change the effect\n of the values that you specify for Weight." format: "int64" type: "integer" weight: - description: "Weighted resource record sets only: Among resource record sets that have\nthe same combination of DNS name and type, a value that determines the proportion\nof DNS queries that Amazon Route 53 responds to using the current resource\nrecord set. Route 53 calculates the sum of the weights for the resource record\nsets that have the same combination of DNS name and type. Route 53 then responds\nto queries based on the ratio of a resource's weight to the total. Note the\nfollowing:\n\n\n * You must specify a value for the Weight element for every weighted resource\n record set.\n\n\n * You can only specify one ResourceRecord per weighted resource record\n set.\n\n\n * You can't create latency, failover, or geolocation resource record sets\n that have the same values for the Name and Type elements as weighted resource\n record sets.\n\n\n * You can create a maximum of 100 weighted resource record sets that have\n the same values for the Name and Type elements.\n\n\n * For weighted (but not weighted alias) resource record sets, if you set\n Weight to 0 for a resource record set, Route 53 never responds to queries\n with the applicable value for that resource record set. However, if you\n set Weight to 0 for all resource record sets that have the same combination\n of DNS name and type, traffic is routed to all resources with equal probability.\n The effect of setting Weight to 0 is different when you associate health\n checks with weighted resource record sets. For more information, see Options\n for Configuring Route 53 Active-Active and Active-Passive Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html)\n in the Amazon Route 53 Developer Guide." + description: "Weighted resource record sets only: Among resource record sets that have\nthe same combination of DNS name and type, a value that determines the proportion\nof DNS queries that Amazon Route 53 responds to using the current resource\nrecord set. Route 53 calculates the sum of the weights for the resource record\nsets that have the same combination of DNS name and type. Route 53 then responds\nto queries based on the ratio of a resource's weight to the total. Note the\nfollowing:\n\n * You must specify a value for the Weight element for every weighted resource\n record set.\n\n * You can only specify one ResourceRecord per weighted resource record\n set.\n\n * You can't create latency, failover, or geolocation resource record sets\n that have the same values for the Name and Type elements as weighted resource\n record sets.\n\n * You can create a maximum of 100 weighted resource record sets that have\n the same values for the Name and Type elements.\n\n * For weighted (but not weighted alias) resource record sets, if you set\n Weight to 0 for a resource record set, Route 53 never responds to queries\n with the applicable value for that resource record set. However, if you\n set Weight to 0 for all resource record sets that have the same combination\n of DNS name and type, traffic is routed to all resources with equal probability.\n The effect of setting Weight to 0 is different when you associate health\n checks with weighted resource record sets. For more information, see Options\n for Configuring Route 53 Active-Active and Active-Passive Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html)\n in the Amazon Route 53 Developer Guide." format: "int64" type: "integer" required: @@ -200,7 +200,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/route53resolver-controller/route53resolver.services.k8s.aws/v1alpha1/resolverendpoints.yaml b/crd-catalog/aws-controllers-k8s/route53resolver-controller/route53resolver.services.k8s.aws/v1alpha1/resolverendpoints.yaml index faf5eed8d..577a50d87 100644 --- a/crd-catalog/aws-controllers-k8s/route53resolver-controller/route53resolver.services.k8s.aws/v1alpha1/resolverendpoints.yaml +++ b/crd-catalog/aws-controllers-k8s/route53resolver-controller/route53resolver.services.k8s.aws/v1alpha1/resolverendpoints.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "resolverendpoints.route53resolver.services.k8s.aws" spec: group: "route53resolver.services.k8s.aws" @@ -31,10 +31,10 @@ spec: metadata: type: "object" spec: - description: "ResolverEndpointSpec defines the desired state of ResolverEndpoint.\n\n\nIn the response to a CreateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html),\nDeleteResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverEndpoint.html),\nGetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html),\nUpdates the name, or ResolverEndpointType for an endpoint, or UpdateResolverEndpoint\n(https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverEndpoint.html)\nrequest, a complex type that contains settings for an existing inbound or\noutbound Resolver endpoint." + description: "ResolverEndpointSpec defines the desired state of ResolverEndpoint.\n\nIn the response to a CreateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html),\nDeleteResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverEndpoint.html),\nGetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html),\nUpdates the name, or ResolverEndpointType for an endpoint, or UpdateResolverEndpoint\n(https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverEndpoint.html)\nrequest, a complex type that contains settings for an existing inbound or\noutbound Resolver endpoint." properties: direction: - description: "Specify the applicable value:\n\n\n * INBOUND: Resolver forwards DNS queries to the DNS service for a VPC\n from your network\n\n\n * OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC\n to your network" + description: "Specify the applicable value:\n\n * INBOUND: Resolver forwards DNS queries to the DNS service for a VPC\n from your network\n\n * OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC\n to your network" type: "string" ipAddresses: description: "The subnets and IP addresses in your VPC that DNS queries originate from\n(for outbound endpoints) or that you forward DNS queries to (for inbound\nendpoints). The subnet ID uniquely identifies a VPC." @@ -74,7 +74,7 @@ spec: type: "array" securityGroupRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -108,7 +108,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -166,7 +166,7 @@ spec: description: "The date and time that the endpoint was last modified, in Unix time format\nand Coordinated Universal Time (UTC)." type: "string" status: - description: "A code that specifies the current status of the Resolver endpoint. Valid\nvalues include the following:\n\n\n * CREATING: Resolver is creating and configuring one or more Amazon VPC\n network interfaces for this endpoint.\n\n\n * OPERATIONAL: The Amazon VPC network interfaces for this endpoint are\n correctly configured and able to pass inbound or outbound DNS queries\n between your network and Resolver.\n\n\n * UPDATING: Resolver is associating or disassociating one or more network\n interfaces with this endpoint.\n\n\n * AUTO_RECOVERING: Resolver is trying to recover one or more of the network\n interfaces that are associated with this endpoint. During the recovery\n process, the endpoint functions with limited capacity because of the limit\n on the number of DNS queries per IP address (per network interface). For\n the current limit, see Limits on Route 53 Resolver (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-entities-resolver).\n\n\n * ACTION_NEEDED: This endpoint is unhealthy, and Resolver can't automatically\n recover it. To resolve the problem, we recommend that you check each IP\n address that you associated with the endpoint. For each IP address that\n isn't available, add another IP address and then delete the IP address\n that isn't available. (An endpoint must always include at least two IP\n addresses.) A status of ACTION_NEEDED can have a variety of causes. Here\n are two common causes: One or more of the network interfaces that are\n associated with the endpoint were deleted using Amazon VPC. The network\n interface couldn't be created for some reason that's outside the control\n of Resolver.\n\n\n * DELETING: Resolver is deleting this endpoint and the associated network\n interfaces." + description: "A code that specifies the current status of the Resolver endpoint. Valid\nvalues include the following:\n\n * CREATING: Resolver is creating and configuring one or more Amazon VPC\n network interfaces for this endpoint.\n\n * OPERATIONAL: The Amazon VPC network interfaces for this endpoint are\n correctly configured and able to pass inbound or outbound DNS queries\n between your network and Resolver.\n\n * UPDATING: Resolver is associating or disassociating one or more network\n interfaces with this endpoint.\n\n * AUTO_RECOVERING: Resolver is trying to recover one or more of the network\n interfaces that are associated with this endpoint. During the recovery\n process, the endpoint functions with limited capacity because of the limit\n on the number of DNS queries per IP address (per network interface). For\n the current limit, see Limits on Route 53 Resolver (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-entities-resolver).\n\n * ACTION_NEEDED: This endpoint is unhealthy, and Resolver can't automatically\n recover it. To resolve the problem, we recommend that you check each IP\n address that you associated with the endpoint. For each IP address that\n isn't available, add another IP address and then delete the IP address\n that isn't available. (An endpoint must always include at least two IP\n addresses.) A status of ACTION_NEEDED can have a variety of causes. Here\n are two common causes: One or more of the network interfaces that are\n associated with the endpoint were deleted using Amazon VPC. The network\n interface couldn't be created for some reason that's outside the control\n of Resolver.\n\n * DELETING: Resolver is deleting this endpoint and the associated network\n interfaces." type: "string" statusMessage: description: "A detailed description of the status of the Resolver endpoint." diff --git a/crd-catalog/aws-controllers-k8s/route53resolver-controller/route53resolver.services.k8s.aws/v1alpha1/resolverrules.yaml b/crd-catalog/aws-controllers-k8s/route53resolver-controller/route53resolver.services.k8s.aws/v1alpha1/resolverrules.yaml index 068e449d1..a68bde964 100644 --- a/crd-catalog/aws-controllers-k8s/route53resolver-controller/route53resolver.services.k8s.aws/v1alpha1/resolverrules.yaml +++ b/crd-catalog/aws-controllers-k8s/route53resolver-controller/route53resolver.services.k8s.aws/v1alpha1/resolverrules.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "resolverrules.route53resolver.services.k8s.aws" spec: group: "route53resolver.services.k8s.aws" @@ -31,7 +31,7 @@ spec: metadata: type: "object" spec: - description: "ResolverRuleSpec defines the desired state of ResolverRule.\n\n\nFor queries that originate in your VPC, detailed information about a Resolver\nrule, which specifies how to route DNS queries out of the VPC. The ResolverRule\nparameter appears in the response to a CreateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html),\nDeleteResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverRule.html),\nGetResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html),\nListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html),\nor UpdateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverRule.html)\nrequest." + description: "ResolverRuleSpec defines the desired state of ResolverRule.\n\nFor queries that originate in your VPC, detailed information about a Resolver\nrule, which specifies how to route DNS queries out of the VPC. The ResolverRule\nparameter appears in the response to a CreateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html),\nDeleteResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverRule.html),\nGetResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html),\nListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html),\nor UpdateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverRule.html)\nrequest." properties: associations: items: @@ -61,7 +61,7 @@ spec: description: "The ID of the outbound Resolver endpoint that you want to use to route DNS\nqueries to the IP addresses that you specify in TargetIps." type: "string" ruleType: - description: "When you want to forward DNS queries for specified domain name to resolvers\non your network, specify FORWARD.\n\n\nWhen you have a forwarding rule to forward DNS queries for a domain to your\nnetwork and you want Resolver to process queries for a subdomain of that\ndomain, specify SYSTEM.\n\n\nFor example, to forward DNS queries for example.com to resolvers on your\nnetwork, you create a rule and specify FORWARD for RuleType. To then have\nResolver process queries for apex.example.com, you create a rule and specify\nSYSTEM for RuleType.\n\n\nCurrently, only Resolver can create rules that have a value of RECURSIVE\nfor RuleType." + description: "When you want to forward DNS queries for specified domain name to resolvers\non your network, specify FORWARD.\n\nWhen you have a forwarding rule to forward DNS queries for a domain to your\nnetwork and you want Resolver to process queries for a subdomain of that\ndomain, specify SYSTEM.\n\nFor example, to forward DNS queries for example.com to resolvers on your\nnetwork, you create a rule and specify FORWARD for RuleType. To then have\nResolver process queries for apex.example.com, you create a rule and specify\nSYSTEM for RuleType.\n\nCurrently, only Resolver can create rules that have a value of RECURSIVE\nfor RuleType." type: "string" tags: description: "A list of the tag keys and values that you want to associate with the endpoint." @@ -75,7 +75,7 @@ spec: type: "object" type: "array" targetIPs: - description: "The IPs that you want Resolver to forward DNS queries to. You can specify\nonly IPv4 addresses. Separate IP addresses with a space.\n\n\nTargetIps is available only when the value of Rule type is FORWARD." + description: "The IPs that you want Resolver to forward DNS queries to. You can specify\nonly IPv4 addresses. Separate IP addresses with a space.\n\nTargetIps is available only when the value of Rule type is FORWARD." items: description: "In a CreateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html)\nrequest, an array of the IPs that you want to forward DNS queries to." properties: @@ -99,7 +99,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/s3-controller/s3.services.k8s.aws/v1alpha1/buckets.yaml b/crd-catalog/aws-controllers-k8s/s3-controller/s3.services.k8s.aws/v1alpha1/buckets.yaml index 6c5862f2d..47513d5d1 100644 --- a/crd-catalog/aws-controllers-k8s/s3-controller/s3.services.k8s.aws/v1alpha1/buckets.yaml +++ b/crd-catalog/aws-controllers-k8s/s3-controller/s3.services.k8s.aws/v1alpha1/buckets.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "buckets.s3.services.k8s.aws" spec: group: "s3.services.k8s.aws" @@ -27,7 +27,7 @@ spec: metadata: type: "object" spec: - description: "BucketSpec defines the desired state of Bucket.\n\n\nIn terms of implementation, a Bucket is a resource. An Amazon S3 bucket name\nis globally unique, and the namespace is shared by all Amazon Web Services\naccounts." + description: "BucketSpec defines the desired state of Bucket.\n\nIn terms of implementation, a Bucket is a resource. An Amazon S3 bucket name\nis globally unique, and the namespace is shared by all Amazon Web Services\naccounts." properties: accelerate: description: "Container for setting the transfer acceleration state." @@ -169,14 +169,14 @@ spec: description: "Allows grantee to read the bucket ACL." type: "string" grantWrite: - description: "Allows grantee to create new objects in the bucket.\n\n\nFor the bucket and object owners of existing objects, also allows deletions\nand overwrites of those objects." + description: "Allows grantee to create new objects in the bucket.\n\nFor the bucket and object owners of existing objects, also allows deletions\nand overwrites of those objects." type: "string" grantWriteACP: description: "Allows grantee to write the ACL for the applicable bucket." type: "string" intelligentTiering: items: - description: "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.\n\n\nFor information about the S3 Intelligent-Tiering storage class, see Storage\nclass for automatically optimizing frequently and infrequently accessed objects\n(https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access)." + description: "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.\n\nFor information about the S3 Intelligent-Tiering storage class, see Storage\nclass for automatically optimizing frequently and infrequently accessed objects\n(https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access)." properties: filter: description: "The Filter is used to identify objects that the S3 Intelligent-Tiering configuration\napplies to." @@ -404,7 +404,7 @@ spec: type: "string" targetGrants: items: - description: "Container for granting information.\n\n\nBuckets that use the bucket owner enforced setting for Object Ownership don't\nsupport target grants. For more information, see Permissions server access\nlog delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general)\nin the Amazon S3 User Guide." + description: "Container for granting information.\n\nBuckets that use the bucket owner enforced setting for Object Ownership don't\nsupport target grants. For more information, see Permissions server access\nlog delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general)\nin the Amazon S3 User Guide." properties: grantee: description: "Container for the person being granted permissions." @@ -592,7 +592,7 @@ spec: description: "The container element for an ownership control rule." properties: objectOwnership: - description: "The container element for object ownership for a bucket's ownership controls.\n\n\nBucketOwnerPreferred - Objects uploaded to the bucket change ownership to\nthe bucket owner if the objects are uploaded with the bucket-owner-full-control\ncanned ACL.\n\n\nObjectWriter - The uploading account will own the object if the object is\nuploaded with the bucket-owner-full-control canned ACL.\n\n\nBucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer\naffect permissions. The bucket owner automatically owns and has full control\nover every object in the bucket. The bucket only accepts PUT requests that\ndon't specify an ACL or bucket owner full control ACLs, such as the bucket-owner-full-control\ncanned ACL or an equivalent form of this ACL expressed in the XML format." + description: "The container element for object ownership for a bucket's ownership controls.\n\nBucketOwnerPreferred - Objects uploaded to the bucket change ownership to\nthe bucket owner if the objects are uploaded with the bucket-owner-full-control\ncanned ACL.\n\nObjectWriter - The uploading account will own the object if the object is\nuploaded with the bucket-owner-full-control canned ACL.\n\nBucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer\naffect permissions. The bucket owner automatically owns and has full control\nover every object in the bucket. The bucket only accepts PUT requests that\ndon't specify an ACL or bucket owner full control ACLs, such as the bucket-owner-full-control\ncanned ACL or an equivalent form of this ACL expressed in the XML format." type: "string" type: "object" type: "array" @@ -622,7 +622,7 @@ spec: description: "Specifies which Amazon S3 objects to replicate and where to store the replicas." properties: deleteMarkerReplication: - description: "Specifies whether Amazon S3 replicates delete markers. If you specify a Filter\nin your replication configuration, you must also include a DeleteMarkerReplication\nelement. If your Filter includes a Tag element, the DeleteMarkerReplication\nStatus must be set to Disabled, because Amazon S3 does not support replicating\ndelete markers for tag-based rules. For an example configuration, see Basic\nRule Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config).\n\n\nFor more information about delete marker replication, see Basic Rule Configuration\n(https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html).\n\n\nIf you are using an earlier version of the replication configuration, Amazon\nS3 handles replication of delete markers differently. For more information,\nsee Backward Compatibility (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations)." + description: "Specifies whether Amazon S3 replicates delete markers. If you specify a Filter\nin your replication configuration, you must also include a DeleteMarkerReplication\nelement. If your Filter includes a Tag element, the DeleteMarkerReplication\nStatus must be set to Disabled, because Amazon S3 does not support replicating\ndelete markers for tag-based rules. For an example configuration, see Basic\nRule Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config).\n\nFor more information about delete marker replication, see Basic Rule Configuration\n(https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html).\n\nIf you are using an earlier version of the replication configuration, Amazon\nS3 handles replication of delete markers differently. For more information,\nsee Backward Compatibility (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations)." properties: status: type: "string" @@ -685,7 +685,7 @@ spec: description: "A filter that identifies the subset of objects to which the replication rule\napplies. A Filter must specify exactly one Prefix, Tag, or an And child element." properties: and: - description: "A container for specifying rule filters. The filters determine the subset\nof objects to which the rule applies. This element is required only if you\nspecify more than one filter.\n\n\nFor example:\n\n\n * If you specify both a Prefix and a Tag filter, wrap these filters in\n an And tag.\n\n\n * If you specify a filter based on multiple tags, wrap the Tag elements\n in an And tag." + description: "A container for specifying rule filters. The filters determine the subset\nof objects to which the rule applies. This element is required only if you\nspecify more than one filter.\n\nFor example:\n\n * If you specify both a Prefix and a Tag filter, wrap these filters in\n an And tag.\n\n * If you specify a filter based on multiple tags, wrap the Tag elements\n in an And tag." properties: prefix: type: "string" @@ -722,7 +722,7 @@ spec: description: "A container that describes additional filters for identifying the source\nobjects that you want to replicate. You can choose to enable or disable the\nreplication of these objects. Currently, Amazon S3 supports only the filter\nthat you can specify for objects created with server-side encryption using\na customer managed key stored in Amazon Web Services Key Management Service\n(SSE-KMS)." properties: replicaModifications: - description: "A filter that you can specify for selection for modifications on replicas.\nAmazon S3 doesn't replicate replica modifications by default. In the latest\nversion of replication configuration (when Filter is specified), you can\nspecify this element and set the status to Enabled to replicate modifications\non replicas.\n\n\nIf you don't specify the Filter element, Amazon S3 assumes that the replication\nconfiguration is the earlier version, V1. In the earlier version, this element\nis not allowed." + description: "A filter that you can specify for selection for modifications on replicas.\nAmazon S3 doesn't replicate replica modifications by default. In the latest\nversion of replication configuration (when Filter is specified), you can\nspecify this element and set the status to Enabled to replicate modifications\non replicas.\n\nIf you don't specify the Filter element, Amazon S3 assumes that the replication\nconfiguration is the earlier version, V1. In the earlier version, this element\nis not allowed." properties: status: type: "string" @@ -827,7 +827,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/secretsmanager-controller/secretsmanager.services.k8s.aws/v1alpha1/secrets.yaml b/crd-catalog/aws-controllers-k8s/secretsmanager-controller/secretsmanager.services.k8s.aws/v1alpha1/secrets.yaml index 5356ea798..cf9c1b0ba 100644 --- a/crd-catalog/aws-controllers-k8s/secretsmanager-controller/secretsmanager.services.k8s.aws/v1alpha1/secrets.yaml +++ b/crd-catalog/aws-controllers-k8s/secretsmanager-controller/secretsmanager.services.k8s.aws/v1alpha1/secrets.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "secrets.secretsmanager.services.k8s.aws" spec: group: "secretsmanager.services.k8s.aws" @@ -36,10 +36,10 @@ spec: description: "Specifies whether to overwrite a secret with the same name in the destination\nRegion. By default, secrets aren't overwritten." type: "boolean" kmsKeyID: - description: "The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt\nthe secret value in the secret. An alias is always prefixed by alias/, for\nexample alias/aws/secretsmanager. For more information, see About aliases\n(https://docs.aws.amazon.com/kms/latest/developerguide/alias-about.html).\n\n\nTo use a KMS key in a different account, use the key ARN or the alias ARN.\n\n\nIf you don't specify this value, then Secrets Manager uses the key aws/secretsmanager.\nIf that key doesn't yet exist, then Secrets Manager creates it for you automatically\nthe first time it encrypts the secret value.\n\n\nIf the secret is in a different Amazon Web Services account from the credentials\ncalling the API, then you can't use aws/secretsmanager to encrypt the secret,\nand you must create and use a customer managed KMS key." + description: "The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt\nthe secret value in the secret. An alias is always prefixed by alias/, for\nexample alias/aws/secretsmanager. For more information, see About aliases\n(https://docs.aws.amazon.com/kms/latest/developerguide/alias-about.html).\n\nTo use a KMS key in a different account, use the key ARN or the alias ARN.\n\nIf you don't specify this value, then Secrets Manager uses the key aws/secretsmanager.\nIf that key doesn't yet exist, then Secrets Manager creates it for you automatically\nthe first time it encrypts the secret value.\n\nIf the secret is in a different Amazon Web Services account from the credentials\ncalling the API, then you can't use aws/secretsmanager to encrypt the secret,\nand you must create and use a customer managed KMS key." type: "string" name: - description: "The name of the new secret.\n\n\nThe secret name can contain ASCII letters, numbers, and the following characters:\n/_+=.@-\n\n\nDo not end your secret name with a hyphen followed by six characters. If\nyou do so, you risk confusion and unexpected results when searching for a\nsecret by partial ARN. Secrets Manager automatically adds a hyphen and six\nrandom characters after the secret name at the end of the ARN." + description: "The name of the new secret.\n\nThe secret name can contain ASCII letters, numbers, and the following characters:\n/_+=.@-\n\nDo not end your secret name with a hyphen followed by six characters. If\nyou do so, you risk confusion and unexpected results when searching for a\nsecret by partial ARN. Secrets Manager automatically adds a hyphen and six\nrandom characters after the secret name at the end of the ARN." type: "string" replicaRegions: description: "A list of Regions and KMS keys to replicate secrets." @@ -53,7 +53,7 @@ spec: type: "object" type: "array" secretString: - description: "The text data to encrypt and store in this new version of the secret. We\nrecommend you use a JSON structure of key/value pairs for your secret value.\n\n\nEither SecretString or SecretBinary must have a value, but not both.\n\n\nIf you create a secret by using the Secrets Manager console then Secrets\nManager puts the protected secret text in only the SecretString parameter.\nThe Secrets Manager console stores the information as a JSON structure of\nkey/value pairs that a Lambda rotation function can parse." + description: "The text data to encrypt and store in this new version of the secret. We\nrecommend you use a JSON structure of key/value pairs for your secret value.\n\nEither SecretString or SecretBinary must have a value, but not both.\n\nIf you create a secret by using the Secrets Manager console then Secrets\nManager puts the protected secret text in only the SecretString parameter.\nThe Secrets Manager console stores the information as a JSON structure of\nkey/value pairs that a Lambda rotation function can parse." properties: key: description: "Key is the key within the secret" @@ -69,7 +69,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" tags: - description: "A list of tags to attach to the secret. Each tag is a key and value pair\nof strings in a JSON text string, for example:\n\n\n[{\"Key\":\"CostCenter\",\"Value\":\"12345\"},{\"Key\":\"environment\",\"Value\":\"production\"}]\n\n\nSecrets Manager tag key names are case sensitive. A tag with the key \"ABC\"\nis a different tag from one with key \"abc\".\n\n\nIf you check tags in permissions policies as part of your security strategy,\nthen adding or removing a tag can change permissions. If the completion of\nthis operation would result in you losing your permissions for this secret,\nthen Secrets Manager blocks the operation and returns an Access Denied error.\nFor more information, see Control access to secrets using tags (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#tag-secrets-abac)\nand Limit access to identities with tags that match secrets' tags (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_tags2).\n\n\nFor information about how to format a JSON parameter for the various command\nline tool environments, see Using JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json).\nIf your command-line tool or SDK requires quotation marks around the parameter,\nyou should use single quotes to avoid confusion with the double quotes required\nin the JSON text.\n\n\nFor tag quotas and naming restrictions, see Service quotas for Tagging (https://docs.aws.amazon.com/general/latest/gr/arg.html#taged-reference-quotas)\nin the Amazon Web Services General Reference guide." + description: "A list of tags to attach to the secret. Each tag is a key and value pair\nof strings in a JSON text string, for example:\n\n[{\"Key\":\"CostCenter\",\"Value\":\"12345\"},{\"Key\":\"environment\",\"Value\":\"production\"}]\n\nSecrets Manager tag key names are case sensitive. A tag with the key \"ABC\"\nis a different tag from one with key \"abc\".\n\nIf you check tags in permissions policies as part of your security strategy,\nthen adding or removing a tag can change permissions. If the completion of\nthis operation would result in you losing your permissions for this secret,\nthen Secrets Manager blocks the operation and returns an Access Denied error.\nFor more information, see Control access to secrets using tags (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#tag-secrets-abac)\nand Limit access to identities with tags that match secrets' tags (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_tags2).\n\nFor information about how to format a JSON parameter for the various command\nline tool environments, see Using JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json).\nIf your command-line tool or SDK requires quotation marks around the parameter,\nyou should use single quotes to avoid confusion with the double quotes required\nin the JSON text.\n\nFor tag quotas and naming restrictions, see Service quotas for Tagging (https://docs.aws.amazon.com/general/latest/gr/arg.html#taged-reference-quotas)\nin the Amazon Web Services General Reference guide." items: description: "A structure that contains information about a tag." properties: @@ -89,7 +89,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." @@ -131,7 +131,7 @@ spec: description: "The ARN of the secret." type: "string" replicationStatus: - description: "A list of the replicas of this secret and their status:\n\n\n * Failed, which indicates that the replica was not created.\n\n\n * InProgress, which indicates that Secrets Manager is in the process of\n creating the replica.\n\n\n * InSync, which indicates that the replica was created." + description: "A list of the replicas of this secret and their status:\n\n * Failed, which indicates that the replica was not created.\n\n * InProgress, which indicates that Secrets Manager is in the process of\n creating the replica.\n\n * InSync, which indicates that the replica was created." items: description: "A replication object consisting of a RegionReplicationStatus object and includes\na Region, KMSKeyId, status, and status message." properties: diff --git a/crd-catalog/aws-controllers-k8s/sfn-controller/sfn.services.k8s.aws/v1alpha1/activities.yaml b/crd-catalog/aws-controllers-k8s/sfn-controller/sfn.services.k8s.aws/v1alpha1/activities.yaml index d504b0d02..b48363773 100644 --- a/crd-catalog/aws-controllers-k8s/sfn-controller/sfn.services.k8s.aws/v1alpha1/activities.yaml +++ b/crd-catalog/aws-controllers-k8s/sfn-controller/sfn.services.k8s.aws/v1alpha1/activities.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "activities.sfn.services.k8s.aws" spec: group: "sfn.services.k8s.aws" @@ -30,12 +30,12 @@ spec: description: "ActivitySpec defines the desired state of Activity." properties: name: - description: "The name of the activity to create. This name must be unique for your AWS\naccount and region for 90 days. For more information, see Limits Related\nto State Machine Executions (https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions)\nin the AWS Step Functions Developer Guide.\n\n\nA name must not contain:\n\n\n * white space\n\n\n * brackets < > { } [ ]\n\n\n * wildcard characters ? *\n\n\n * special characters \" # % \\ ^ | ~ ` $ & , ; : /\n\n\n * control characters (U+0000-001F, U+007F-009F)\n\n\nTo enable logging with CloudWatch Logs, the name should only contain 0-9,\nA-Z, a-z, - and _." + description: "The name of the activity to create. This name must be unique for your AWS\naccount and region for 90 days. For more information, see Limits Related\nto State Machine Executions (https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions)\nin the AWS Step Functions Developer Guide.\n\nA name must not contain:\n\n * white space\n\n * brackets < > { } [ ]\n\n * wildcard characters ? *\n\n * special characters \" # % \\ ^ | ~ ` $ & , ; : /\n\n * control characters (U+0000-001F, U+007F-009F)\n\nTo enable logging with CloudWatch Logs, the name should only contain 0-9,\nA-Z, a-z, - and _." type: "string" tags: - description: "The list of tags to add to a resource.\n\n\nAn array of key-value pairs. For more information, see Using Cost Allocation\nTags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)\nin the AWS Billing and Cost Management User Guide, and Controlling Access\nUsing IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html).\n\n\nTags may only contain Unicode letters, digits, white space, or these symbols:\n_ . : / = + - @." + description: "The list of tags to add to a resource.\n\nAn array of key-value pairs. For more information, see Using Cost Allocation\nTags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)\nin the AWS Billing and Cost Management User Guide, and Controlling Access\nUsing IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html).\n\nTags may only contain Unicode letters, digits, white space, or these symbols:\n_ . : / = + - @." items: - description: "Tags are key-value pairs that can be associated with Step Functions state\nmachines and activities.\n\n\nAn array of key-value pairs. For more information, see Using Cost Allocation\nTags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)\nin the AWS Billing and Cost Management User Guide, and Controlling Access\nUsing IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html).\n\n\nTags may only contain Unicode letters, digits, white space, or these symbols:\n_ . : / = + - @." + description: "Tags are key-value pairs that can be associated with Step Functions state\nmachines and activities.\n\nAn array of key-value pairs. For more information, see Using Cost Allocation\nTags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)\nin the AWS Billing and Cost Management User Guide, and Controlling Access\nUsing IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html).\n\nTags may only contain Unicode letters, digits, white space, or these symbols:\n_ . : / = + - @." properties: key: type: "string" @@ -53,7 +53,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/sfn-controller/sfn.services.k8s.aws/v1alpha1/statemachines.yaml b/crd-catalog/aws-controllers-k8s/sfn-controller/sfn.services.k8s.aws/v1alpha1/statemachines.yaml index de12fd31c..af409e7c1 100644 --- a/crd-catalog/aws-controllers-k8s/sfn-controller/sfn.services.k8s.aws/v1alpha1/statemachines.yaml +++ b/crd-catalog/aws-controllers-k8s/sfn-controller/sfn.services.k8s.aws/v1alpha1/statemachines.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "statemachines.sfn.services.k8s.aws" spec: group: "sfn.services.k8s.aws" @@ -33,7 +33,7 @@ spec: description: "The Amazon States Language definition of the state machine. See Amazon States\nLanguage (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html)." type: "string" loggingConfiguration: - description: "Defines what execution history events are logged and where they are logged.\n\n\nBy default, the level is set to OFF. For more information see Log Levels\n(https://docs.aws.amazon.com/step-functions/latest/dg/cloudwatch-log-level.html)\nin the AWS Step Functions User Guide." + description: "Defines what execution history events are logged and where they are logged.\n\nBy default, the level is set to OFF. For more information see Log Levels\n(https://docs.aws.amazon.com/step-functions/latest/dg/cloudwatch-log-level.html)\nin the AWS Step Functions User Guide." properties: destinations: items: @@ -51,15 +51,15 @@ spec: type: "string" type: "object" name: - description: "The name of the state machine.\n\n\nA name must not contain:\n\n\n * white space\n\n\n * brackets < > { } [ ]\n\n\n * wildcard characters ? *\n\n\n * special characters \" # % \\ ^ | ~ ` $ & , ; : /\n\n\n * control characters (U+0000-001F, U+007F-009F)\n\n\nTo enable logging with CloudWatch Logs, the name should only contain 0-9,\nA-Z, a-z, - and _." + description: "The name of the state machine.\n\nA name must not contain:\n\n * white space\n\n * brackets < > { } [ ]\n\n * wildcard characters ? *\n\n * special characters \" # % \\ ^ | ~ ` $ & , ; : /\n\n * control characters (U+0000-001F, U+007F-009F)\n\nTo enable logging with CloudWatch Logs, the name should only contain 0-9,\nA-Z, a-z, - and _." type: "string" roleARN: description: "The Amazon Resource Name (ARN) of the IAM role to use for this state machine." type: "string" tags: - description: "Tags to be added when creating a state machine.\n\n\nAn array of key-value pairs. For more information, see Using Cost Allocation\nTags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)\nin the AWS Billing and Cost Management User Guide, and Controlling Access\nUsing IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html).\n\n\nTags may only contain Unicode letters, digits, white space, or these symbols:\n_ . : / = + - @." + description: "Tags to be added when creating a state machine.\n\nAn array of key-value pairs. For more information, see Using Cost Allocation\nTags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)\nin the AWS Billing and Cost Management User Guide, and Controlling Access\nUsing IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html).\n\nTags may only contain Unicode letters, digits, white space, or these symbols:\n_ . : / = + - @." items: - description: "Tags are key-value pairs that can be associated with Step Functions state\nmachines and activities.\n\n\nAn array of key-value pairs. For more information, see Using Cost Allocation\nTags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)\nin the AWS Billing and Cost Management User Guide, and Controlling Access\nUsing IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html).\n\n\nTags may only contain Unicode letters, digits, white space, or these symbols:\n_ . : / = + - @." + description: "Tags are key-value pairs that can be associated with Step Functions state\nmachines and activities.\n\nAn array of key-value pairs. For more information, see Using Cost Allocation\nTags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)\nin the AWS Billing and Cost Management User Guide, and Controlling Access\nUsing IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html).\n\nTags may only contain Unicode letters, digits, white space, or these symbols:\n_ . : / = + - @." properties: key: type: "string" @@ -88,7 +88,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/platformapplications.yaml b/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/platformapplications.yaml index fa8d6bbc4..dba42dd64 100644 --- a/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/platformapplications.yaml +++ b/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/platformapplications.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "platformapplications.sns.services.k8s.aws" spec: group: "sns.services.k8s.aws" @@ -27,14 +27,14 @@ spec: metadata: type: "object" spec: - description: "PlatformApplicationSpec defines the desired state of PlatformApplication.\n\n\nPlatform application object." + description: "PlatformApplicationSpec defines the desired state of PlatformApplication.\n\nPlatform application object." properties: eventDeliveryFailure: type: "string" eventEndpointCreated: type: "string" eventEndpointCreatedRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -48,7 +48,7 @@ spec: eventEndpointDeleted: type: "string" eventEndpointDeletedRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -62,7 +62,7 @@ spec: eventEndpointUpdated: type: "string" eventEndpointUpdatedRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -76,7 +76,7 @@ spec: failureFeedbackRoleARN: type: "string" failureFeedbackRoleRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -100,7 +100,7 @@ spec: successFeedbackRoleARN: type: "string" successFeedbackRoleRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -124,7 +124,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/platformendpoints.yaml b/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/platformendpoints.yaml index 725f1de58..969ed82f1 100644 --- a/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/platformendpoints.yaml +++ b/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/platformendpoints.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "platformendpoints.sns.services.k8s.aws" spec: group: "sns.services.k8s.aws" @@ -30,6 +30,7 @@ spec: description: "PlatformEndpointSpec defines the desired state of PlatformEndpoint." properties: customUserData: + description: "Arbitrary user data to associate with the endpoint. Amazon SNS does not use\nthis data. The data must be in UTF-8 format and less than 2KB." type: "string" enabled: type: "string" @@ -37,6 +38,7 @@ spec: description: "PlatformApplicationArn returned from CreatePlatformApplication is used to\ncreate a an endpoint." type: "string" token: + description: "Unique identifier created by the notification service for an app on a device.\nThe specific name for Token will vary, depending on which notification service\nis being used. For example, when using APNS as the notification service,\nyou need the device token. Alternatively, when using GCM (Firebase Cloud\nMessaging) or ADM, the device token equivalent is called the registration\nID." type: "string" required: - "platformApplicationARN" @@ -49,7 +51,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/subscriptions.yaml b/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/subscriptions.yaml index 72e006d6a..b6c68f15e 100644 --- a/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/subscriptions.yaml +++ b/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/subscriptions.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "subscriptions.sns.services.k8s.aws" spec: group: "sns.services.k8s.aws" @@ -27,19 +27,19 @@ spec: metadata: type: "object" spec: - description: "SubscriptionSpec defines the desired state of Subscription.\n\n\nA wrapper type for the attributes of an Amazon SNS subscription." + description: "SubscriptionSpec defines the desired state of Subscription.\n\nA wrapper type for the attributes of an Amazon SNS subscription." properties: deliveryPolicy: type: "string" endpoint: - description: "The endpoint that you want to receive notifications. Endpoints vary by protocol:\n\n\n * For the http protocol, the (public) endpoint is a URL beginning with\n http://.\n\n\n * For the https protocol, the (public) endpoint is a URL beginning with\n https://.\n\n\n * For the email protocol, the endpoint is an email address.\n\n\n * For the email-json protocol, the endpoint is an email address.\n\n\n * For the sms protocol, the endpoint is a phone number of an SMS-enabled\n device.\n\n\n * For the sqs protocol, the endpoint is the ARN of an Amazon SQS queue.\n\n\n * For the application protocol, the endpoint is the EndpointArn of a mobile\n app and device.\n\n\n * For the lambda protocol, the endpoint is the ARN of an Lambda function.\n\n\n * For the firehose protocol, the endpoint is the ARN of an Amazon Kinesis\n Data Firehose delivery stream." + description: "The endpoint that you want to receive notifications. Endpoints vary by protocol:\n\n * For the http protocol, the (public) endpoint is a URL beginning with\n http://.\n\n * For the https protocol, the (public) endpoint is a URL beginning with\n https://.\n\n * For the email protocol, the endpoint is an email address.\n\n * For the email-json protocol, the endpoint is an email address.\n\n * For the sms protocol, the endpoint is a phone number of an SMS-enabled\n device.\n\n * For the sqs protocol, the endpoint is the ARN of an Amazon SQS queue.\n\n * For the application protocol, the endpoint is the EndpointArn of a mobile\n app and device.\n\n * For the lambda protocol, the endpoint is the ARN of an Lambda function.\n\n * For the firehose protocol, the endpoint is the ARN of an Amazon Kinesis\n Data Firehose delivery stream." type: "string" filterPolicy: type: "string" filterPolicyScope: type: "string" protocol: - description: "The protocol that you want to use. Supported protocols include:\n\n\n * http – delivery of JSON-encoded message via HTTP POST\n\n\n * https – delivery of JSON-encoded message via HTTPS POST\n\n\n * email – delivery of message via SMTP\n\n\n * email-json – delivery of JSON-encoded message via SMTP\n\n\n * sms – delivery of message via SMS\n\n\n * sqs – delivery of JSON-encoded message to an Amazon SQS queue\n\n\n * application – delivery of JSON-encoded message to an EndpointArn for\n a mobile app and device\n\n\n * lambda – delivery of JSON-encoded message to an Lambda function\n\n\n * firehose – delivery of JSON-encoded message to an Amazon Kinesis Data\n Firehose delivery stream." + description: "The protocol that you want to use. Supported protocols include:\n\n * http – delivery of JSON-encoded message via HTTP POST\n\n * https – delivery of JSON-encoded message via HTTPS POST\n\n * email – delivery of message via SMTP\n\n * email-json – delivery of JSON-encoded message via SMTP\n\n * sms – delivery of message via SMS\n\n * sqs – delivery of JSON-encoded message to an Amazon SQS queue\n\n * application – delivery of JSON-encoded message to an EndpointArn for\n a mobile app and device\n\n * lambda – delivery of JSON-encoded message to an Lambda function\n\n * firehose – delivery of JSON-encoded message to an Amazon Kinesis Data\n Firehose delivery stream." type: "string" rawMessageDelivery: type: "string" @@ -51,7 +51,7 @@ spec: description: "The ARN of the topic you want to subscribe to." type: "string" topicRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -72,7 +72,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/topics.yaml b/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/topics.yaml index 6d17a1bef..0e2f837ca 100644 --- a/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/topics.yaml +++ b/crd-catalog/aws-controllers-k8s/sns-controller/sns.services.k8s.aws/v1alpha1/topics.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "topics.sns.services.k8s.aws" spec: group: "sns.services.k8s.aws" @@ -27,12 +27,12 @@ spec: metadata: type: "object" spec: - description: "TopicSpec defines the desired state of Topic.\n\n\nA wrapper type for the topic's Amazon Resource Name (ARN). To retrieve a\ntopic's attributes, use GetTopicAttributes." + description: "TopicSpec defines the desired state of Topic.\n\nA wrapper type for the topic's Amazon Resource Name (ARN). To retrieve a\ntopic's attributes, use GetTopicAttributes." properties: contentBasedDeduplication: type: "string" dataProtectionPolicy: - description: "The body of the policy document you want to use for this topic.\n\n\nYou can only add one policy per topic.\n\n\nThe policy must be in JSON string format.\n\n\nLength Constraints: Maximum length of 30,720." + description: "The body of the policy document you want to use for this topic.\n\nYou can only add one policy per topic.\n\nThe policy must be in JSON string format.\n\nLength Constraints: Maximum length of 30,720." type: "string" deliveryPolicy: type: "string" @@ -43,7 +43,7 @@ spec: kmsMasterKeyID: type: "string" kmsMasterKeyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -55,12 +55,12 @@ spec: type: "object" type: "object" name: - description: "The name of the topic you want to create.\n\n\nConstraints: Topic names must be made up of only uppercase and lowercase\nASCII letters, numbers, underscores, and hyphens, and must be between 1 and\n256 characters long.\n\n\nFor a FIFO (first-in-first-out) topic, the name must end with the .fifo suffix." + description: "The name of the topic you want to create.\n\nConstraints: Topic names must be made up of only uppercase and lowercase\nASCII letters, numbers, underscores, and hyphens, and must be between 1 and\n256 characters long.\n\nFor a FIFO (first-in-first-out) topic, the name must end with the .fifo suffix." type: "string" policy: type: "string" policyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -74,7 +74,7 @@ spec: signatureVersion: type: "string" tags: - description: "The list of tags to add to a new topic.\n\n\nTo be able to tag a topic on creation, you must have the sns:CreateTopic\nand sns:TagResource permissions." + description: "The list of tags to add to a new topic.\n\nTo be able to tag a topic on creation, you must have the sns:CreateTopic\nand sns:TagResource permissions." items: description: "The list of tags to be added to the specified topic." properties: @@ -96,7 +96,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws-controllers-k8s/sqs-controller/sqs.services.k8s.aws/v1alpha1/queues.yaml b/crd-catalog/aws-controllers-k8s/sqs-controller/sqs.services.k8s.aws/v1alpha1/queues.yaml index 43f4c1d22..b68f3be74 100644 --- a/crd-catalog/aws-controllers-k8s/sqs-controller/sqs.services.k8s.aws/v1alpha1/queues.yaml +++ b/crd-catalog/aws-controllers-k8s/sqs-controller/sqs.services.k8s.aws/v1alpha1/queues.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.14.0" + controller-gen.kubebuilder.io/version: "v0.16.2" name: "queues.sqs.services.k8s.aws" spec: group: "sqs.services.k8s.aws" @@ -40,7 +40,7 @@ spec: kmsMasterKeyID: type: "string" kmsMasterKeyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -58,7 +58,7 @@ spec: policy: type: "string" policyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t name: my-api" + description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference\ntype to provide more user friendly syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t name: my-api" properties: from: description: "AWSResourceReference provides all the values necessary to reference another\nk8s resource for finding the identifier(Id/ARN/Name)" @@ -77,10 +77,12 @@ spec: type: "string" redrivePolicy: type: "string" + sqsManagedSSEEnabled: + type: "string" tags: additionalProperties: type: "string" - description: "Add cost allocation tags to the specified Amazon SQS queue. For an overview,\nsee Tagging Your Amazon SQS Queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-tags.html)\nin the Amazon SQS Developer Guide.\n\n\nWhen you use queue tags, keep the following guidelines in mind:\n\n\n * Adding more than 50 tags to a queue isn't recommended.\n\n\n * Tags don't have any semantic meaning. Amazon SQS interprets tags as\n character strings.\n\n\n * Tags are case-sensitive.\n\n\n * A new tag with a key identical to that of an existing tag overwrites\n the existing tag.\n\n\nFor a full list of tag restrictions, see Quotas related to queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html#limits-queues)\nin the Amazon SQS Developer Guide.\n\n\nTo be able to tag a queue on creation, you must have the sqs:CreateQueue\nand sqs:TagQueue permissions.\n\n\nCross-account permissions don't apply to this action. For more information,\nsee Grant cross-account permissions to a role and a username (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name)\nin the Amazon SQS Developer Guide." + description: "Add cost allocation tags to the specified Amazon SQS queue. For an overview,\nsee Tagging Your Amazon SQS Queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-tags.html)\nin the Amazon SQS Developer Guide.\n\nWhen you use queue tags, keep the following guidelines in mind:\n\n * Adding more than 50 tags to a queue isn't recommended.\n\n * Tags don't have any semantic meaning. Amazon SQS interprets tags as\n character strings.\n\n * Tags are case-sensitive.\n\n * A new tag with a key identical to that of an existing tag overwrites\n the existing tag.\n\nFor a full list of tag restrictions, see Quotas related to queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html#limits-queues)\nin the Amazon SQS Developer Guide.\n\nTo be able to tag a queue on creation, you must have the sqs:CreateQueue\nand sqs:TagQueue permissions.\n\nCross-account permissions don't apply to this action. For more information,\nsee Grant cross-account permissions to a role and a username (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name)\nin the Amazon SQS Developer Guide." type: "object" visibilityTimeout: type: "string" @@ -94,7 +96,7 @@ spec: description: "All CRs managed by ACK have a common `Status.ACKResourceMetadata` member\nthat is used to contain resource sync state, account ownership,\nconstructed ARN for the resource" properties: arn: - description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nTODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse\nhttps://github.com/aws/aws-controllers-k8s/issues/270" + description: "ARN is the Amazon Resource Name for the resource. This is a\nglobally-unique identifier and is set only by the ACK service controller\nonce the controller has orchestrated the creation of the resource OR\nwhen it has verified that an \"adopted\" resource (a resource where the\nARN annotation was set by the Kubernetes user on the CR) exists and\nmatches the supplied CR's Spec field values.\nhttps://github.com/aws/aws-controllers-k8s/issues/270" type: "string" ownerAccountID: description: "OwnerAccountID is the AWS Account ID of the account that owns the\nbackend AWS service API resource." diff --git a/crd-catalog/aws/amazon-cloudwatch-agent-operator/cloudwatch.aws.amazon.com/v1alpha1/amazoncloudwatchagents.yaml b/crd-catalog/aws/amazon-cloudwatch-agent-operator/cloudwatch.aws.amazon.com/v1alpha1/amazoncloudwatchagents.yaml index 0aa870bc0..cca01fd86 100644 --- a/crd-catalog/aws/amazon-cloudwatch-agent-operator/cloudwatch.aws.amazon.com/v1alpha1/amazoncloudwatchagents.yaml +++ b/crd-catalog/aws/amazon-cloudwatch-agent-operator/cloudwatch.aws.amazon.com/v1alpha1/amazoncloudwatchagents.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "amazoncloudwatchagents.cloudwatch.aws.amazon.com" spec: group: "cloudwatch.aws.amazon.com" @@ -44,10 +44,10 @@ spec: description: "AmazonCloudWatchAgent is the Schema for the amazoncloudwatchagents 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.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -55,22 +55,22 @@ spec: description: "AmazonCloudWatchAgentSpec defines the desired state of AmazonCloudWatchAgent." properties: additionalContainers: - description: "AdditionalContainers allows injecting additional containers into the Collector's pod definition. These sidecar containers can be used for authentication proxies, log shipping sidecars, agents for shipping metrics to their cloud, or in general sidecars that do not support automatic injection. This option only applies to Deployment, DaemonSet, and StatefulSet deployment modes of the collector. It does not apply to the sidecar deployment mode. More info about sidecars: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/ \n Container names managed by the operator: * `otc-container` \n Overriding containers managed by the operator is outside the scope of what the maintainers will support and by doing so, you wil accept the risk of it breaking things." + description: "AdditionalContainers allows injecting additional containers into the Collector's pod definition.\nThese sidecar containers can be used for authentication proxies, log shipping sidecars, agents for shipping\nmetrics to their cloud, or in general sidecars that do not support automatic injection. This option only\napplies to Deployment, DaemonSet, and StatefulSet deployment modes of the collector. It does not apply to the sidecar\ndeployment mode. More info about sidecars:\nhttps://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/\n\n\nContainer names managed by the operator:\n* `otc-container`\n\n\nOverriding containers managed by the operator is outside the scope of what the maintainers will support and by\ndoing so, you wil accept the risk of it breaking things." items: description: "A single application container that you want to run within a pod." properties: args: - description: "Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell" + description: "Arguments to the entrypoint.\nThe container image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell" items: type: "string" type: "array" command: - description: "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell" + description: "Entrypoint array. Not executed within a shell.\nThe container image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell" items: type: "string" type: "array" env: - description: "List of environment variables to set in the container. Cannot be updated." + description: "List of environment variables to set in the container.\nCannot be updated." items: description: "EnvVar represents an environment variable present in a Container." properties: @@ -78,7 +78,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -90,7 +90,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -100,7 +100,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -113,7 +113,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -139,7 +139,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -154,7 +154,7 @@ spec: type: "object" type: "array" envFrom: - description: "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated." + description: "List of sources to populate environment variables in the container.\nThe keys defined within a source must be a C_IDENTIFIER. All invalid keys\nwill be reported as an event when the container is starting. When a key exists in multiple\nsources, the value associated with the last source will take precedence.\nValues defined by an Env with a duplicate key will take precedence.\nCannot be updated." items: description: "EnvFromSource represents the source of a set of ConfigMaps" properties: @@ -162,7 +162,7 @@ spec: description: "The ConfigMap to select from" properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap must be defined" @@ -176,7 +176,7 @@ spec: description: "The Secret to select from" properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret must be defined" @@ -186,22 +186,22 @@ spec: type: "object" type: "array" image: - description: "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets." + description: "Container image name.\nMore info: https://kubernetes.io/docs/concepts/containers/images\nThis field is optional to allow higher level config management to default or override\ncontainer images in workload controllers like Deployments and StatefulSets." type: "string" imagePullPolicy: - description: "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images" + description: "Image pull policy.\nOne of Always, Never, IfNotPresent.\nDefaults to Always if :latest tag is specified, or IfNotPresent otherwise.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/containers/images#updating-images" type: "string" lifecycle: - description: "Actions that the management system should take in response to container lifecycle events. Cannot be updated." + description: "Actions that the management system should take in response to container lifecycle events.\nCannot be updated." properties: postStart: - description: "PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks" + description: "PostStart is called immediately after a container is created. If the handler fails,\nthe container is terminated and restarted according to its restart policy.\nOther management of the container blocks until the hook completes.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks" properties: exec: description: "Exec specifies the action to take." properties: command: - description: "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy." + description: "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy." items: type: "string" type: "array" @@ -210,7 +210,7 @@ spec: description: "HTTPGet specifies the http request to perform." properties: host: - description: "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + description: "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead." type: "string" httpHeaders: description: "Custom headers to set in the request. HTTP allows repeated headers." @@ -218,7 +218,7 @@ spec: description: "HTTPHeader describes a custom header to be used in HTTP probes" properties: name: - description: "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header." + description: "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header." type: "string" value: description: "The header field value" @@ -235,10 +235,10 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true scheme: - description: "Scheme to use for connecting to the host. Defaults to HTTP." + description: "Scheme to use for connecting to the host.\nDefaults to HTTP." type: "string" required: - "port" @@ -254,7 +254,7 @@ spec: - "seconds" type: "object" tcpSocket: - description: "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified." + description: "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor the backward compatibility. There are no validation of this field and\nlifecycle hooks will fail in runtime when tcp handler is specified." properties: host: description: "Optional: Host name to connect to, defaults to the pod IP." @@ -263,20 +263,20 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true required: - "port" type: "object" type: "object" preStop: - description: "PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks" + description: "PreStop is called immediately before a container is terminated due to an\nAPI request or management event such as liveness/startup probe failure,\npreemption, resource contention, etc. The handler is not called if the\ncontainer crashes or exits. The Pod's termination grace period countdown begins before the\nPreStop hook is executed. Regardless of the outcome of the handler, the\ncontainer will eventually terminate within the Pod's termination grace\nperiod (unless delayed by finalizers). Other management of the container blocks until the hook completes\nor until the termination grace period is reached.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks" properties: exec: description: "Exec specifies the action to take." properties: command: - description: "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy." + description: "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy." items: type: "string" type: "array" @@ -285,7 +285,7 @@ spec: description: "HTTPGet specifies the http request to perform." properties: host: - description: "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + description: "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead." type: "string" httpHeaders: description: "Custom headers to set in the request. HTTP allows repeated headers." @@ -293,7 +293,7 @@ spec: description: "HTTPHeader describes a custom header to be used in HTTP probes" properties: name: - description: "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header." + description: "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header." type: "string" value: description: "The header field value" @@ -310,10 +310,10 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true scheme: - description: "Scheme to use for connecting to the host. Defaults to HTTP." + description: "Scheme to use for connecting to the host.\nDefaults to HTTP." type: "string" required: - "port" @@ -329,7 +329,7 @@ spec: - "seconds" type: "object" tcpSocket: - description: "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified." + description: "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor the backward compatibility. There are no validation of this field and\nlifecycle hooks will fail in runtime when tcp handler is specified." properties: host: description: "Optional: Host name to connect to, defaults to the pod IP." @@ -338,7 +338,7 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true required: - "port" @@ -346,19 +346,19 @@ spec: type: "object" type: "object" livenessProbe: - description: "Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Periodic probe of container liveness.\nContainer will be restarted if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" properties: exec: description: "Exec specifies the action to take." properties: command: - description: "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy." + description: "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy." items: type: "string" type: "array" type: "object" failureThreshold: - description: "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1." + description: "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1." format: "int32" type: "integer" grpc: @@ -369,7 +369,7 @@ spec: format: "int32" type: "integer" service: - description: "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). \n If this is not specified, the default behavior is defined by gRPC." + description: "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\n\nIf this is not specified, the default behavior is defined by gRPC." type: "string" required: - "port" @@ -378,7 +378,7 @@ spec: description: "HTTPGet specifies the http request to perform." properties: host: - description: "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + description: "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead." type: "string" httpHeaders: description: "Custom headers to set in the request. HTTP allows repeated headers." @@ -386,7 +386,7 @@ spec: description: "HTTPHeader describes a custom header to be used in HTTP probes" properties: name: - description: "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header." + description: "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header." type: "string" value: description: "The header field value" @@ -403,24 +403,24 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true scheme: - description: "Scheme to use for connecting to the host. Defaults to HTTP." + description: "Scheme to use for connecting to the host.\nDefaults to HTTP." type: "string" required: - "port" type: "object" initialDelaySeconds: - description: "Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" format: "int32" type: "integer" periodSeconds: - description: "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1." + description: "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1." format: "int32" type: "integer" successThreshold: - description: "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1." + description: "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1." format: "int32" type: "integer" tcpSocket: @@ -433,45 +433,45 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true required: - "port" type: "object" terminationGracePeriodSeconds: - description: "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset." + description: "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset." format: "int64" type: "integer" timeoutSeconds: - description: "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" format: "int32" type: "integer" type: "object" name: - description: "Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated." + description: "Name of the container specified as a DNS_LABEL.\nEach container in a pod must have a unique name (DNS_LABEL).\nCannot be updated." type: "string" ports: - description: "List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated." + description: "List of ports to expose from the container. Not specifying a port here\nDOES NOT prevent that port from being exposed. Any port which is\nlistening on the default \"0.0.0.0\" address inside a container will be\naccessible from the network.\nModifying this array with strategic merge patch may corrupt the data.\nFor more information See https://github.com/kubernetes/kubernetes/issues/108255.\nCannot be updated." items: description: "ContainerPort represents a network port in a single container." properties: containerPort: - description: "Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536." + description: "Number of port to expose on the pod's IP address.\nThis must be a valid port number, 0 < x < 65536." format: "int32" type: "integer" hostIP: description: "What host IP to bind the external port to." type: "string" hostPort: - description: "Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this." + description: "Number of port to expose on the host.\nIf specified, this must be a valid port number, 0 < x < 65536.\nIf HostNetwork is specified, this must match ContainerPort.\nMost containers do not need this." format: "int32" type: "integer" name: - description: "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services." + description: "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each\nnamed port in a pod must have a unique name. Name for the port that can be\nreferred to by services." type: "string" protocol: default: "TCP" - description: "Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \"TCP\"." + description: "Protocol for port. Must be UDP, TCP, or SCTP.\nDefaults to \"TCP\"." type: "string" required: - "containerPort" @@ -482,19 +482,19 @@ spec: - "protocol" x-kubernetes-list-type: "map" readinessProbe: - description: "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Periodic probe of container service readiness.\nContainer will be removed from service endpoints if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" properties: exec: description: "Exec specifies the action to take." properties: command: - description: "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy." + description: "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy." items: type: "string" type: "array" type: "object" failureThreshold: - description: "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1." + description: "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1." format: "int32" type: "integer" grpc: @@ -505,7 +505,7 @@ spec: format: "int32" type: "integer" service: - description: "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). \n If this is not specified, the default behavior is defined by gRPC." + description: "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\n\nIf this is not specified, the default behavior is defined by gRPC." type: "string" required: - "port" @@ -514,7 +514,7 @@ spec: description: "HTTPGet specifies the http request to perform." properties: host: - description: "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + description: "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead." type: "string" httpHeaders: description: "Custom headers to set in the request. HTTP allows repeated headers." @@ -522,7 +522,7 @@ spec: description: "HTTPHeader describes a custom header to be used in HTTP probes" properties: name: - description: "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header." + description: "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header." type: "string" value: description: "The header field value" @@ -539,24 +539,24 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true scheme: - description: "Scheme to use for connecting to the host. Defaults to HTTP." + description: "Scheme to use for connecting to the host.\nDefaults to HTTP." type: "string" required: - "port" type: "object" initialDelaySeconds: - description: "Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" format: "int32" type: "integer" periodSeconds: - description: "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1." + description: "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1." format: "int32" type: "integer" successThreshold: - description: "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1." + description: "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1." format: "int32" type: "integer" tcpSocket: @@ -569,17 +569,17 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true required: - "port" type: "object" terminationGracePeriodSeconds: - description: "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset." + description: "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset." format: "int64" type: "integer" timeoutSeconds: - description: "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" format: "int32" type: "integer" type: "object" @@ -589,10 +589,10 @@ spec: description: "ContainerResizePolicy represents resource resize policy for the container." properties: resourceName: - description: "Name of the resource to which this resource resize policy applies. Supported values: cpu, memory." + description: "Name of the resource to which this resource resize policy applies.\nSupported values: cpu, memory." type: "string" restartPolicy: - description: "Restart policy to apply when specified resource is resized. If not specified, it defaults to NotRequired." + description: "Restart policy to apply when specified resource is resized.\nIf not specified, it defaults to NotRequired." type: "string" required: - "resourceName" @@ -601,15 +601,15 @@ spec: type: "array" x-kubernetes-list-type: "atomic" resources: - description: "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Compute Resources required by this container.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" properties: claims: - description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers." + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." items: description: "ResourceClaim references one entry in PodSpec.ResourceClaims." properties: name: - description: "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container." + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." type: "string" required: - "name" @@ -625,7 +625,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -634,20 +634,20 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" restartPolicy: - description: "RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed." + description: "RestartPolicy defines the restart behavior of individual containers in a pod.\nThis field may only be set for init containers, and the only allowed value is \"Always\".\nFor non-init containers or when this field is not specified,\nthe restart behavior is defined by the Pod's restart policy and the container type.\nSetting the RestartPolicy as \"Always\" for the init container will have the following effect:\nthis init container will be continually restarted on\nexit until all regular containers have terminated. Once all regular\ncontainers have completed, all init containers with restartPolicy \"Always\"\nwill be shut down. This lifecycle differs from normal init containers and\nis often referred to as a \"sidecar\" container. Although this init\ncontainer still starts in the init container sequence, it does not wait\nfor the container to complete before proceeding to the next init\ncontainer. Instead, the next init container starts immediately after this\ninit container is started, or after any startupProbe has successfully\ncompleted." type: "string" securityContext: - description: "SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/" + description: "SecurityContext defines the security options the container should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/" properties: allowPrivilegeEscalation: - description: "AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows." + description: "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows." type: "boolean" capabilities: - description: "The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows." + description: "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows." properties: add: description: "Added capabilities" @@ -663,27 +663,27 @@ spec: type: "array" type: "object" privileged: - description: "Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows." + description: "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows." type: "boolean" procMount: - description: "procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows." + description: "procMount denotes the type of proc mount to use for the containers.\nThe default is DefaultProcMount which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows." type: "string" readOnlyRootFilesystem: - description: "Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows." + description: "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows." type: "boolean" runAsGroup: - description: "The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows." + description: "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows." format: "int64" type: "integer" runAsNonRoot: - description: "Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + description: "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence." type: "boolean" runAsUser: - description: "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows." + description: "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows." format: "int64" type: "integer" seLinuxOptions: - description: "The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows." + description: "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer. May also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows." properties: level: description: "Level is SELinux level label that applies to the container." @@ -699,48 +699,48 @@ spec: type: "string" type: "object" seccompProfile: - description: "The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows." + description: "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod & container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows." properties: localhostProfile: - description: "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is \"Localhost\". Must NOT be set for any other type." + description: "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type." type: "string" type: - description: "type indicates which kind of seccomp profile will be applied. Valid options are: \n Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied." + description: "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied." type: "string" required: - "type" type: "object" windowsOptions: - description: "The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux." + description: "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux." properties: gmsaCredentialSpec: - description: "GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field." + description: "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field." type: "string" gmsaCredentialSpecName: description: "GMSACredentialSpecName is the name of the GMSA credential spec to use." type: "string" hostProcess: - description: "HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true." + description: "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true." type: "boolean" runAsUserName: - description: "The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + description: "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence." type: "string" type: "object" type: "object" startupProbe: - description: "StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "StartupProbe indicates that the Pod has successfully initialized.\nIf specified, no other probes are executed until this completes successfully.\nIf this probe fails, the Pod will be restarted, just as if the livenessProbe failed.\nThis can be used to provide different probe parameters at the beginning of a Pod's lifecycle,\nwhen it might take a long time to load data or warm a cache, than during steady-state operation.\nThis cannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" properties: exec: description: "Exec specifies the action to take." properties: command: - description: "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy." + description: "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy." items: type: "string" type: "array" type: "object" failureThreshold: - description: "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1." + description: "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1." format: "int32" type: "integer" grpc: @@ -751,7 +751,7 @@ spec: format: "int32" type: "integer" service: - description: "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). \n If this is not specified, the default behavior is defined by gRPC." + description: "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\n\nIf this is not specified, the default behavior is defined by gRPC." type: "string" required: - "port" @@ -760,7 +760,7 @@ spec: description: "HTTPGet specifies the http request to perform." properties: host: - description: "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + description: "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead." type: "string" httpHeaders: description: "Custom headers to set in the request. HTTP allows repeated headers." @@ -768,7 +768,7 @@ spec: description: "HTTPHeader describes a custom header to be used in HTTP probes" properties: name: - description: "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header." + description: "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header." type: "string" value: description: "The header field value" @@ -785,24 +785,24 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true scheme: - description: "Scheme to use for connecting to the host. Defaults to HTTP." + description: "Scheme to use for connecting to the host.\nDefaults to HTTP." type: "string" required: - "port" type: "object" initialDelaySeconds: - description: "Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" format: "int32" type: "integer" periodSeconds: - description: "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1." + description: "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1." format: "int32" type: "integer" successThreshold: - description: "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1." + description: "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1." format: "int32" type: "integer" tcpSocket: @@ -815,34 +815,34 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true required: - "port" type: "object" terminationGracePeriodSeconds: - description: "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset." + description: "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset." format: "int64" type: "integer" timeoutSeconds: - description: "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" format: "int32" type: "integer" type: "object" stdin: - description: "Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false." + description: "Whether this container should allocate a buffer for stdin in the container runtime. If this\nis not set, reads from stdin in the container will always result in EOF.\nDefault is false." type: "boolean" stdinOnce: - description: "Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false" + description: "Whether the container runtime should close the stdin channel after it has been opened by\na single attach. When stdin is true the stdin stream will remain open across multiple attach\nsessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the\nfirst client attaches to stdin, and then remains open and accepts data until the client disconnects,\nat which time stdin is closed and remains closed until the container is restarted. If this\nflag is false, a container processes that reads from stdin will never receive an EOF.\nDefault is false" type: "boolean" terminationMessagePath: - description: "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated." + description: "Optional: Path at which the file to which the container's termination message\nwill be written is mounted into the container's filesystem.\nMessage written is intended to be brief final status, such as an assertion failure message.\nWill be truncated by the node if greater than 4096 bytes. The total message length across\nall containers will be limited to 12kb.\nDefaults to /dev/termination-log.\nCannot be updated." type: "string" terminationMessagePolicy: - description: "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated." + description: "Indicate how the termination message should be populated. File will use the contents of\nterminationMessagePath to populate the container status message on both success and failure.\nFallbackToLogsOnError will use the last chunk of container log output if the termination\nmessage file is empty and the container exited with an error.\nThe log output is limited to 2048 bytes or 80 lines, whichever is smaller.\nDefaults to File.\nCannot be updated." type: "string" tty: - description: "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false." + description: "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.\nDefault is false." type: "boolean" volumeDevices: description: "volumeDevices is the list of block devices to be used by the container." @@ -861,27 +861,27 @@ spec: type: "object" type: "array" volumeMounts: - description: "Pod volumes to mount into the container's filesystem. Cannot be updated." + description: "Pod volumes to mount into the container's filesystem.\nCannot be updated." items: description: "VolumeMount describes a mounting of a Volume within a container." properties: mountPath: - description: "Path within the container at which the volume should be mounted. Must not contain ':'." + description: "Path within the container at which the volume should be mounted. Must\nnot contain ':'." type: "string" mountPropagation: - description: "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10." + description: "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10." type: "string" name: description: "This must match the Name of a Volume." type: "string" readOnly: - description: "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." + description: "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false." type: "boolean" subPath: - description: "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + description: "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root)." type: "string" subPathExpr: - description: "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive." + description: "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive." type: "string" required: - "mountPath" @@ -889,7 +889,7 @@ spec: type: "object" type: "array" workingDir: - description: "Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated." + description: "Container's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated." type: "string" required: - "name" @@ -902,9 +902,9 @@ spec: description: "Describes node affinity scheduling rules for the pod." properties: preferredDuringSchedulingIgnoredDuringExecution: - description: "The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred." + description: "The scheduler will prefer to schedule pods to nodes that satisfy\nthe affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node matches the corresponding matchExpressions; the\nnode(s) with the highest sum are the most preferred." items: - description: "An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op)." + description: "An empty preferred scheduling term matches all objects with implicit weight 0\n(i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op)." properties: preference: description: "A node selector term, associated with the corresponding weight." @@ -912,16 +912,16 @@ spec: matchExpressions: description: "A list of node selector requirements by node's labels." items: - description: "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates the key and values." properties: key: description: "The label key that the selector applies to." type: "string" operator: - description: "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt." + description: "Represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt." type: "string" values: - description: "An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch." + description: "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. If the operator is Gt or Lt, the values\narray must have a single element, which will be interpreted as an integer.\nThis array is replaced during a strategic merge patch." items: type: "string" type: "array" @@ -933,16 +933,16 @@ spec: matchFields: description: "A list of node selector requirements by node's fields." items: - description: "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates the key and values." properties: key: description: "The label key that the selector applies to." type: "string" operator: - description: "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt." + description: "Represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt." type: "string" values: - description: "An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch." + description: "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. If the operator is Gt or Lt, the values\narray must have a single element, which will be interpreted as an integer.\nThis array is replaced during a strategic merge patch." items: type: "string" type: "array" @@ -963,26 +963,26 @@ spec: type: "object" type: "array" requiredDuringSchedulingIgnoredDuringExecution: - description: "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node." + description: "If the affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to an update), the system\nmay or may not try to eventually evict the pod from its node." properties: nodeSelectorTerms: description: "Required. A list of node selector terms. The terms are ORed." items: - description: "A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm." + description: "A null or empty node selector term matches no objects. The requirements of\nthem are ANDed.\nThe TopologySelectorTerm type implements a subset of the NodeSelectorTerm." properties: matchExpressions: description: "A list of node selector requirements by node's labels." items: - description: "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates the key and values." properties: key: description: "The label key that the selector applies to." type: "string" operator: - description: "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt." + description: "Represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt." type: "string" values: - description: "An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch." + description: "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. If the operator is Gt or Lt, the values\narray must have a single element, which will be interpreted as an integer.\nThis array is replaced during a strategic merge patch." items: type: "string" type: "array" @@ -994,16 +994,16 @@ spec: matchFields: description: "A list of node selector requirements by node's fields." items: - description: "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates the key and values." properties: key: description: "The label key that the selector applies to." type: "string" operator: - description: "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt." + description: "Represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt." type: "string" values: - description: "An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch." + description: "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. If the operator is Gt or Lt, the values\narray must have a single element, which will be interpreted as an integer.\nThis array is replaced during a strategic merge patch." items: type: "string" type: "array" @@ -1024,7 +1024,7 @@ spec: description: "Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s))." properties: preferredDuringSchedulingIgnoredDuringExecution: - description: "The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred." + description: "The scheduler will prefer to schedule pods to nodes that satisfy\nthe affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the\nnode(s) with the highest sum are the most preferred." items: description: "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)" properties: @@ -1032,21 +1032,21 @@ spec: description: "Required. A pod affinity term, associated with the corresponding weight." properties: labelSelector: - description: "A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods." + description: "A label query over a set of resources, in this case pods.\nIf it's null, this PodAffinityTerm matches with no Pods." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1058,38 +1058,38 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" matchLabelKeys: - description: "MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. Also, MatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." + description: "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both MatchLabelKeys and LabelSelector.\nAlso, MatchLabelKeys cannot be set when LabelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." items: type: "string" type: "array" x-kubernetes-list-type: "atomic" mismatchLabelKeys: - description: "MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." + description: "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.\nAlso, MismatchLabelKeys cannot be set when LabelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." items: type: "string" type: "array" x-kubernetes-list-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1101,23 +1101,23 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" type: "object" weight: - description: "weight associated with matching the corresponding podAffinityTerm, in the range 1-100." + description: "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100." format: "int32" type: "integer" required: @@ -1126,26 +1126,26 @@ spec: type: "object" type: "array" requiredDuringSchedulingIgnoredDuringExecution: - description: "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied." + description: "If the affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to a pod label update), the\nsystem may or may not try to eventually evict the pod from its node.\nWhen there are multiple elements, the lists of nodes corresponding to each\npodAffinityTerm are intersected, i.e. all terms must be satisfied." items: - description: "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running" + description: "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s)) that this pod should be\nco-located (affinity) or not co-located (anti-affinity) with,\nwhere co-located is defined as running on a node whose value of\nthe label with key matches that of any node on which\na pod of the set of pods is running" properties: labelSelector: - description: "A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods." + description: "A label query over a set of resources, in this case pods.\nIf it's null, this PodAffinityTerm matches with no Pods." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1157,38 +1157,38 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" matchLabelKeys: - description: "MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. Also, MatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." + description: "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both MatchLabelKeys and LabelSelector.\nAlso, MatchLabelKeys cannot be set when LabelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." items: type: "string" type: "array" x-kubernetes-list-type: "atomic" mismatchLabelKeys: - description: "MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." + description: "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.\nAlso, MismatchLabelKeys cannot be set when LabelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." items: type: "string" type: "array" x-kubernetes-list-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1200,17 +1200,17 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" @@ -1221,7 +1221,7 @@ spec: description: "Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s))." properties: preferredDuringSchedulingIgnoredDuringExecution: - description: "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred." + description: "The scheduler will prefer to schedule pods to nodes that satisfy\nthe anti-affinity expressions specified by this field, but it may choose\na node that violates one or more of the expressions. The node that is\nmost preferred is the one with the greatest sum of weights, i.e.\nfor each node that meets all of the scheduling requirements (resource\nrequest, requiredDuringScheduling anti-affinity expressions, etc.),\ncompute a sum by iterating through the elements of this field and adding\n\"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the\nnode(s) with the highest sum are the most preferred." items: description: "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)" properties: @@ -1229,21 +1229,21 @@ spec: description: "Required. A pod affinity term, associated with the corresponding weight." properties: labelSelector: - description: "A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods." + description: "A label query over a set of resources, in this case pods.\nIf it's null, this PodAffinityTerm matches with no Pods." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1255,38 +1255,38 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" matchLabelKeys: - description: "MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. Also, MatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." + description: "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both MatchLabelKeys and LabelSelector.\nAlso, MatchLabelKeys cannot be set when LabelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." items: type: "string" type: "array" x-kubernetes-list-type: "atomic" mismatchLabelKeys: - description: "MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." + description: "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.\nAlso, MismatchLabelKeys cannot be set when LabelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." items: type: "string" type: "array" x-kubernetes-list-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1298,23 +1298,23 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" type: "object" weight: - description: "weight associated with matching the corresponding podAffinityTerm, in the range 1-100." + description: "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100." format: "int32" type: "integer" required: @@ -1323,26 +1323,26 @@ spec: type: "object" type: "array" requiredDuringSchedulingIgnoredDuringExecution: - description: "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied." + description: "If the anti-affinity requirements specified by this field are not met at\nscheduling time, the pod will not be scheduled onto the node.\nIf the anti-affinity requirements specified by this field cease to be met\nat some point during pod execution (e.g. due to a pod label update), the\nsystem may or may not try to eventually evict the pod from its node.\nWhen there are multiple elements, the lists of nodes corresponding to each\npodAffinityTerm are intersected, i.e. all terms must be satisfied." items: - description: "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running" + description: "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s)) that this pod should be\nco-located (affinity) or not co-located (anti-affinity) with,\nwhere co-located is defined as running on a node whose value of\nthe label with key matches that of any node on which\na pod of the set of pods is running" properties: labelSelector: - description: "A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods." + description: "A label query over a set of resources, in this case pods.\nIf it's null, this PodAffinityTerm matches with no Pods." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1354,38 +1354,38 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" matchLabelKeys: - description: "MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. Also, MatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." + description: "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both MatchLabelKeys and LabelSelector.\nAlso, MatchLabelKeys cannot be set when LabelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." items: type: "string" type: "array" x-kubernetes-list-type: "atomic" mismatchLabelKeys: - description: "MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." + description: "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)`\nto select the group of existing pods which pods will be taken into consideration\nfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming\npod labels will be ignored. The default value is empty.\nThe same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.\nAlso, MismatchLabelKeys cannot be set when LabelSelector isn't set.\nThis is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate." items: type: "string" type: "array" x-kubernetes-list-type: "atomic" namespaceSelector: - description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces." + description: "A label query over the set of namespaces that the term applies to.\nThe term is applied to the union of the namespaces selected by this field\nand the ones listed in the namespaces field.\nnull selector and null or empty namespaces list means \"this pod's namespace\".\nAn empty selector ({}) matches all namespaces." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1397,17 +1397,17 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" namespaces: - description: "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." + description: "namespaces specifies a static list of namespace names that the term applies to.\nThe term is applied to the union of the namespaces listed in this field\nand the ones selected by namespaceSelector.\nnull or empty namespaces list and null namespaceSelector means \"this pod's namespace\"." items: type: "string" type: "array" topologyKey: - description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed." + description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching\nthe labelSelector in the specified namespaces, where co-located is defined as running on a node\nwhose value of the label with key topologyKey matches that of any node on which any of the\nselected pods is running.\nEmpty topologyKey is not allowed." type: "string" required: - "topologyKey" @@ -1421,28 +1421,28 @@ spec: description: "Args is the set of arguments to pass to the OpenTelemetry Collector binary" type: "object" autoscaler: - description: "Autoscaler specifies the pod autoscaling configuration to use for the AmazonCloudWatchAgent workload." + description: "Autoscaler specifies the pod autoscaling configuration to use\nfor the AmazonCloudWatchAgent workload." properties: behavior: - description: "HorizontalPodAutoscalerBehavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively)." + description: "HorizontalPodAutoscalerBehavior configures the scaling behavior of the target\nin both Up and Down directions (scaleUp and scaleDown fields respectively)." properties: scaleDown: - description: "scaleDown is scaling policy for scaling Down. If not set, the default value is to allow to scale down to minReplicas pods, with a 300 second stabilization window (i.e., the highest recommendation for the last 300sec is used)." + description: "scaleDown is scaling policy for scaling Down.\nIf not set, the default value is to allow to scale down to minReplicas pods, with a\n300 second stabilization window (i.e., the highest recommendation for\nthe last 300sec is used)." properties: policies: - description: "policies is a list of potential scaling polices which can be used during scaling. At least one policy must be specified, otherwise the HPAScalingRules will be discarded as invalid" + description: "policies is a list of potential scaling polices which can be used during scaling.\nAt least one policy must be specified, otherwise the HPAScalingRules will be discarded as invalid" items: description: "HPAScalingPolicy is a single policy which must hold true for a specified past interval." properties: periodSeconds: - description: "periodSeconds specifies the window of time for which the policy should hold true. PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min)." + description: "periodSeconds specifies the window of time for which the policy should hold true.\nPeriodSeconds must be greater than zero and less than or equal to 1800 (30 min)." format: "int32" type: "integer" type: description: "type is used to specify the scaling policy." type: "string" value: - description: "value contains the amount of change which is permitted by the policy. It must be greater than zero" + description: "value contains the amount of change which is permitted by the policy.\nIt must be greater than zero" format: "int32" type: "integer" required: @@ -1453,30 +1453,30 @@ spec: type: "array" x-kubernetes-list-type: "atomic" selectPolicy: - description: "selectPolicy is used to specify which policy should be used. If not set, the default value Max is used." + description: "selectPolicy is used to specify which policy should be used.\nIf not set, the default value Max is used." type: "string" stabilizationWindowSeconds: - description: "stabilizationWindowSeconds is the number of seconds for which past recommendations should be considered while scaling up or scaling down. StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). If not set, use the default values: - For scale up: 0 (i.e. no stabilization is done). - For scale down: 300 (i.e. the stabilization window is 300 seconds long)." + description: "stabilizationWindowSeconds is the number of seconds for which past recommendations should be\nconsidered while scaling up or scaling down.\nStabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour).\nIf not set, use the default values:\n- For scale up: 0 (i.e. no stabilization is done).\n- For scale down: 300 (i.e. the stabilization window is 300 seconds long)." format: "int32" type: "integer" type: "object" scaleUp: - description: "scaleUp is scaling policy for scaling Up. If not set, the default value is the higher of: * increase no more than 4 pods per 60 seconds * double the number of pods per 60 seconds No stabilization is used." + description: "scaleUp is scaling policy for scaling Up.\nIf not set, the default value is the higher of:\n * increase no more than 4 pods per 60 seconds\n * double the number of pods per 60 seconds\nNo stabilization is used." properties: policies: - description: "policies is a list of potential scaling polices which can be used during scaling. At least one policy must be specified, otherwise the HPAScalingRules will be discarded as invalid" + description: "policies is a list of potential scaling polices which can be used during scaling.\nAt least one policy must be specified, otherwise the HPAScalingRules will be discarded as invalid" items: description: "HPAScalingPolicy is a single policy which must hold true for a specified past interval." properties: periodSeconds: - description: "periodSeconds specifies the window of time for which the policy should hold true. PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min)." + description: "periodSeconds specifies the window of time for which the policy should hold true.\nPeriodSeconds must be greater than zero and less than or equal to 1800 (30 min)." format: "int32" type: "integer" type: description: "type is used to specify the scaling policy." type: "string" value: - description: "value contains the amount of change which is permitted by the policy. It must be greater than zero" + description: "value contains the amount of change which is permitted by the policy.\nIt must be greater than zero" format: "int32" type: "integer" required: @@ -1487,10 +1487,10 @@ spec: type: "array" x-kubernetes-list-type: "atomic" selectPolicy: - description: "selectPolicy is used to specify which policy should be used. If not set, the default value Max is used." + description: "selectPolicy is used to specify which policy should be used.\nIf not set, the default value Max is used." type: "string" stabilizationWindowSeconds: - description: "stabilizationWindowSeconds is the number of seconds for which past recommendations should be considered while scaling up or scaling down. StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). If not set, use the default values: - For scale up: 0 (i.e. no stabilization is done). - For scale down: 300 (i.e. the stabilization window is 300 seconds long)." + description: "stabilizationWindowSeconds is the number of seconds for which past recommendations should be\nconsidered while scaling up or scaling down.\nStabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour).\nIf not set, use the default values:\n- For scale up: 0 (i.e. no stabilization is done).\n- For scale down: 300 (i.e. the stabilization window is 300 seconds long)." format: "int32" type: "integer" type: "object" @@ -1500,12 +1500,12 @@ spec: format: "int32" type: "integer" metrics: - description: "Metrics is meant to provide a customizable way to configure HPA metrics. currently the only supported custom metrics is type=Pod. Use TargetCPUUtilization or TargetMemoryUtilization instead if scaling on these common resource metrics." + description: "Metrics is meant to provide a customizable way to configure HPA metrics.\ncurrently the only supported custom metrics is type=Pod.\nUse TargetCPUUtilization or TargetMemoryUtilization instead if scaling on these common resource metrics." items: - description: "MetricSpec defines a subset of metrics to be defined for the HPA's metric array more metric type can be supported as needed. See https://pkg.go.dev/k8s.io/api/autoscaling/v2#MetricSpec for reference." + description: "MetricSpec defines a subset of metrics to be defined for the HPA's metric array\nmore metric type can be supported as needed.\nSee https://pkg.go.dev/k8s.io/api/autoscaling/v2#MetricSpec for reference." properties: pods: - description: "PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value." + description: "PodsMetricSource indicates how to scale on a metric describing each pod in\nthe current scale target (for example, transactions-processed-per-second).\nThe values will be averaged together before being compared to the target\nvalue." properties: metric: description: "metric identifies the target metric by name and selector" @@ -1514,21 +1514,21 @@ spec: description: "name is the name of the given metric" type: "string" selector: - description: "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics." + description: "selector is the string-encoded form of a standard kubernetes label selector for the given metric\nWhen set, it is passed as an additional parameter to the metrics server for more specific metrics scoping.\nWhen unset, just the metricName will be used to gather metrics." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -1540,7 +1540,7 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" @@ -1551,14 +1551,14 @@ spec: description: "target specifies the target value for the given metric" properties: averageUtilization: - description: "averageUtilization is the target value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods. Currently only valid for Resource metric source type" + description: "averageUtilization is the target value of the average of the\nresource metric across all relevant pods, represented as a percentage of\nthe requested value of the resource for the pods.\nCurrently only valid for Resource metric source type" format: "int32" type: "integer" averageValue: anyOf: - type: "integer" - type: "string" - description: "averageValue is the target value of the average of the metric across all relevant pods (as a quantity)" + description: "averageValue is the target value of the average of the\nmetric across all relevant pods (as a quantity)" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: @@ -1590,7 +1590,7 @@ spec: format: "int32" type: "integer" targetCPUUtilization: - description: "TargetCPUUtilization sets the target average CPU used across all replicas. If average CPU exceeds this value, the HPA will scale up. Defaults to 90 percent." + description: "TargetCPUUtilization sets the target average CPU used across all replicas.\nIf average CPU exceeds this value, the HPA will scale up. Defaults to 90 percent." format: "int32" type: "integer" targetMemoryUtilization: @@ -1602,7 +1602,7 @@ spec: description: "Config is the raw JSON to be used as the collector's configuration. Refer to the OpenTelemetry Collector documentation for details." type: "string" configmaps: - description: "ConfigMaps is a list of ConfigMaps in the same namespace as the AmazonCloudWatchAgent object, which shall be mounted into the Collector Pods. Each ConfigMap will be added to the Collector's Deployments as a volume named `configmap-`." + description: "ConfigMaps is a list of ConfigMaps in the same namespace as the AmazonCloudWatchAgent\nobject, which shall be mounted into the Collector Pods.\nEach ConfigMap will be added to the Collector's Deployments as a volume named `configmap-`." items: properties: mountpath: @@ -1616,7 +1616,7 @@ spec: type: "object" type: "array" env: - description: "ENV vars to set on the OpenTelemetry Collector's Pods. These can then in certain cases be consumed in the config file for the Collector." + description: "ENV vars to set on the OpenTelemetry Collector's Pods. These can then in certain cases be\nconsumed in the config file for the Collector." items: description: "EnvVar represents an environment variable present in a Container." properties: @@ -1624,7 +1624,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -1636,7 +1636,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1646,7 +1646,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -1659,7 +1659,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -1685,7 +1685,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1700,7 +1700,7 @@ spec: type: "object" type: "array" envFrom: - description: "List of sources to populate environment variables on the OpenTelemetry Collector's Pods. These can then in certain cases be consumed in the config file for the Collector." + description: "List of sources to populate environment variables on the OpenTelemetry Collector's Pods.\nThese can then in certain cases be consumed in the config file for the Collector." items: description: "EnvFromSource represents the source of a set of ConfigMaps" properties: @@ -1708,7 +1708,7 @@ spec: description: "The ConfigMap to select from" properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap must be defined" @@ -1722,7 +1722,7 @@ spec: description: "The Secret to select from" properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret must be defined" @@ -1741,21 +1741,21 @@ spec: description: "ImagePullPolicy indicates the pull policy to be used for retrieving the container image (Always, Never, IfNotPresent)" type: "string" ingress: - description: "Ingress is used to specify how OpenTelemetry Collector is exposed. This functionality is only available if one of the valid modes is set. Valid modes are: deployment, daemonset and statefulset." + description: "Ingress is used to specify how OpenTelemetry Collector is exposed. This\nfunctionality is only available if one of the valid modes is set.\nValid modes are: deployment, daemonset and statefulset." properties: annotations: additionalProperties: type: "string" - description: "Annotations to add to ingress. e.g. 'cert-manager.io/cluster-issuer: \"letsencrypt\"'" + description: "Annotations to add to ingress.\ne.g. 'cert-manager.io/cluster-issuer: \"letsencrypt\"'" type: "object" hostname: description: "Hostname by which the ingress proxy can be reached." type: "string" ingressClassName: - description: "IngressClassName is the name of an IngressClass cluster resource. Ingress controller implementations use this field to know whether they should be serving this Ingress resource." + description: "IngressClassName is the name of an IngressClass cluster resource. Ingress\ncontroller implementations use this field to know whether they should be\nserving this Ingress resource." type: "string" route: - description: "Route is an OpenShift specific section that is only considered when type \"route\" is used." + description: "Route is an OpenShift specific section that is only considered when\ntype \"route\" is used." properties: termination: description: "Termination indicates termination type. By default \"edge\" is used." @@ -1767,7 +1767,7 @@ spec: type: "string" type: "object" ruleType: - description: "RuleType defines how Ingress exposes collector receivers. IngressRuleTypePath (\"path\") exposes each receiver port on a unique path on single domain defined in Hostname. IngressRuleTypeSubdomain (\"subdomain\") exposes each receiver port on a unique subdomain of Hostname. Default is IngressRuleTypePath (\"path\")." + description: "RuleType defines how Ingress exposes collector receivers.\nIngressRuleTypePath (\"path\") exposes each receiver port on a unique path on single domain defined in Hostname.\nIngressRuleTypeSubdomain (\"subdomain\") exposes each receiver port on a unique subdomain of Hostname.\nDefault is IngressRuleTypePath (\"path\")." enum: - "path" - "subdomain" @@ -1778,40 +1778,40 @@ spec: description: "IngressTLS describes the transport layer security associated with an ingress." properties: hosts: - description: "hosts is a list of hosts included in the TLS certificate. The values in this list must match the name/s used in the tlsSecret. Defaults to the wildcard host setting for the loadbalancer controller fulfilling this Ingress, if left unspecified." + description: "hosts is a list of hosts included in the TLS certificate. The values in\nthis list must match the name/s used in the tlsSecret. Defaults to the\nwildcard host setting for the loadbalancer controller fulfilling this\nIngress, if left unspecified." items: type: "string" type: "array" x-kubernetes-list-type: "atomic" secretName: - description: "secretName is the name of the secret used to terminate TLS traffic on port 443. Field is left optional to allow TLS routing based on SNI hostname alone. If the SNI host in a listener conflicts with the \"Host\" header field used by an IngressRule, the SNI host is used for termination and value of the \"Host\" header is used for routing." + description: "secretName is the name of the secret used to terminate TLS traffic on\nport 443. Field is left optional to allow TLS routing based on SNI\nhostname alone. If the SNI host in a listener conflicts with the \"Host\"\nheader field used by an IngressRule, the SNI host is used for termination\nand value of the \"Host\" header is used for routing." type: "string" type: "object" type: "array" type: - description: "Type default value is: \"\" Supported types are: ingress, route" + description: "Type default value is: \"\"\nSupported types are: ingress, route" enum: - "ingress" - "route" type: "string" type: "object" initContainers: - description: "InitContainers allows injecting initContainers to the Collector's pod definition. These init containers can be used to fetch secrets for injection into the configuration from external sources, run added checks, etc. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/" + description: "InitContainers allows injecting initContainers to the Collector's pod definition.\nThese init containers can be used to fetch secrets for injection into the\nconfiguration from external sources, run added checks, etc. Any errors during the execution of\nan initContainer will lead to a restart of the Pod. More info:\nhttps://kubernetes.io/docs/concepts/workloads/pods/init-containers/" items: description: "A single application container that you want to run within a pod." properties: args: - description: "Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell" + description: "Arguments to the entrypoint.\nThe container image's CMD is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell" items: type: "string" type: "array" command: - description: "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell" + description: "Entrypoint array. Not executed within a shell.\nThe container image's ENTRYPOINT is used if this is not provided.\nVariable references $(VAR_NAME) are expanded using the container's environment. If a variable\ncannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will\nproduce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless\nof whether the variable exists or not. Cannot be updated.\nMore info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell" items: type: "string" type: "array" env: - description: "List of environment variables to set in the container. Cannot be updated." + description: "List of environment variables to set in the container.\nCannot be updated." items: description: "EnvVar represents an environment variable present in a Container." properties: @@ -1819,7 +1819,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -1831,7 +1831,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1841,7 +1841,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -1854,7 +1854,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -1880,7 +1880,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1895,7 +1895,7 @@ spec: type: "object" type: "array" envFrom: - description: "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated." + description: "List of sources to populate environment variables in the container.\nThe keys defined within a source must be a C_IDENTIFIER. All invalid keys\nwill be reported as an event when the container is starting. When a key exists in multiple\nsources, the value associated with the last source will take precedence.\nValues defined by an Env with a duplicate key will take precedence.\nCannot be updated." items: description: "EnvFromSource represents the source of a set of ConfigMaps" properties: @@ -1903,7 +1903,7 @@ spec: description: "The ConfigMap to select from" properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap must be defined" @@ -1917,7 +1917,7 @@ spec: description: "The Secret to select from" properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret must be defined" @@ -1927,22 +1927,22 @@ spec: type: "object" type: "array" image: - description: "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets." + description: "Container image name.\nMore info: https://kubernetes.io/docs/concepts/containers/images\nThis field is optional to allow higher level config management to default or override\ncontainer images in workload controllers like Deployments and StatefulSets." type: "string" imagePullPolicy: - description: "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images" + description: "Image pull policy.\nOne of Always, Never, IfNotPresent.\nDefaults to Always if :latest tag is specified, or IfNotPresent otherwise.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/containers/images#updating-images" type: "string" lifecycle: - description: "Actions that the management system should take in response to container lifecycle events. Cannot be updated." + description: "Actions that the management system should take in response to container lifecycle events.\nCannot be updated." properties: postStart: - description: "PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks" + description: "PostStart is called immediately after a container is created. If the handler fails,\nthe container is terminated and restarted according to its restart policy.\nOther management of the container blocks until the hook completes.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks" properties: exec: description: "Exec specifies the action to take." properties: command: - description: "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy." + description: "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy." items: type: "string" type: "array" @@ -1951,7 +1951,7 @@ spec: description: "HTTPGet specifies the http request to perform." properties: host: - description: "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + description: "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead." type: "string" httpHeaders: description: "Custom headers to set in the request. HTTP allows repeated headers." @@ -1959,7 +1959,7 @@ spec: description: "HTTPHeader describes a custom header to be used in HTTP probes" properties: name: - description: "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header." + description: "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header." type: "string" value: description: "The header field value" @@ -1976,10 +1976,10 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true scheme: - description: "Scheme to use for connecting to the host. Defaults to HTTP." + description: "Scheme to use for connecting to the host.\nDefaults to HTTP." type: "string" required: - "port" @@ -1995,7 +1995,7 @@ spec: - "seconds" type: "object" tcpSocket: - description: "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified." + description: "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor the backward compatibility. There are no validation of this field and\nlifecycle hooks will fail in runtime when tcp handler is specified." properties: host: description: "Optional: Host name to connect to, defaults to the pod IP." @@ -2004,20 +2004,20 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true required: - "port" type: "object" type: "object" preStop: - description: "PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks" + description: "PreStop is called immediately before a container is terminated due to an\nAPI request or management event such as liveness/startup probe failure,\npreemption, resource contention, etc. The handler is not called if the\ncontainer crashes or exits. The Pod's termination grace period countdown begins before the\nPreStop hook is executed. Regardless of the outcome of the handler, the\ncontainer will eventually terminate within the Pod's termination grace\nperiod (unless delayed by finalizers). Other management of the container blocks until the hook completes\nor until the termination grace period is reached.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks" properties: exec: description: "Exec specifies the action to take." properties: command: - description: "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy." + description: "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy." items: type: "string" type: "array" @@ -2026,7 +2026,7 @@ spec: description: "HTTPGet specifies the http request to perform." properties: host: - description: "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + description: "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead." type: "string" httpHeaders: description: "Custom headers to set in the request. HTTP allows repeated headers." @@ -2034,7 +2034,7 @@ spec: description: "HTTPHeader describes a custom header to be used in HTTP probes" properties: name: - description: "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header." + description: "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header." type: "string" value: description: "The header field value" @@ -2051,10 +2051,10 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true scheme: - description: "Scheme to use for connecting to the host. Defaults to HTTP." + description: "Scheme to use for connecting to the host.\nDefaults to HTTP." type: "string" required: - "port" @@ -2070,7 +2070,7 @@ spec: - "seconds" type: "object" tcpSocket: - description: "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified." + description: "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor the backward compatibility. There are no validation of this field and\nlifecycle hooks will fail in runtime when tcp handler is specified." properties: host: description: "Optional: Host name to connect to, defaults to the pod IP." @@ -2079,7 +2079,7 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true required: - "port" @@ -2087,19 +2087,19 @@ spec: type: "object" type: "object" livenessProbe: - description: "Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Periodic probe of container liveness.\nContainer will be restarted if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" properties: exec: description: "Exec specifies the action to take." properties: command: - description: "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy." + description: "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy." items: type: "string" type: "array" type: "object" failureThreshold: - description: "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1." + description: "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1." format: "int32" type: "integer" grpc: @@ -2110,7 +2110,7 @@ spec: format: "int32" type: "integer" service: - description: "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). \n If this is not specified, the default behavior is defined by gRPC." + description: "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\n\nIf this is not specified, the default behavior is defined by gRPC." type: "string" required: - "port" @@ -2119,7 +2119,7 @@ spec: description: "HTTPGet specifies the http request to perform." properties: host: - description: "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + description: "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead." type: "string" httpHeaders: description: "Custom headers to set in the request. HTTP allows repeated headers." @@ -2127,7 +2127,7 @@ spec: description: "HTTPHeader describes a custom header to be used in HTTP probes" properties: name: - description: "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header." + description: "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header." type: "string" value: description: "The header field value" @@ -2144,24 +2144,24 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true scheme: - description: "Scheme to use for connecting to the host. Defaults to HTTP." + description: "Scheme to use for connecting to the host.\nDefaults to HTTP." type: "string" required: - "port" type: "object" initialDelaySeconds: - description: "Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" format: "int32" type: "integer" periodSeconds: - description: "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1." + description: "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1." format: "int32" type: "integer" successThreshold: - description: "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1." + description: "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1." format: "int32" type: "integer" tcpSocket: @@ -2174,45 +2174,45 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true required: - "port" type: "object" terminationGracePeriodSeconds: - description: "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset." + description: "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset." format: "int64" type: "integer" timeoutSeconds: - description: "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" format: "int32" type: "integer" type: "object" name: - description: "Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated." + description: "Name of the container specified as a DNS_LABEL.\nEach container in a pod must have a unique name (DNS_LABEL).\nCannot be updated." type: "string" ports: - description: "List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated." + description: "List of ports to expose from the container. Not specifying a port here\nDOES NOT prevent that port from being exposed. Any port which is\nlistening on the default \"0.0.0.0\" address inside a container will be\naccessible from the network.\nModifying this array with strategic merge patch may corrupt the data.\nFor more information See https://github.com/kubernetes/kubernetes/issues/108255.\nCannot be updated." items: description: "ContainerPort represents a network port in a single container." properties: containerPort: - description: "Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536." + description: "Number of port to expose on the pod's IP address.\nThis must be a valid port number, 0 < x < 65536." format: "int32" type: "integer" hostIP: description: "What host IP to bind the external port to." type: "string" hostPort: - description: "Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this." + description: "Number of port to expose on the host.\nIf specified, this must be a valid port number, 0 < x < 65536.\nIf HostNetwork is specified, this must match ContainerPort.\nMost containers do not need this." format: "int32" type: "integer" name: - description: "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services." + description: "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each\nnamed port in a pod must have a unique name. Name for the port that can be\nreferred to by services." type: "string" protocol: default: "TCP" - description: "Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \"TCP\"." + description: "Protocol for port. Must be UDP, TCP, or SCTP.\nDefaults to \"TCP\"." type: "string" required: - "containerPort" @@ -2223,19 +2223,19 @@ spec: - "protocol" x-kubernetes-list-type: "map" readinessProbe: - description: "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Periodic probe of container service readiness.\nContainer will be removed from service endpoints if the probe fails.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" properties: exec: description: "Exec specifies the action to take." properties: command: - description: "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy." + description: "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy." items: type: "string" type: "array" type: "object" failureThreshold: - description: "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1." + description: "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1." format: "int32" type: "integer" grpc: @@ -2246,7 +2246,7 @@ spec: format: "int32" type: "integer" service: - description: "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). \n If this is not specified, the default behavior is defined by gRPC." + description: "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\n\nIf this is not specified, the default behavior is defined by gRPC." type: "string" required: - "port" @@ -2255,7 +2255,7 @@ spec: description: "HTTPGet specifies the http request to perform." properties: host: - description: "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + description: "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead." type: "string" httpHeaders: description: "Custom headers to set in the request. HTTP allows repeated headers." @@ -2263,7 +2263,7 @@ spec: description: "HTTPHeader describes a custom header to be used in HTTP probes" properties: name: - description: "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header." + description: "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header." type: "string" value: description: "The header field value" @@ -2280,24 +2280,24 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true scheme: - description: "Scheme to use for connecting to the host. Defaults to HTTP." + description: "Scheme to use for connecting to the host.\nDefaults to HTTP." type: "string" required: - "port" type: "object" initialDelaySeconds: - description: "Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" format: "int32" type: "integer" periodSeconds: - description: "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1." + description: "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1." format: "int32" type: "integer" successThreshold: - description: "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1." + description: "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1." format: "int32" type: "integer" tcpSocket: @@ -2310,17 +2310,17 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true required: - "port" type: "object" terminationGracePeriodSeconds: - description: "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset." + description: "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset." format: "int64" type: "integer" timeoutSeconds: - description: "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" format: "int32" type: "integer" type: "object" @@ -2330,10 +2330,10 @@ spec: description: "ContainerResizePolicy represents resource resize policy for the container." properties: resourceName: - description: "Name of the resource to which this resource resize policy applies. Supported values: cpu, memory." + description: "Name of the resource to which this resource resize policy applies.\nSupported values: cpu, memory." type: "string" restartPolicy: - description: "Restart policy to apply when specified resource is resized. If not specified, it defaults to NotRequired." + description: "Restart policy to apply when specified resource is resized.\nIf not specified, it defaults to NotRequired." type: "string" required: - "resourceName" @@ -2342,15 +2342,15 @@ spec: type: "array" x-kubernetes-list-type: "atomic" resources: - description: "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Compute Resources required by this container.\nCannot be updated.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" properties: claims: - description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers." + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." items: description: "ResourceClaim references one entry in PodSpec.ResourceClaims." properties: name: - description: "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container." + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." type: "string" required: - "name" @@ -2366,7 +2366,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -2375,20 +2375,20 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" restartPolicy: - description: "RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed." + description: "RestartPolicy defines the restart behavior of individual containers in a pod.\nThis field may only be set for init containers, and the only allowed value is \"Always\".\nFor non-init containers or when this field is not specified,\nthe restart behavior is defined by the Pod's restart policy and the container type.\nSetting the RestartPolicy as \"Always\" for the init container will have the following effect:\nthis init container will be continually restarted on\nexit until all regular containers have terminated. Once all regular\ncontainers have completed, all init containers with restartPolicy \"Always\"\nwill be shut down. This lifecycle differs from normal init containers and\nis often referred to as a \"sidecar\" container. Although this init\ncontainer still starts in the init container sequence, it does not wait\nfor the container to complete before proceeding to the next init\ncontainer. Instead, the next init container starts immediately after this\ninit container is started, or after any startupProbe has successfully\ncompleted." type: "string" securityContext: - description: "SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/" + description: "SecurityContext defines the security options the container should be run with.\nIf set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.\nMore info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/" properties: allowPrivilegeEscalation: - description: "AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows." + description: "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows." type: "boolean" capabilities: - description: "The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows." + description: "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows." properties: add: description: "Added capabilities" @@ -2404,27 +2404,27 @@ spec: type: "array" type: "object" privileged: - description: "Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows." + description: "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows." type: "boolean" procMount: - description: "procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows." + description: "procMount denotes the type of proc mount to use for the containers.\nThe default is DefaultProcMount which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows." type: "string" readOnlyRootFilesystem: - description: "Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows." + description: "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows." type: "boolean" runAsGroup: - description: "The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows." + description: "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows." format: "int64" type: "integer" runAsNonRoot: - description: "Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + description: "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence." type: "boolean" runAsUser: - description: "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows." + description: "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows." format: "int64" type: "integer" seLinuxOptions: - description: "The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows." + description: "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer. May also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows." properties: level: description: "Level is SELinux level label that applies to the container." @@ -2440,48 +2440,48 @@ spec: type: "string" type: "object" seccompProfile: - description: "The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows." + description: "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod & container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows." properties: localhostProfile: - description: "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is \"Localhost\". Must NOT be set for any other type." + description: "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type." type: "string" type: - description: "type indicates which kind of seccomp profile will be applied. Valid options are: \n Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied." + description: "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied." type: "string" required: - "type" type: "object" windowsOptions: - description: "The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux." + description: "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux." properties: gmsaCredentialSpec: - description: "GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field." + description: "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field." type: "string" gmsaCredentialSpecName: description: "GMSACredentialSpecName is the name of the GMSA credential spec to use." type: "string" hostProcess: - description: "HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true." + description: "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true." type: "boolean" runAsUserName: - description: "The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + description: "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence." type: "string" type: "object" type: "object" startupProbe: - description: "StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "StartupProbe indicates that the Pod has successfully initialized.\nIf specified, no other probes are executed until this completes successfully.\nIf this probe fails, the Pod will be restarted, just as if the livenessProbe failed.\nThis can be used to provide different probe parameters at the beginning of a Pod's lifecycle,\nwhen it might take a long time to load data or warm a cache, than during steady-state operation.\nThis cannot be updated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" properties: exec: description: "Exec specifies the action to take." properties: command: - description: "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy." + description: "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy." items: type: "string" type: "array" type: "object" failureThreshold: - description: "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1." + description: "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1." format: "int32" type: "integer" grpc: @@ -2492,7 +2492,7 @@ spec: format: "int32" type: "integer" service: - description: "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). \n If this is not specified, the default behavior is defined by gRPC." + description: "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).\n\n\nIf this is not specified, the default behavior is defined by gRPC." type: "string" required: - "port" @@ -2501,7 +2501,7 @@ spec: description: "HTTPGet specifies the http request to perform." properties: host: - description: "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + description: "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead." type: "string" httpHeaders: description: "Custom headers to set in the request. HTTP allows repeated headers." @@ -2509,7 +2509,7 @@ spec: description: "HTTPHeader describes a custom header to be used in HTTP probes" properties: name: - description: "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header." + description: "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header." type: "string" value: description: "The header field value" @@ -2526,24 +2526,24 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true scheme: - description: "Scheme to use for connecting to the host. Defaults to HTTP." + description: "Scheme to use for connecting to the host.\nDefaults to HTTP." type: "string" required: - "port" type: "object" initialDelaySeconds: - description: "Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Number of seconds after the container has started before liveness probes are initiated.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" format: "int32" type: "integer" periodSeconds: - description: "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1." + description: "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1." format: "int32" type: "integer" successThreshold: - description: "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1." + description: "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1." format: "int32" type: "integer" tcpSocket: @@ -2556,34 +2556,34 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true required: - "port" type: "object" terminationGracePeriodSeconds: - description: "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset." + description: "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset." format: "int64" type: "integer" timeoutSeconds: - description: "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" format: "int32" type: "integer" type: "object" stdin: - description: "Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false." + description: "Whether this container should allocate a buffer for stdin in the container runtime. If this\nis not set, reads from stdin in the container will always result in EOF.\nDefault is false." type: "boolean" stdinOnce: - description: "Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false" + description: "Whether the container runtime should close the stdin channel after it has been opened by\na single attach. When stdin is true the stdin stream will remain open across multiple attach\nsessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the\nfirst client attaches to stdin, and then remains open and accepts data until the client disconnects,\nat which time stdin is closed and remains closed until the container is restarted. If this\nflag is false, a container processes that reads from stdin will never receive an EOF.\nDefault is false" type: "boolean" terminationMessagePath: - description: "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated." + description: "Optional: Path at which the file to which the container's termination message\nwill be written is mounted into the container's filesystem.\nMessage written is intended to be brief final status, such as an assertion failure message.\nWill be truncated by the node if greater than 4096 bytes. The total message length across\nall containers will be limited to 12kb.\nDefaults to /dev/termination-log.\nCannot be updated." type: "string" terminationMessagePolicy: - description: "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated." + description: "Indicate how the termination message should be populated. File will use the contents of\nterminationMessagePath to populate the container status message on both success and failure.\nFallbackToLogsOnError will use the last chunk of container log output if the termination\nmessage file is empty and the container exited with an error.\nThe log output is limited to 2048 bytes or 80 lines, whichever is smaller.\nDefaults to File.\nCannot be updated." type: "string" tty: - description: "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false." + description: "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.\nDefault is false." type: "boolean" volumeDevices: description: "volumeDevices is the list of block devices to be used by the container." @@ -2602,27 +2602,27 @@ spec: type: "object" type: "array" volumeMounts: - description: "Pod volumes to mount into the container's filesystem. Cannot be updated." + description: "Pod volumes to mount into the container's filesystem.\nCannot be updated." items: description: "VolumeMount describes a mounting of a Volume within a container." properties: mountPath: - description: "Path within the container at which the volume should be mounted. Must not contain ':'." + description: "Path within the container at which the volume should be mounted. Must\nnot contain ':'." type: "string" mountPropagation: - description: "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10." + description: "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10." type: "string" name: description: "This must match the Name of a Volume." type: "string" readOnly: - description: "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." + description: "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false." type: "boolean" subPath: - description: "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + description: "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root)." type: "string" subPathExpr: - description: "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive." + description: "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive." type: "string" required: - "mountPath" @@ -2630,7 +2630,7 @@ spec: type: "object" type: "array" workingDir: - description: "Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated." + description: "Container's working directory.\nIf not specified, the container runtime's default will be used, which\nmight be configured in the container image.\nCannot be updated." type: "string" required: - "name" @@ -2640,13 +2640,13 @@ spec: description: "Actions that the management system should take in response to container lifecycle events. Cannot be updated." properties: postStart: - description: "PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks" + description: "PostStart is called immediately after a container is created. If the handler fails,\nthe container is terminated and restarted according to its restart policy.\nOther management of the container blocks until the hook completes.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks" properties: exec: description: "Exec specifies the action to take." properties: command: - description: "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy." + description: "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy." items: type: "string" type: "array" @@ -2655,7 +2655,7 @@ spec: description: "HTTPGet specifies the http request to perform." properties: host: - description: "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + description: "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead." type: "string" httpHeaders: description: "Custom headers to set in the request. HTTP allows repeated headers." @@ -2663,7 +2663,7 @@ spec: description: "HTTPHeader describes a custom header to be used in HTTP probes" properties: name: - description: "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header." + description: "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header." type: "string" value: description: "The header field value" @@ -2680,10 +2680,10 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true scheme: - description: "Scheme to use for connecting to the host. Defaults to HTTP." + description: "Scheme to use for connecting to the host.\nDefaults to HTTP." type: "string" required: - "port" @@ -2699,7 +2699,7 @@ spec: - "seconds" type: "object" tcpSocket: - description: "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified." + description: "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor the backward compatibility. There are no validation of this field and\nlifecycle hooks will fail in runtime when tcp handler is specified." properties: host: description: "Optional: Host name to connect to, defaults to the pod IP." @@ -2708,20 +2708,20 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true required: - "port" type: "object" type: "object" preStop: - description: "PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks" + description: "PreStop is called immediately before a container is terminated due to an\nAPI request or management event such as liveness/startup probe failure,\npreemption, resource contention, etc. The handler is not called if the\ncontainer crashes or exits. The Pod's termination grace period countdown begins before the\nPreStop hook is executed. Regardless of the outcome of the handler, the\ncontainer will eventually terminate within the Pod's termination grace\nperiod (unless delayed by finalizers). Other management of the container blocks until the hook completes\nor until the termination grace period is reached.\nMore info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks" properties: exec: description: "Exec specifies the action to take." properties: command: - description: "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy." + description: "Command is the command line to execute inside the container, the working directory for the\ncommand is root ('/') in the container's filesystem. The command is simply exec'd, it is\nnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To use\na shell, you need to explicitly call out to that shell.\nExit status of 0 is treated as live/healthy and non-zero is unhealthy." items: type: "string" type: "array" @@ -2730,7 +2730,7 @@ spec: description: "HTTPGet specifies the http request to perform." properties: host: - description: "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + description: "Host name to connect to, defaults to the pod IP. You probably want to set\n\"Host\" in httpHeaders instead." type: "string" httpHeaders: description: "Custom headers to set in the request. HTTP allows repeated headers." @@ -2738,7 +2738,7 @@ spec: description: "HTTPHeader describes a custom header to be used in HTTP probes" properties: name: - description: "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header." + description: "The header field name.\nThis will be canonicalized upon output, so case-variant names will be understood as the same header." type: "string" value: description: "The header field value" @@ -2755,10 +2755,10 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true scheme: - description: "Scheme to use for connecting to the host. Defaults to HTTP." + description: "Scheme to use for connecting to the host.\nDefaults to HTTP." type: "string" required: - "port" @@ -2774,7 +2774,7 @@ spec: - "seconds" type: "object" tcpSocket: - description: "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified." + description: "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor the backward compatibility. There are no validation of this field and\nlifecycle hooks will fail in runtime when tcp handler is specified." properties: host: description: "Optional: Host name to connect to, defaults to the pod IP." @@ -2783,7 +2783,7 @@ spec: anyOf: - type: "integer" - type: "string" - description: "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + description: "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.\nName must be an IANA_SVC_NAME." x-kubernetes-int-or-string: true required: - "port" @@ -2791,46 +2791,46 @@ spec: type: "object" type: "object" livenessProbe: - description: "Liveness config for the OpenTelemetry Collector except the probe handler which is auto generated from the health extension of the collector. It is only effective when healthcheckextension is configured in the OpenTelemetry Collector pipeline." + description: "Liveness config for the OpenTelemetry Collector except the probe handler which is auto generated from the health extension of the collector.\nIt is only effective when healthcheckextension is configured in the OpenTelemetry Collector pipeline." properties: failureThreshold: - description: "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1." + description: "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1." format: "int32" type: "integer" initialDelaySeconds: - description: "Number of seconds after the container has started before liveness probes are initiated. Defaults to 0 seconds. Minimum value is 0. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Number of seconds after the container has started before liveness probes are initiated.\nDefaults to 0 seconds. Minimum value is 0.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" format: "int32" type: "integer" periodSeconds: - description: "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1." + description: "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1." format: "int32" type: "integer" successThreshold: - description: "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1." + description: "Minimum consecutive successes for the probe to be considered successful after having failed.\nDefaults to 1. Must be 1 for liveness and startup. Minimum value is 1." format: "int32" type: "integer" terminationGracePeriodSeconds: - description: "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset." + description: "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.\nThe grace period is the duration in seconds after the processes running in the pod are sent\na termination signal and the time when the processes are forcibly halted with a kill signal.\nSet this value longer than the expected cleanup time for your process.\nIf this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this\nvalue overrides the value provided by the pod spec.\nValue must be non-negative integer. The value zero indicates stop immediately via\nthe kill signal (no opportunity to shut down).\nThis is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.\nMinimum value is 1. spec.terminationGracePeriodSeconds is used if unset." format: "int64" type: "integer" timeoutSeconds: - description: "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" + description: "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.\nMore info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" format: "int32" type: "integer" type: "object" managementState: default: "managed" - description: "ManagementState defines if the CR should be managed by the operator or not. Default is managed." + description: "ManagementState defines if the CR should be managed by the operator or not.\nDefault is managed." enum: - "managed" - "unmanaged" type: "string" maxReplicas: - description: "MaxReplicas sets an upper bound to the autoscaling feature. If MaxReplicas is set autoscaling is enabled. Deprecated: use \"AmazonCloudWatchAgent.Spec.Autoscaler.MaxReplicas\" instead." + description: "MaxReplicas sets an upper bound to the autoscaling feature. If MaxReplicas is set autoscaling is enabled.\nDeprecated: use \"AmazonCloudWatchAgent.Spec.Autoscaler.MaxReplicas\" instead." format: "int32" type: "integer" minReplicas: - description: "MinReplicas sets a lower bound to the autoscaling feature. Set this if you are using autoscaling. It must be at least 1 Deprecated: use \"AmazonCloudWatchAgent.Spec.Autoscaler.MinReplicas\" instead." + description: "MinReplicas sets a lower bound to the autoscaling feature. Set this if you are using autoscaling. It must be at least 1\nDeprecated: use \"AmazonCloudWatchAgent.Spec.Autoscaler.MinReplicas\" instead." format: "int32" type: "integer" mode: @@ -2844,7 +2844,7 @@ spec: nodeSelector: additionalProperties: type: "string" - description: "NodeSelector to schedule OpenTelemetry Collector pods. This is only relevant to daemonset, statefulset, and deployment mode" + description: "NodeSelector to schedule OpenTelemetry Collector pods.\nThis is only relevant to daemonset, statefulset, and deployment mode" type: "object" observability: description: "ObservabilitySpec defines how telemetry data gets handled." @@ -2853,54 +2853,57 @@ spec: description: "Metrics defines the metrics configuration for operands." properties: enableMetrics: - description: "EnableMetrics specifies if ServiceMonitor or PodMonitor(for sidecar mode) should be created for the service managed by the OpenTelemetry Operator. The operator.observability.prometheus feature gate must be enabled to use this feature." + description: "EnableMetrics specifies if ServiceMonitor or PodMonitor(for sidecar mode) should be created for the service managed by the OpenTelemetry Operator.\nThe operator.observability.prometheus feature gate must be enabled to use this feature." type: "boolean" type: "object" type: "object" + otelConfig: + description: "Config is the raw YAML to be used as the collector's configuration. Refer to the OpenTelemetry Collector documentation for details." + type: "string" podAnnotations: additionalProperties: type: "string" - description: "PodAnnotations is the set of annotations that will be attached to Collector and Target Allocator pods." + description: "PodAnnotations is the set of annotations that will be attached to\nCollector and Target Allocator pods." type: "object" podDisruptionBudget: - description: "PodDisruptionBudget specifies the pod disruption budget configuration to use for the AmazonCloudWatchAgent workload." + description: "PodDisruptionBudget specifies the pod disruption budget configuration to use\nfor the AmazonCloudWatchAgent workload." properties: maxUnavailable: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by \"selector\" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with \"minAvailable\"." + description: "An eviction is allowed if at most \"maxUnavailable\" pods selected by\n\"selector\" are unavailable after the eviction, i.e. even in absence of\nthe evicted pod. For example, one can prevent all voluntary evictions\nby specifying 0. This is a mutually exclusive setting with \"minAvailable\"." x-kubernetes-int-or-string: true minAvailable: anyOf: - type: "integer" - type: "string" - description: "An eviction is allowed if at least \"minAvailable\" pods selected by \"selector\" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying \"100%\"." + description: "An eviction is allowed if at least \"minAvailable\" pods selected by\n\"selector\" will still be available after the eviction, i.e. even in the\nabsence of the evicted pod. So for example you can prevent all voluntary\nevictions by specifying \"100%\"." x-kubernetes-int-or-string: true type: "object" podSecurityContext: - description: "PodSecurityContext configures the pod security context for the amazon-cloudwatch-agent pod, when running as a deployment, daemonset, or statefulset. \n In sidecar mode, the amazon-cloudwatch-agent-operator will ignore this setting." + description: "PodSecurityContext configures the pod security context for the\namazon-cloudwatch-agent pod, when running as a deployment, daemonset,\nor statefulset.\n\n\nIn sidecar mode, the amazon-cloudwatch-agent-operator will ignore this setting." properties: fsGroup: - description: "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: \n 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- \n If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows." + description: "A special supplemental group that applies to all containers in a pod.\nSome volume types allow the Kubelet to change the ownership of that volume\nto be owned by the pod:\n\n\n1. The owning GID will be the FSGroup\n2. The setgid bit is set (new files created in the volume will be owned by FSGroup)\n3. The permission bits are OR'd with rw-rw----\n\n\nIf unset, the Kubelet will not modify the ownership and permissions of any volume.\nNote that this field cannot be set when spec.os.name is windows." format: "int64" type: "integer" fsGroupChangePolicy: - description: "fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are \"OnRootMismatch\" and \"Always\". If not specified, \"Always\" is used. Note that this field cannot be set when spec.os.name is windows." + description: "fsGroupChangePolicy defines behavior of changing ownership and permission of the volume\nbefore being exposed inside Pod. This field will only apply to\nvolume types which support fsGroup based ownership(and permissions).\nIt will have no effect on ephemeral volume types such as: secret, configmaps\nand emptydir.\nValid values are \"OnRootMismatch\" and \"Always\". If not specified, \"Always\" is used.\nNote that this field cannot be set when spec.os.name is windows." type: "string" runAsGroup: - description: "The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + description: "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in SecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence\nfor that container.\nNote that this field cannot be set when spec.os.name is windows." format: "int64" type: "integer" runAsNonRoot: - description: "Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + description: "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in SecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence." type: "boolean" runAsUser: - description: "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + description: "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in SecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence\nfor that container.\nNote that this field cannot be set when spec.os.name is windows." format: "int64" type: "integer" seLinuxOptions: - description: "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows." + description: "The SELinux context to be applied to all containers.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer. May also be set in SecurityContext. If set in\nboth SecurityContext and PodSecurityContext, the value specified in SecurityContext\ntakes precedence for that container.\nNote that this field cannot be set when spec.os.name is windows." properties: level: description: "Level is SELinux level label that applies to the container." @@ -2916,25 +2919,25 @@ spec: type: "string" type: "object" seccompProfile: - description: "The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows." + description: "The seccomp options to use by the containers in this pod.\nNote that this field cannot be set when spec.os.name is windows." properties: localhostProfile: - description: "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is \"Localhost\". Must NOT be set for any other type." + description: "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type." type: "string" type: - description: "type indicates which kind of seccomp profile will be applied. Valid options are: \n Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied." + description: "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied." type: "string" required: - "type" type: "object" supplementalGroups: - description: "A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows." + description: "A list of groups applied to the first process run in each container, in addition\nto the container's primary GID, the fsGroup (if specified), and group memberships\ndefined in the container image for the uid of the container process. If unspecified,\nno additional groups are added to any container. Note that group memberships\ndefined in the container image for the uid of the container process are still effective,\neven if they are not included in this list.\nNote that this field cannot be set when spec.os.name is windows." items: format: "int64" type: "integer" type: "array" sysctls: - description: "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows." + description: "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported\nsysctls (by the container runtime) might fail to launch.\nNote that this field cannot be set when spec.os.name is windows." items: description: "Sysctl defines a kernel parameter to be set" properties: @@ -2950,35 +2953,35 @@ spec: type: "object" type: "array" windowsOptions: - description: "The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux." + description: "The Windows specific settings applied to all containers.\nIf unspecified, the options within a container's SecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux." properties: gmsaCredentialSpec: - description: "GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field." + description: "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field." type: "string" gmsaCredentialSpecName: description: "GMSACredentialSpecName is the name of the GMSA credential spec to use." type: "string" hostProcess: - description: "HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true." + description: "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true." type: "boolean" runAsUserName: - description: "The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + description: "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence." type: "string" type: "object" type: "object" ports: - description: "Ports allows a set of ports to be exposed by the underlying v1.Service. By default, the operator will attempt to infer the required ports by parsing the .Spec.Config property but this property can be used to open additional ports that can't be inferred by the operator, like for custom receivers." + description: "Ports allows a set of ports to be exposed by the underlying v1.Service. By default, the operator\nwill attempt to infer the required ports by parsing the .Spec.Config property but this property can be\nused to open additional ports that can't be inferred by the operator, like for custom receivers." items: description: "ServicePort contains information on service's port." properties: appProtocol: - description: "The application protocol for this port. This is used as a hint for implementations to offer richer behavior for protocols that they understand. This field follows standard Kubernetes label syntax. Valid values are either: \n * Un-prefixed protocol names - reserved for IANA standard service names (as per RFC-6335 and https://www.iana.org/assignments/service-names). \n * Kubernetes-defined prefixed names: * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- * 'kubernetes.io/ws' - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455 * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455 \n * Other protocols should use implementation-defined prefixed names such as mycompany.com/my-custom-protocol." + description: "The application protocol for this port.\nThis is used as a hint for implementations to offer richer behavior for protocols that they understand.\nThis field follows standard Kubernetes label syntax.\nValid values are either:\n\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per\nRFC-6335 and https://www.iana.org/assignments/service-names).\n\n\n* Kubernetes-defined prefixed names:\n * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n * 'kubernetes.io/ws' - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n\n* Other protocols should use implementation-defined prefixed names such as\nmycompany.com/my-custom-protocol." type: "string" name: - description: "The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service, this must match the 'name' field in the EndpointPort. Optional if only one ServicePort is defined on this service." + description: "The name of this port within the service. This must be a DNS_LABEL.\nAll ports within a ServiceSpec must have unique names. When considering\nthe endpoints for a Service, this must match the 'name' field in the\nEndpointPort.\nOptional if only one ServicePort is defined on this service." type: "string" nodePort: - description: "The port on each node on which this service is exposed when type is NodePort or LoadBalancer. Usually assigned by the system. If a value is specified, in-range, and not in use it will be used, otherwise the operation will fail. If not specified, a port will be allocated if this Service requires one. If this field is specified when creating a Service which does not need it, creation will fail. This field will be wiped when updating a Service to no longer need it (e.g. changing type from NodePort to ClusterIP). More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport" + description: "The port on each node on which this service is exposed when type is\nNodePort or LoadBalancer. Usually assigned by the system. If a value is\nspecified, in-range, and not in use it will be used, otherwise the\noperation will fail. If not specified, a port will be allocated if this\nService requires one. If this field is specified when creating a\nService which does not need it, creation will fail. This field will be\nwiped when updating a Service to no longer need it (e.g. changing type\nfrom NodePort to ClusterIP).\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport" format: "int32" type: "integer" port: @@ -2987,13 +2990,13 @@ spec: type: "integer" protocol: default: "TCP" - description: "The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\". Default is TCP." + description: "The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\".\nDefault is TCP." type: "string" targetPort: anyOf: - type: "integer" - type: "string" - description: "Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod's container ports. If this is not specified, the value of the 'port' field is used (an identity map). This field is ignored for services with clusterIP=None, and should be omitted or set equal to the 'port' field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service" + description: "Number or name of the port to access on the pods targeted by the service.\nNumber must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.\nIf this is a string, it will be looked up as a named port in the\ntarget Pod's container ports. If this is not specified, the value\nof the 'port' field is used (an identity map).\nThis field is ignored for services with clusterIP=None, and should be\nomitted or set equal to the 'port' field.\nMore info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service" x-kubernetes-int-or-string: true required: - "port" @@ -3001,7 +3004,7 @@ spec: type: "array" x-kubernetes-list-type: "atomic" priorityClassName: - description: "If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default." + description: "If specified, indicates the pod's priority.\nIf not specified, the pod priority will be default or zero if there is no\ndefault." type: "string" replicas: description: "Replicas is the number of pod instances for the underlying OpenTelemetry Collector. Set this if your are not using autoscaling" @@ -3011,12 +3014,12 @@ spec: description: "Resources to set on the OpenTelemetry Collector pods." properties: claims: - description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers." + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." items: description: "ResourceClaim references one entry in PodSpec.ResourceClaims." properties: name: - description: "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container." + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." type: "string" required: - "name" @@ -3032,7 +3035,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -3041,17 +3044,17 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" securityContext: - description: "SecurityContext configures the container security context for the amazon-cloudwatch-agent container. \n In deployment, daemonset, or statefulset mode, this controls the security context settings for the primary application container. \n In sidecar mode, this controls the security context for the injected sidecar container." + description: "SecurityContext configures the container security context for\nthe amazon-cloudwatch-agent container.\n\n\nIn deployment, daemonset, or statefulset mode, this controls\nthe security context settings for the primary application\ncontainer.\n\n\nIn sidecar mode, this controls the security context for the\ninjected sidecar container." properties: allowPrivilegeEscalation: - description: "AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows." + description: "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent process. This bool directly controls if\nthe no_new_privs flag will be set on the container process.\nAllowPrivilegeEscalation is true always when the container is:\n1) run as Privileged\n2) has CAP_SYS_ADMIN\nNote that this field cannot be set when spec.os.name is windows." type: "boolean" capabilities: - description: "The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows." + description: "The capabilities to add/drop when running containers.\nDefaults to the default set of capabilities granted by the container runtime.\nNote that this field cannot be set when spec.os.name is windows." properties: add: description: "Added capabilities" @@ -3067,27 +3070,27 @@ spec: type: "array" type: "object" privileged: - description: "Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows." + description: "Run container in privileged mode.\nProcesses in privileged containers are essentially equivalent to root on the host.\nDefaults to false.\nNote that this field cannot be set when spec.os.name is windows." type: "boolean" procMount: - description: "procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows." + description: "procMount denotes the type of proc mount to use for the containers.\nThe default is DefaultProcMount which uses the container runtime defaults for\nreadonly paths and masked paths.\nThis requires the ProcMountType feature flag to be enabled.\nNote that this field cannot be set when spec.os.name is windows." type: "string" readOnlyRootFilesystem: - description: "Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows." + description: "Whether this container has a read-only root filesystem.\nDefault is false.\nNote that this field cannot be set when spec.os.name is windows." type: "boolean" runAsGroup: - description: "The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows." + description: "The GID to run the entrypoint of the container process.\nUses runtime default if unset.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows." format: "int64" type: "integer" runAsNonRoot: - description: "Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + description: "Indicates that the container must run as a non-root user.\nIf true, the Kubelet will validate the image at runtime to ensure that it\ndoes not run as UID 0 (root) and fail to start the container if it does.\nIf unset or false, no such validation will be performed.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence." type: "boolean" runAsUser: - description: "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows." + description: "The UID to run the entrypoint of the container process.\nDefaults to user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows." format: "int64" type: "integer" seLinuxOptions: - description: "The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows." + description: "The SELinux context to be applied to the container.\nIf unspecified, the container runtime will allocate a random SELinux context for each\ncontainer. May also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is windows." properties: level: description: "Level is SELinux level label that applies to the container." @@ -3103,85 +3106,85 @@ spec: type: "string" type: "object" seccompProfile: - description: "The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows." + description: "The seccomp options to use by this container. If seccomp options are\nprovided at both the pod & container level, the container options\noverride the pod options.\nNote that this field cannot be set when spec.os.name is windows." properties: localhostProfile: - description: "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is \"Localhost\". Must NOT be set for any other type." + description: "localhostProfile indicates a profile defined in a file on the node should be used.\nThe profile must be preconfigured on the node to work.\nMust be a descending path, relative to the kubelet's configured seccomp profile location.\nMust be set if type is \"Localhost\". Must NOT be set for any other type." type: "string" type: - description: "type indicates which kind of seccomp profile will be applied. Valid options are: \n Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied." + description: "type indicates which kind of seccomp profile will be applied.\nValid options are:\n\n\nLocalhost - a profile defined in a file on the node should be used.\nRuntimeDefault - the container runtime default profile should be used.\nUnconfined - no profile should be applied." type: "string" required: - "type" type: "object" windowsOptions: - description: "The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux." + description: "The Windows specific settings applied to all containers.\nIf unspecified, the options from the PodSecurityContext will be used.\nIf set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.\nNote that this field cannot be set when spec.os.name is linux." properties: gmsaCredentialSpec: - description: "GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field." + description: "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the\nGMSA credential spec named by the GMSACredentialSpecName field." type: "string" gmsaCredentialSpecName: description: "GMSACredentialSpecName is the name of the GMSA credential spec to use." type: "string" hostProcess: - description: "HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true." + description: "HostProcess determines if a container should be run as a 'Host Process' container.\nAll of a Pod's containers must have the same effective HostProcess value\n(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).\nIn addition, if HostProcess is true then HostNetwork must also be set to true." type: "boolean" runAsUserName: - description: "The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." + description: "The UserName in Windows to run the entrypoint of the container process.\nDefaults to the user specified in image metadata if unspecified.\nMay also be set in PodSecurityContext. If set in both SecurityContext and\nPodSecurityContext, the value specified in SecurityContext takes precedence." type: "string" type: "object" type: "object" serviceAccount: - description: "ServiceAccount indicates the name of an existing service account to use with this instance. When set, the operator will not automatically create a ServiceAccount for the collector." + description: "ServiceAccount indicates the name of an existing service account to use with this instance. When set,\nthe operator will not automatically create a ServiceAccount for the collector." type: "string" terminationGracePeriodSeconds: description: "Duration in seconds the pod needs to terminate gracefully upon probe failure." format: "int64" type: "integer" tolerations: - description: "Toleration to schedule OpenTelemetry Collector pods. This is only relevant to daemonset, statefulset, and deployment mode" + description: "Toleration to schedule OpenTelemetry Collector pods.\nThis is only relevant to daemonset, statefulset, and deployment mode" items: - description: "The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator ." + description: "The pod this Toleration is attached to tolerates any taint that matches\nthe triple using the matching operator ." properties: effect: - description: "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." + description: "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute." type: "string" key: - description: "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys." + description: "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys." type: "string" operator: - description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category." + description: "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category." type: "string" tolerationSeconds: - description: "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system." + description: "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system." format: "int64" type: "integer" value: - description: "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string." + description: "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string." type: "string" type: "object" type: "array" topologySpreadConstraints: - description: "TopologySpreadConstraints embedded kubernetes pod configuration option, controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ This is only relevant to statefulset, and deployment mode" + description: "TopologySpreadConstraints embedded kubernetes pod configuration option,\ncontrols how pods are spread across your cluster among failure-domains\nsuch as regions, zones, nodes, and other user-defined topology domains\nhttps://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/\nThis is only relevant to statefulset, and deployment mode" items: description: "TopologySpreadConstraint specifies how to spread matching pods among the given topology." properties: labelSelector: - description: "LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain." + description: "LabelSelector is used to find matching pods.\nPods that match this label selector are counted to determine the number of pods\nin their corresponding topology domain." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -3193,35 +3196,35 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" matchLabelKeys: - description: "MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated. The keys are used to lookup values from the incoming pod labels, those key-value labels are ANDed with labelSelector to select the group of existing pods over which spreading will be calculated for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. MatchLabelKeys cannot be set when LabelSelector isn't set. Keys that don't exist in the incoming pod labels will be ignored. A null or empty list means only match against labelSelector. \n This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default)." + description: "MatchLabelKeys is a set of pod label keys to select the pods over which\nspreading will be calculated. The keys are used to lookup values from the\nincoming pod labels, those key-value labels are ANDed with labelSelector\nto select the group of existing pods over which spreading will be calculated\nfor the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.\nMatchLabelKeys cannot be set when LabelSelector isn't set.\nKeys that don't exist in the incoming pod labels will\nbe ignored. A null or empty list means only match against labelSelector.\n\n\nThis is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default)." items: type: "string" type: "array" x-kubernetes-list-type: "atomic" maxSkew: - description: "MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. The global minimum is the minimum number of matching pods in an eligible domain or zero if the number of eligible domains is less than MinDomains. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 2/2/1: In this case, the global minimum is 1. | zone1 | zone2 | zone3 | | P P | P P | P | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2; scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It's a required field. Default value is 1 and 0 is not allowed." + description: "MaxSkew describes the degree to which pods may be unevenly distributed.\nWhen `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference\nbetween the number of matching pods in the target topology and the global minimum.\nThe global minimum is the minimum number of matching pods in an eligible domain\nor zero if the number of eligible domains is less than MinDomains.\nFor example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same\nlabelSelector spread as 2/2/1:\nIn this case, the global minimum is 1.\n| zone1 | zone2 | zone3 |\n| P P | P P | P |\n- if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;\nscheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)\nviolate MaxSkew(1).\n- if MaxSkew is 2, incoming pod can be scheduled onto any zone.\nWhen `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence\nto topologies that satisfy it.\nIt's a required field. Default value is 1 and 0 is not allowed." format: "int32" type: "integer" minDomains: - description: "MinDomains indicates a minimum number of eligible domains. When the number of eligible domains with matching topology keys is less than minDomains, Pod Topology Spread treats \"global minimum\" as 0, and then the calculation of Skew is performed. And when the number of eligible domains with matching topology keys equals or greater than minDomains, this value has no effect on scheduling. As a result, when the number of eligible domains is less than minDomains, scheduler won't schedule more than maxSkew Pods to those domains. If value is nil, the constraint behaves as if MinDomains is equal to 1. Valid values are integers greater than 0. When value is not nil, WhenUnsatisfiable must be DoNotSchedule. \n For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same labelSelector spread as 2/2/2: | zone1 | zone2 | zone3 | | P P | P P | P P | The number of domains is less than 5(MinDomains), so \"global minimum\" is treated as 0. In this situation, new pod with the same labelSelector cannot be scheduled, because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, it will violate MaxSkew. \n This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default)." + description: "MinDomains indicates a minimum number of eligible domains.\nWhen the number of eligible domains with matching topology keys is less than minDomains,\nPod Topology Spread treats \"global minimum\" as 0, and then the calculation of Skew is performed.\nAnd when the number of eligible domains with matching topology keys equals or greater than minDomains,\nthis value has no effect on scheduling.\nAs a result, when the number of eligible domains is less than minDomains,\nscheduler won't schedule more than maxSkew Pods to those domains.\nIf value is nil, the constraint behaves as if MinDomains is equal to 1.\nValid values are integers greater than 0.\nWhen value is not nil, WhenUnsatisfiable must be DoNotSchedule.\n\n\nFor example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same\nlabelSelector spread as 2/2/2:\n| zone1 | zone2 | zone3 |\n| P P | P P | P P |\nThe number of domains is less than 5(MinDomains), so \"global minimum\" is treated as 0.\nIn this situation, new pod with the same labelSelector cannot be scheduled,\nbecause computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,\nit will violate MaxSkew.\n\n\nThis is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default)." format: "int32" type: "integer" nodeAffinityPolicy: - description: "NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector when calculating pod topology spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. \n If this value is nil, the behavior is equivalent to the Honor policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag." + description: "NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector\nwhen calculating pod topology spread skew. Options are:\n- Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.\n- Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.\n\n\nIf this value is nil, the behavior is equivalent to the Honor policy.\nThis is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag." type: "string" nodeTaintsPolicy: - description: "NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - Honor: nodes without taints, along with tainted nodes for which the incoming pod has a toleration, are included. - Ignore: node taints are ignored. All nodes are included. \n If this value is nil, the behavior is equivalent to the Ignore policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag." + description: "NodeTaintsPolicy indicates how we will treat node taints when calculating\npod topology spread skew. Options are:\n- Honor: nodes without taints, along with tainted nodes for which the incoming pod\nhas a toleration, are included.\n- Ignore: node taints are ignored. All nodes are included.\n\n\nIf this value is nil, the behavior is equivalent to the Ignore policy.\nThis is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag." type: "string" topologyKey: - description: "TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each as a \"bucket\", and try to put balanced number of pods into each bucket. We define a domain as a particular instance of a topology. Also, we define an eligible domain as a domain whose nodes meet the requirements of nodeAffinityPolicy and nodeTaintsPolicy. e.g. If TopologyKey is \"kubernetes.io/hostname\", each Node is a domain of that topology. And, if TopologyKey is \"topology.kubernetes.io/zone\", each zone is a domain of that topology. It's a required field." + description: "TopologyKey is the key of node labels. Nodes that have a label with this key\nand identical values are considered to be in the same topology.\nWe consider each as a \"bucket\", and try to put balanced number\nof pods into each bucket.\nWe define a domain as a particular instance of a topology.\nAlso, we define an eligible domain as a domain whose nodes meet the requirements of\nnodeAffinityPolicy and nodeTaintsPolicy.\ne.g. If TopologyKey is \"kubernetes.io/hostname\", each Node is a domain of that topology.\nAnd, if TopologyKey is \"topology.kubernetes.io/zone\", each zone is a domain of that topology.\nIt's a required field." type: "string" whenUnsatisfiable: - description: "WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered \"Unsatisfiable\" for an incoming pod if and only if every possible node assignment for that pod would violate \"MaxSkew\" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won't make it *more* imbalanced. It's a required field." + description: "WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy\nthe spread constraint.\n- DoNotSchedule (default) tells the scheduler not to schedule it.\n- ScheduleAnyway tells the scheduler to schedule the pod in any location,\n but giving higher precedence to topologies that would help reduce the\n skew.\nA constraint is considered \"Unsatisfiable\" for an incoming pod\nif and only if every possible node assignment for that pod would violate\n\"MaxSkew\" on some topology.\nFor example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same\nlabelSelector spread as 3/1/1:\n| zone1 | zone2 | zone3 |\n| P P P | P | P |\nIf WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled\nto zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies\nMaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler\nwon't make it *more* imbalanced.\nIt's a required field." type: "string" required: - "maxSkew" @@ -3230,22 +3233,22 @@ spec: type: "object" type: "array" updateStrategy: - description: "UpdateStrategy represents the strategy the operator will take replacing existing DaemonSet pods with new pods https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/#DaemonSetSpec This is only applicable to Daemonset mode." + description: "UpdateStrategy represents the strategy the operator will take replacing existing DaemonSet pods with new pods\nhttps://kubernetes.io/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/#DaemonSetSpec\nThis is only applicable to Daemonset mode." properties: rollingUpdate: - description: "Rolling update config params. Present only if type = \"RollingUpdate\". --- TODO: Update this to follow our convention for oneOf, whatever we decide it to be. Same as Deployment `strategy.rollingUpdate`. See https://github.com/kubernetes/kubernetes/issues/35345" + description: "Rolling update config params. Present only if type = \"RollingUpdate\".\n---\nTODO: Update this to follow our convention for oneOf, whatever we decide it\nto be. Same as Deployment `strategy.rollingUpdate`.\nSee https://github.com/kubernetes/kubernetes/issues/35345" properties: maxSurge: anyOf: - type: "integer" - type: "string" - description: "The maximum number of nodes with an existing available DaemonSet pod that can have an updated DaemonSet pod during during an update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up to a minimum of 1. Default value is 0. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their a new pod created before the old pod is marked as deleted. The update starts by launching new pods on 30% of nodes. Once an updated pod is available (Ready for at least minReadySeconds) the old DaemonSet pod on that node is marked deleted. If the old pod becomes unavailable for any reason (Ready transitions to false, is evicted, or is drained) an updated pod is immediatedly created on that node without considering surge limits. Allowing surge implies the possibility that the resources consumed by the daemonset on any given node can double if the readiness check fails, and so resource intensive daemonsets should take into account that they may cause evictions during disruption." + description: "The maximum number of nodes with an existing available DaemonSet pod that\ncan have an updated DaemonSet pod during during an update.\nValue can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).\nThis can not be 0 if MaxUnavailable is 0.\nAbsolute number is calculated from percentage by rounding up to a minimum of 1.\nDefault value is 0.\nExample: when this is set to 30%, at most 30% of the total number of nodes\nthat should be running the daemon pod (i.e. status.desiredNumberScheduled)\ncan have their a new pod created before the old pod is marked as deleted.\nThe update starts by launching new pods on 30% of nodes. Once an updated\npod is available (Ready for at least minReadySeconds) the old DaemonSet pod\non that node is marked deleted. If the old pod becomes unavailable for any\nreason (Ready transitions to false, is evicted, or is drained) an updated\npod is immediatedly created on that node without considering surge limits.\nAllowing surge implies the possibility that the resources consumed by the\ndaemonset on any given node can double if the readiness check fails, and\nso resource intensive daemonsets should take into account that they may\ncause evictions during disruption." x-kubernetes-int-or-string: true maxUnavailable: anyOf: - type: "integer" - type: "string" - description: "The maximum number of DaemonSet pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of total number of DaemonSet pods at the start of the update (ex: 10%). Absolute number is calculated from percentage by rounding up. This cannot be 0 if MaxSurge is 0 Default value is 1. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their pods stopped for an update at any given time. The update starts by stopping at most 30% of those DaemonSet pods and then brings up new DaemonSet pods in their place. Once the new pods are available, it then proceeds onto other DaemonSet pods, thus ensuring that at least 70% of original number of DaemonSet pods are available at all times during the update." + description: "The maximum number of DaemonSet pods that can be unavailable during the\nupdate. Value can be an absolute number (ex: 5) or a percentage of total\nnumber of DaemonSet pods at the start of the update (ex: 10%). Absolute\nnumber is calculated from percentage by rounding up.\nThis cannot be 0 if MaxSurge is 0\nDefault value is 1.\nExample: when this is set to 30%, at most 30% of the total number of nodes\nthat should be running the daemon pod (i.e. status.desiredNumberScheduled)\ncan have their pods stopped for an update at any given time. The update\nstarts by stopping at most 30% of those DaemonSet pods and then brings\nup new DaemonSet pods in their place. Once the new pods are available,\nit then proceeds onto other DaemonSet pods, thus ensuring that at least\n70% of original number of DaemonSet pods are available at all times during\nthe update." x-kubernetes-int-or-string: true type: "object" type: @@ -3264,13 +3267,13 @@ spec: description: "PersistentVolumeClaim is a user's request for and claim to a persistent volume" 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.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: - description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" + description: "Standard object's metadata.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata" properties: annotations: additionalProperties: @@ -3290,18 +3293,18 @@ spec: type: "string" type: "object" spec: - description: "spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "spec defines the desired characteristics of a volume requested by a pod author.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" dataSource: - description: "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource." + description: "dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -3315,10 +3318,10 @@ spec: type: "object" x-kubernetes-map-type: "atomic" dataSourceRef: - description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled." + description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -3327,14 +3330,14 @@ spec: description: "Name is the name of resource being referenced" type: "string" namespace: - description: "Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled." + description: "Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled." type: "string" required: - "kind" - "name" type: "object" resources: - description: "resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" + description: "resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" properties: limits: additionalProperties: @@ -3343,7 +3346,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -3352,7 +3355,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" selector: @@ -3361,16 +3364,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -3382,36 +3385,36 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" storageClassName: - description: "storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" + description: "storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" type: "string" volumeAttributesClassName: - description: "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled." + description: "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.\nIf specified, the CSI driver will create or update the volume with the attributes defined\nin the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,\nit can be changed after the claim is created. An empty string value means that no VolumeAttributesClass\nwill be applied to the claim but it's not allowed to reset this field to empty string once it is set.\nIf unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass\nwill be set by the persistentvolume controller if it exists.\nIf the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be\nset to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource\nexists.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass\n(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled." type: "string" volumeMode: - description: "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec." + description: "volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec." type: "string" volumeName: description: "volumeName is the binding reference to the PersistentVolume backing this claim." type: "string" type: "object" status: - description: "status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "status represents the current information/status of a persistent volume claim.\nRead-only.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: accessModes: - description: "accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the actual access modes the volume backing the PVC has.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" allocatedResourceStatuses: additionalProperties: - description: "When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource that it does not recognizes, then it should ignore that update and let other controllers handle it." + description: "When a controller receives persistentvolume claim update with ClaimResourceStatus for a resource\nthat it does not recognizes, then it should ignore that update and let other controllers\nhandle it." type: "string" - description: "allocatedResourceStatuses stores status of resource being resized for the given PVC. Key names follow standard Kubernetes label syntax. Valid values are either: * Un-prefixed keys: - storage - the capacity of the volume. * Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\" Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used. \n ClaimResourceStatus can be in any of following states: - ControllerResizeInProgress: State set when resize controller starts resizing the volume in control-plane. - ControllerResizeFailed: State set when resize has failed in resize controller with a terminal error. - NodeResizePending: State set when resize controller has finished resizing the volume but further resizing of volume is needed on the node. - NodeResizeInProgress: State set when kubelet starts resizing the volume. - NodeResizeFailed: State set when resizing has failed in kubelet with a terminal error. Transient errors don't set NodeResizeFailed. For example: if expanding a PVC for more capacity - this field can be one of the following states: - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\" - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\" - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\" - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\" - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\" When this field is not set, it means that no resize operation is in progress for the given PVC. \n A controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC. \n This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "allocatedResourceStatuses stores status of resource being resized for the given PVC.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "object" x-kubernetes-map-type: "granular" allocatedResources: @@ -3421,7 +3424,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "allocatedResources tracks the resources allocated to a PVC including its capacity. Key names follow standard Kubernetes label syntax. Valid values are either: * Un-prefixed keys: - storage - the capacity of the volume. * Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\" Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used. \n Capacity reported here may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. \n A controller that receives PVC update with previously unknown resourceName should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC. \n This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." + description: "allocatedResources tracks the resources allocated to a PVC including its capacity.\nKey names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered\nreserved and hence may not be used.\n\n\nCapacity reported here may be larger than the actual capacity when a volume expansion operation\nis requested.\nFor storage quota, the larger value from allocatedResources and PVC.spec.resources is used.\nIf allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.\nIf a volume expansion capacity request is lowered, allocatedResources is only\nlowered if there are no expansion operations in progress and if the actual volume capacity\nis equal or lower than the requested capacity.\n\n\nA controller that receives PVC update with previously unknown resourceName\nshould ignore the update for the purpose it was designed. For example - a controller that\nonly is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid\nresources associated with PVC.\n\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature." type: "object" capacity: additionalProperties: @@ -3433,7 +3436,7 @@ spec: description: "capacity represents the actual resources of the underlying volume." type: "object" conditions: - description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'." + description: "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being\nresized then the Condition will be set to 'ResizeStarted'." items: description: "PersistentVolumeClaimCondition contains details about state of pvc" properties: @@ -3449,7 +3452,7 @@ spec: description: "message is the human-readable message indicating details about last transition." type: "string" reason: - description: "reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized." + description: "reason is a unique, this should be a short, machine understandable string that gives the reason\nfor condition's last transition. If it reports \"ResizeStarted\" that means the underlying\npersistent volume is being resized." type: "string" status: type: "string" @@ -3462,13 +3465,13 @@ spec: type: "object" type: "array" currentVolumeAttributesClassName: - description: "currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is an alpha field and requires enabling VolumeAttributesClass feature." + description: "currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using.\nWhen unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim\nThis is an alpha field and requires enabling VolumeAttributesClass feature." type: "string" modifyVolumeStatus: - description: "ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is an alpha field and requires enabling VolumeAttributesClass feature." + description: "ModifyVolumeStatus represents the status object of ControllerModifyVolume operation.\nWhen this is unset, there is no ModifyVolume operation being attempted.\nThis is an alpha field and requires enabling VolumeAttributesClass feature." properties: status: - description: "status is the status of the ControllerModifyVolume operation. It can be in any of following states: - Pending Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as the specified VolumeAttributesClass not existing. - InProgress InProgress indicates that the volume is being modified. - Infeasible Infeasible indicates that the request has been rejected as invalid by the CSI driver. To resolve the error, a valid VolumeAttributesClass needs to be specified. Note: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately." + description: "status is the status of the ControllerModifyVolume operation. It can be in any of following states:\n - Pending\n Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as\n the specified VolumeAttributesClass not existing.\n - InProgress\n InProgress indicates that the volume is being modified.\n - Infeasible\n Infeasible indicates that the request has been rejected as invalid by the CSI driver. To\n\t resolve the error, a valid VolumeAttributesClass needs to be specified.\nNote: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately." type: "string" targetVolumeAttributesClassName: description: "targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled" @@ -3489,22 +3492,22 @@ spec: description: "VolumeMount describes a mounting of a Volume within a container." properties: mountPath: - description: "Path within the container at which the volume should be mounted. Must not contain ':'." + description: "Path within the container at which the volume should be mounted. Must\nnot contain ':'." type: "string" mountPropagation: - description: "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10." + description: "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10." type: "string" name: description: "This must match the Name of a Volume." type: "string" readOnly: - description: "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false." + description: "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false." type: "boolean" subPath: - description: "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root)." + description: "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root)." type: "string" subPathExpr: - description: "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive." + description: "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive." type: "string" required: - "mountPath" @@ -3518,20 +3521,20 @@ spec: description: "Volume represents a named volume in a pod that may be accessed by any container in the pod." properties: awsElasticBlockStore: - description: "awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore" + description: "awsElasticBlockStore represents an AWS Disk resource that is attached to a\nkubelet's host machine and then exposed to the pod.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore" properties: fsType: - description: "fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore TODO: how do we prevent errors in the filesystem from compromising the machine" + description: "fsType is the filesystem type of the volume that you want to mount.\nTip: Ensure that the filesystem type is supported by the host operating system.\nExamples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore\nTODO: how do we prevent errors in the filesystem from compromising the machine" type: "string" partition: - description: "partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty)." + description: "partition is the partition in the volume that you want to mount.\nIf omitted, the default is to mount by volume name.\nExamples: For volume /dev/sda1, you specify the partition as \"1\".\nSimilarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty)." format: "int32" type: "integer" readOnly: - description: "readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore" + description: "readOnly value true will force the readOnly setting in VolumeMounts.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore" type: "boolean" volumeID: - description: "volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore" + description: "volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore" type: "string" required: - "volumeID" @@ -3549,13 +3552,13 @@ spec: description: "diskURI is the URI of data disk in the blob storage" type: "string" fsType: - description: "fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + description: "fsType is Filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." type: "string" kind: description: "kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared" type: "string" readOnly: - description: "readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + description: "readOnly Defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts." type: "boolean" required: - "diskName" @@ -3565,7 +3568,7 @@ spec: description: "azureFile represents an Azure File Service mount on the host and bind mount to the pod." properties: readOnly: - description: "readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + description: "readOnly defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts." type: "boolean" secretName: description: "secretName is the name of secret that contains Azure Storage Account Name and Key" @@ -3581,7 +3584,7 @@ spec: description: "cephFS represents a Ceph FS mount on the host that shares a pod's lifetime" properties: monitors: - description: "monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" + description: "monitors is Required: Monitors is a collection of Ceph monitors\nMore info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" items: type: "string" type: "array" @@ -3589,44 +3592,44 @@ spec: description: "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /" type: "string" readOnly: - description: "readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" + description: "readOnly is Optional: Defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts.\nMore info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" type: "boolean" secretFile: - description: "secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" + description: "secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret\nMore info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" type: "string" secretRef: - description: "secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" + description: "secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.\nMore info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" user: - description: "user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" + description: "user is optional: User is the rados user name, default is admin\nMore info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it" type: "string" required: - "monitors" type: "object" cinder: - description: "cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md" + description: "cinder represents a cinder volume attached and mounted on kubelets host machine.\nMore info: https://examples.k8s.io/mysql-cinder-pd/README.md" properties: fsType: - description: "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md" + description: "fsType is the filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nExamples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.\nMore info: https://examples.k8s.io/mysql-cinder-pd/README.md" type: "string" readOnly: - description: "readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md" + description: "readOnly defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts.\nMore info: https://examples.k8s.io/mysql-cinder-pd/README.md" type: "boolean" secretRef: - description: "secretRef is optional: points to a secret object containing parameters used to connect to OpenStack." + description: "secretRef is optional: points to a secret object containing parameters used to connect\nto OpenStack." properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" volumeID: - description: "volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md" + description: "volumeID used to identify the volume in cinder.\nMore info: https://examples.k8s.io/mysql-cinder-pd/README.md" type: "string" required: - "volumeID" @@ -3635,11 +3638,11 @@ spec: description: "configMap represents a configMap that should populate this volume" properties: defaultMode: - description: "defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + description: "defaultMode is optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDefaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." format: "int32" type: "integer" items: - description: "items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + description: "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'." items: description: "Maps a string key to a path within a volume." properties: @@ -3647,11 +3650,11 @@ spec: description: "key is the key to project." type: "string" mode: - description: "mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + description: "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." format: "int32" type: "integer" path: - description: "path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'." + description: "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'." type: "string" required: - "key" @@ -3659,7 +3662,7 @@ spec: type: "object" type: "array" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "optional specify whether the ConfigMap or its keys must be defined" @@ -3670,26 +3673,26 @@ spec: description: "csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature)." properties: driver: - description: "driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster." + description: "driver is the name of the CSI driver that handles this volume.\nConsult with your admin for the correct name as registered in the cluster." type: "string" fsType: - description: "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply." + description: "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\".\nIf not provided, the empty value is passed to the associated CSI driver\nwhich will determine the default filesystem to apply." type: "string" nodePublishSecretRef: - description: "nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed." + description: "nodePublishSecretRef is a reference to the secret object containing\nsensitive information to pass to the CSI driver to complete the CSI\nNodePublishVolume and NodeUnpublishVolume calls.\nThis field is optional, and may be empty if no secret is required. If the\nsecret object contains more than one secret, all secret references are passed." properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" readOnly: - description: "readOnly specifies a read-only configuration for the volume. Defaults to false (read/write)." + description: "readOnly specifies a read-only configuration for the volume.\nDefaults to false (read/write)." type: "boolean" volumeAttributes: additionalProperties: type: "string" - description: "volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values." + description: "volumeAttributes stores driver-specific properties that are passed to the CSI\ndriver. Consult your driver's documentation for supported values." type: "object" required: - "driver" @@ -3698,7 +3701,7 @@ spec: description: "downwardAPI represents downward API about the pod that should populate this volume" properties: defaultMode: - description: "Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + description: "Optional: mode bits to use on created files by default. Must be a\nOptional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDefaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." format: "int32" type: "integer" items: @@ -3720,14 +3723,14 @@ spec: type: "object" x-kubernetes-map-type: "atomic" mode: - description: "Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + description: "Optional: mode bits used to set permissions on this file, must be an octal value\nbetween 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." format: "int32" type: "integer" path: description: "Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'" type: "string" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -3752,27 +3755,27 @@ spec: type: "array" type: "object" emptyDir: - description: "emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + description: "emptyDir represents a temporary directory that shares a pod's lifetime.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" properties: medium: - description: "medium represents what type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + description: "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" type: "string" sizeLimit: anyOf: - type: "integer" - type: "string" - description: "sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + description: "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" ephemeral: - description: "ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. \n Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). \n Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. \n Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. \n A pod can use both types of ephemeral volumes and persistent volumes at the same time." + description: "ephemeral represents a volume that is handled by a cluster storage driver.\nThe volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,\nand deleted when the pod is removed.\n\n\nUse this if:\na) the volume is only needed while the pod runs,\nb) features of normal volumes like restoring from snapshot or capacity\n tracking are needed,\nc) the storage driver is specified through a storage class, and\nd) the storage driver supports dynamic volume provisioning through\n a PersistentVolumeClaim (see EphemeralVolumeSource for more\n information on the connection between this volume type\n and PersistentVolumeClaim).\n\n\nUse PersistentVolumeClaim or one of the vendor-specific\nAPIs for volumes that persist for longer than the lifecycle\nof an individual pod.\n\n\nUse CSI for light-weight local ephemeral volumes if the CSI driver is meant to\nbe used that way - see the documentation of the driver for\nmore information.\n\n\nA pod can use both types of ephemeral volumes and\npersistent volumes at the same time." properties: volumeClaimTemplate: - description: "Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). \n An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. \n This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. \n Required, must not be nil." + description: "Will be used to create a stand-alone PVC to provision the volume.\nThe pod in which this EphemeralVolumeSource is embedded will be the\nowner of the PVC, i.e. the PVC will be deleted together with the\npod. The name of the PVC will be `-` where\n`` is the name from the `PodSpec.Volumes` array\nentry. Pod validation will reject the pod if the concatenated name\nis not valid for a PVC (for example, too long).\n\n\nAn existing PVC with that name that is not owned by the pod\nwill *not* be used for the pod to avoid using an unrelated\nvolume by mistake. Starting the pod is then blocked until\nthe unrelated PVC is removed. If such a pre-created PVC is\nmeant to be used by the pod, the PVC has to updated with an\nowner reference to the pod once the pod exists. Normally\nthis should not be necessary, but it may be useful when\nmanually reconstructing a broken cluster.\n\n\nThis field is read-only and no changes will be made by Kubernetes\nto the PVC after it has been created.\n\n\nRequired, must not be nil." properties: metadata: - description: "May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation." + description: "May contain labels and annotations that will be copied into the PVC\nwhen creating it. No other fields are allowed and will be rejected during\nvalidation." properties: annotations: additionalProperties: @@ -3792,18 +3795,18 @@ spec: type: "string" type: "object" spec: - description: "The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here." + description: "The specification for the PersistentVolumeClaim. The entire content is\ncopied unchanged into the PVC that gets created from this\ntemplate. The same fields as in a PersistentVolumeClaim\nare also valid here." properties: accessModes: - description: "accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" + description: "accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1" items: type: "string" type: "array" dataSource: - description: "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource." + description: "dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)\n* An existing PVC (PersistentVolumeClaim)\nIf the provisioner or an external controller can support the specified data source,\nit will create a new volume based on the contents of the specified data source.\nWhen the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,\nand dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.\nIf the namespace is specified, then dataSourceRef will not be copied to dataSource." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -3817,10 +3820,10 @@ spec: type: "object" x-kubernetes-map-type: "atomic" dataSourceRef: - description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled." + description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty\nvolume is desired. This may be any object from a non-empty API group (non\ncore object) or a PersistentVolumeClaim object.\nWhen this field is specified, volume binding will only succeed if the type of\nthe specified object matches some installed volume populator or dynamic\nprovisioner.\nThis field will replace the functionality of the dataSource field and as such\nif both fields are non-empty, they must have the same value. For backwards\ncompatibility, when namespace isn't specified in dataSourceRef,\nboth fields (dataSource and dataSourceRef) will be set to the same\nvalue automatically if one of them is empty and the other is non-empty.\nWhen namespace is specified in dataSourceRef,\ndataSource isn't set to the same value and must be empty.\nThere are three important differences between dataSource and dataSourceRef:\n* While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.\n(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled." properties: apiGroup: - description: "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required." + description: "APIGroup is the group for the resource being referenced.\nIf APIGroup is not specified, the specified Kind must be in the core API group.\nFor any other third-party types, APIGroup is required." type: "string" kind: description: "Kind is the type of resource being referenced" @@ -3829,14 +3832,14 @@ spec: description: "Name is the name of resource being referenced" type: "string" namespace: - description: "Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled." + description: "Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.\n(Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled." type: "string" required: - "kind" - "name" type: "object" resources: - description: "resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" + description: "resources represents the minimum resources the volume should have.\nIf RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements\nthat are lower than previous value but must still be higher than capacity recorded in the\nstatus field of the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources" properties: limits: additionalProperties: @@ -3845,7 +3848,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -3854,7 +3857,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" selector: @@ -3863,16 +3866,16 @@ spec: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -3884,18 +3887,18 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" storageClassName: - description: "storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" + description: "storageClassName is the name of the StorageClass required by the claim.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1" type: "string" volumeAttributesClassName: - description: "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled." + description: "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.\nIf specified, the CSI driver will create or update the volume with the attributes defined\nin the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,\nit can be changed after the claim is created. An empty string value means that no VolumeAttributesClass\nwill be applied to the claim but it's not allowed to reset this field to empty string once it is set.\nIf unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass\nwill be set by the persistentvolume controller if it exists.\nIf the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be\nset to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource\nexists.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass\n(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled." type: "string" volumeMode: - description: "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec." + description: "volumeMode defines what type of volume is required by the claim.\nValue of Filesystem is implied when not included in claim spec." type: "string" volumeName: description: "volumeName is the binding reference to the PersistentVolume backing this claim." @@ -3909,14 +3912,14 @@ spec: description: "fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod." properties: fsType: - description: "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. TODO: how do we prevent errors in the filesystem from compromising the machine" + description: "fsType is the filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.\nTODO: how do we prevent errors in the filesystem from compromising the machine" type: "string" lun: description: "lun is Optional: FC target lun number" format: "int32" type: "integer" readOnly: - description: "readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + description: "readOnly is Optional: Defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts." type: "boolean" targetWWNs: description: "targetWWNs is Optional: FC target worldwide names (WWNs)" @@ -3924,19 +3927,19 @@ spec: type: "string" type: "array" wwids: - description: "wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously." + description: "wwids Optional: FC volume world wide identifiers (wwids)\nEither wwids or combination of targetWWNs and lun must be set, but not both simultaneously." items: type: "string" type: "array" type: "object" flexVolume: - description: "flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin." + description: "flexVolume represents a generic volume resource that is\nprovisioned/attached using an exec based plugin." properties: driver: description: "driver is the name of the driver to use for this volume." type: "string" fsType: - description: "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script." + description: "fsType is the filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script." type: "string" options: additionalProperties: @@ -3944,13 +3947,13 @@ spec: description: "options is Optional: this field holds extra command options if any." type: "object" readOnly: - description: "readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + description: "readOnly is Optional: defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts." type: "boolean" secretRef: - description: "secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts." + description: "secretRef is Optional: secretRef is reference to the secret object containing\nsensitive information to pass to the plugin scripts. This may be\nempty if no secret object is specified. If the secret object\ncontains more than one secret, all secrets are passed to the plugin\nscripts." properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" @@ -3961,36 +3964,36 @@ spec: description: "flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running" properties: datasetName: - description: "datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated" + description: "datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker\nshould be considered as deprecated" type: "string" datasetUUID: description: "datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset" type: "string" type: "object" gcePersistentDisk: - description: "gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk" + description: "gcePersistentDisk represents a GCE Disk resource that is attached to a\nkubelet's host machine and then exposed to the pod.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk" properties: fsType: - description: "fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk TODO: how do we prevent errors in the filesystem from compromising the machine" + description: "fsType is filesystem type of the volume that you want to mount.\nTip: Ensure that the filesystem type is supported by the host operating system.\nExamples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk\nTODO: how do we prevent errors in the filesystem from compromising the machine" type: "string" partition: - description: "partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk" + description: "partition is the partition in the volume that you want to mount.\nIf omitted, the default is to mount by volume name.\nExamples: For volume /dev/sda1, you specify the partition as \"1\".\nSimilarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty).\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk" format: "int32" type: "integer" pdName: - description: "pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk" + description: "pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk" type: "string" readOnly: - description: "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk" + description: "readOnly here will force the ReadOnly setting in VolumeMounts.\nDefaults to false.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk" type: "boolean" required: - "pdName" type: "object" gitRepo: - description: "gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container." + description: "gitRepo represents a git repository at a particular revision.\nDEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an\nEmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir\ninto the Pod's container." properties: directory: - description: "directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name." + description: "directory is the target directory name.\nMust not contain or start with '..'. If '.' is supplied, the volume directory will be the\ngit repository. Otherwise, if specified, the volume will contain the git repository in\nthe subdirectory with the given name." type: "string" repository: description: "repository is the URL" @@ -4002,35 +4005,35 @@ spec: - "repository" type: "object" glusterfs: - description: "glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md" + description: "glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.\nMore info: https://examples.k8s.io/volumes/glusterfs/README.md" properties: endpoints: - description: "endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod" + description: "endpoints is the endpoint name that details Glusterfs topology.\nMore info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod" type: "string" path: - description: "path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod" + description: "path is the Glusterfs volume path.\nMore info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod" type: "string" readOnly: - description: "readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod" + description: "readOnly here will force the Glusterfs volume to be mounted with read-only permissions.\nDefaults to false.\nMore info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod" type: "boolean" required: - "endpoints" - "path" type: "object" hostPath: - description: "hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host directories as read/write." + description: "hostPath represents a pre-existing file or directory on the host\nmachine that is directly exposed to the container. This is generally\nused for system agents or other privileged things that are allowed\nto see the host machine. Most containers will NOT need this.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath\n---\nTODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not\nmount host directories as read/write." properties: path: - description: "path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath" + description: "path of the directory on the host.\nIf the path is a symlink, it will follow the link to the real path.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath" type: "string" type: - description: "type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath" + description: "type for HostPath Volume\nDefaults to \"\"\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath" type: "string" required: - "path" type: "object" iscsi: - description: "iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md" + description: "iscsi represents an ISCSI Disk resource that is attached to a\nkubelet's host machine and then exposed to the pod.\nMore info: https://examples.k8s.io/volumes/iscsi/README.md" properties: chapAuthDiscovery: description: "chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication" @@ -4039,39 +4042,39 @@ spec: description: "chapAuthSession defines whether support iSCSI Session CHAP authentication" type: "boolean" fsType: - description: "fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi TODO: how do we prevent errors in the filesystem from compromising the machine" + description: "fsType is the filesystem type of the volume that you want to mount.\nTip: Ensure that the filesystem type is supported by the host operating system.\nExamples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi\nTODO: how do we prevent errors in the filesystem from compromising the machine" type: "string" initiatorName: - description: "initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection." + description: "initiatorName is the custom iSCSI Initiator Name.\nIf initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface\n: will be created for the connection." type: "string" iqn: description: "iqn is the target iSCSI Qualified Name." type: "string" iscsiInterface: - description: "iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp)." + description: "iscsiInterface is the interface Name that uses an iSCSI transport.\nDefaults to 'default' (tcp)." type: "string" lun: description: "lun represents iSCSI Target Lun number." format: "int32" type: "integer" portals: - description: "portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260)." + description: "portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port\nis other than default (typically TCP ports 860 and 3260)." items: type: "string" type: "array" readOnly: - description: "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false." + description: "readOnly here will force the ReadOnly setting in VolumeMounts.\nDefaults to false." type: "boolean" secretRef: description: "secretRef is the CHAP Secret for iSCSI target and initiator authentication" properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" targetPortal: - description: "targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260)." + description: "targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port\nis other than default (typically TCP ports 860 and 3260)." type: "string" required: - "iqn" @@ -4079,32 +4082,32 @@ spec: - "targetPortal" type: "object" name: - description: "name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names" + description: "name of the volume.\nMust be a DNS_LABEL and unique within the pod.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names" type: "string" nfs: - description: "nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" + description: "nfs represents an NFS mount on the host that shares a pod's lifetime\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" properties: path: - description: "path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" + description: "path that is exported by the NFS server.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "string" readOnly: - description: "readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" + description: "readOnly here will force the NFS export to be mounted with read-only permissions.\nDefaults to false.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "boolean" server: - description: "server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" + description: "server is the hostname or IP address of the NFS server.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "string" required: - "path" - "server" type: "object" persistentVolumeClaim: - description: "persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "persistentVolumeClaimVolumeSource represents a reference to a\nPersistentVolumeClaim in the same namespace.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" properties: claimName: - description: "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" + description: "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" type: "string" readOnly: - description: "readOnly Will force the ReadOnly setting in VolumeMounts. Default false." + description: "readOnly Will force the ReadOnly setting in VolumeMounts.\nDefault false." type: "boolean" required: - "claimName" @@ -4113,7 +4116,7 @@ spec: description: "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine" properties: fsType: - description: "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + description: "fsType is the filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." type: "string" pdID: description: "pdID is the ID that identifies Photon Controller persistent disk" @@ -4125,10 +4128,10 @@ spec: description: "portworxVolume represents a portworx volume attached and mounted on kubelets host machine" properties: fsType: - description: "fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified." + description: "fSType represents the filesystem type to mount\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified." type: "string" readOnly: - description: "readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + description: "readOnly defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts." type: "boolean" volumeID: description: "volumeID uniquely identifies a Portworx volume" @@ -4140,7 +4143,7 @@ spec: description: "projected items for all in one resources secrets, configmaps, and downward API" properties: defaultMode: - description: "defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + description: "defaultMode are the mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." format: "int32" type: "integer" sources: @@ -4149,24 +4152,24 @@ spec: description: "Projection that may be projected along with other supported volume types" properties: clusterTrustBundle: - description: "ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field of ClusterTrustBundle objects in an auto-updating file. \n Alpha, gated by the ClusterTrustBundleProjection feature gate. \n ClusterTrustBundle objects can either be selected by name, or by the combination of signer name and a label selector. \n Kubelet performs aggressive normalization of the PEM contents written into the pod filesystem. Esoteric PEM features such as inter-block comments and block headers are stripped. Certificates are deduplicated. The ordering of certificates within the file is arbitrary, and Kubelet may change the order over time." + description: "ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field\nof ClusterTrustBundle objects in an auto-updating file.\n\n\nAlpha, gated by the ClusterTrustBundleProjection feature gate.\n\n\nClusterTrustBundle objects can either be selected by name, or by the\ncombination of signer name and a label selector.\n\n\nKubelet performs aggressive normalization of the PEM contents written\ninto the pod filesystem. Esoteric PEM features such as inter-block\ncomments and block headers are stripped. Certificates are deduplicated.\nThe ordering of certificates within the file is arbitrary, and Kubelet\nmay change the order over time." properties: labelSelector: - description: "Select all ClusterTrustBundles that match this label selector. Only has effect if signerName is set. Mutually-exclusive with name. If unset, interpreted as \"match nothing\". If set but empty, interpreted as \"match everything\"." + description: "Select all ClusterTrustBundles that match this label selector. Only has\neffect if signerName is set. Mutually-exclusive with name. If unset,\ninterpreted as \"match nothing\". If set but empty, interpreted as \"match\neverything\"." properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." properties: key: description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch." + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -4178,21 +4181,21 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" x-kubernetes-map-type: "atomic" name: - description: "Select a single ClusterTrustBundle by object name. Mutually-exclusive with signerName and labelSelector." + description: "Select a single ClusterTrustBundle by object name. Mutually-exclusive\nwith signerName and labelSelector." type: "string" optional: - description: "If true, don't block pod startup if the referenced ClusterTrustBundle(s) aren't available. If using name, then the named ClusterTrustBundle is allowed not to exist. If using signerName, then the combination of signerName and labelSelector is allowed to match zero ClusterTrustBundles." + description: "If true, don't block pod startup if the referenced ClusterTrustBundle(s)\naren't available. If using name, then the named ClusterTrustBundle is\nallowed not to exist. If using signerName, then the combination of\nsignerName and labelSelector is allowed to match zero\nClusterTrustBundles." type: "boolean" path: description: "Relative path from the volume root to write the bundle." type: "string" signerName: - description: "Select all ClusterTrustBundles that match this signer name. Mutually-exclusive with name. The contents of all selected ClusterTrustBundles will be unified and deduplicated." + description: "Select all ClusterTrustBundles that match this signer name.\nMutually-exclusive with name. The contents of all selected\nClusterTrustBundles will be unified and deduplicated." type: "string" required: - "path" @@ -4201,7 +4204,7 @@ spec: description: "configMap information about the configMap data to project" properties: items: - description: "items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + description: "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the ConfigMap,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'." items: description: "Maps a string key to a path within a volume." properties: @@ -4209,11 +4212,11 @@ spec: description: "key is the key to project." type: "string" mode: - description: "mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + description: "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." format: "int32" type: "integer" path: - description: "path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'." + description: "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'." type: "string" required: - "key" @@ -4221,7 +4224,7 @@ spec: type: "object" type: "array" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "optional specify whether the ConfigMap or its keys must be defined" @@ -4250,14 +4253,14 @@ spec: type: "object" x-kubernetes-map-type: "atomic" mode: - description: "Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + description: "Optional: mode bits used to set permissions on this file, must be an octal value\nbetween 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." format: "int32" type: "integer" path: description: "Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'" type: "string" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -4285,7 +4288,7 @@ spec: description: "secret information about the secret data to project" properties: items: - description: "items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + description: "items if unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'." items: description: "Maps a string key to a path within a volume." properties: @@ -4293,11 +4296,11 @@ spec: description: "key is the key to project." type: "string" mode: - description: "mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + description: "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." format: "int32" type: "integer" path: - description: "path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'." + description: "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'." type: "string" required: - "key" @@ -4305,7 +4308,7 @@ spec: type: "object" type: "array" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "optional field specify whether the Secret or its key must be defined" @@ -4316,14 +4319,14 @@ spec: description: "serviceAccountToken is information about the serviceAccountToken data to project" properties: audience: - description: "audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver." + description: "audience is the intended audience of the token. A recipient of a token\nmust identify itself with an identifier specified in the audience of the\ntoken, and otherwise should reject the token. The audience defaults to the\nidentifier of the apiserver." type: "string" expirationSeconds: - description: "expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes." + description: "expirationSeconds is the requested duration of validity of the service\naccount token. As the token approaches expiration, the kubelet volume\nplugin will proactively rotate the service account token. The kubelet will\nstart trying to rotate the token if the token is older than 80 percent of\nits time to live or if the token is older than 24 hours.Defaults to 1 hour\nand must be at least 10 minutes." format: "int64" type: "integer" path: - description: "path is the path relative to the mount point of the file to project the token into." + description: "path is the path relative to the mount point of the file to project the\ntoken into." type: "string" required: - "path" @@ -4335,19 +4338,19 @@ spec: description: "quobyte represents a Quobyte mount on the host that shares a pod's lifetime" properties: group: - description: "group to map volume access to Default is no group" + description: "group to map volume access to\nDefault is no group" type: "string" readOnly: - description: "readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false." + description: "readOnly here will force the Quobyte volume to be mounted with read-only permissions.\nDefaults to false." type: "boolean" registry: - description: "registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes" + description: "registry represents a single or multiple Quobyte Registry services\nspecified as a string as host:port pair (multiple entries are separated with commas)\nwhich acts as the central registry for volumes" type: "string" tenant: - description: "tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin" + description: "tenant owning the given Quobyte volume in the Backend\nUsed with dynamically provisioned Quobyte volumes, value is set by the plugin" type: "string" user: - description: "user to map volume access to Defaults to serivceaccount user" + description: "user to map volume access to\nDefaults to serivceaccount user" type: "string" volume: description: "volume is a string that references an already created Quobyte volume by name." @@ -4357,38 +4360,38 @@ spec: - "volume" type: "object" rbd: - description: "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md" + description: "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.\nMore info: https://examples.k8s.io/volumes/rbd/README.md" properties: fsType: - description: "fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd TODO: how do we prevent errors in the filesystem from compromising the machine" + description: "fsType is the filesystem type of the volume that you want to mount.\nTip: Ensure that the filesystem type is supported by the host operating system.\nExamples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#rbd\nTODO: how do we prevent errors in the filesystem from compromising the machine" type: "string" image: - description: "image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" + description: "image is the rados image name.\nMore info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" type: "string" keyring: - description: "keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" + description: "keyring is the path to key ring for RBDUser.\nDefault is /etc/ceph/keyring.\nMore info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" type: "string" monitors: - description: "monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" + description: "monitors is a collection of Ceph monitors.\nMore info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" items: type: "string" type: "array" pool: - description: "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" + description: "pool is the rados pool name.\nDefault is rbd.\nMore info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" type: "string" readOnly: - description: "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" + description: "readOnly here will force the ReadOnly setting in VolumeMounts.\nDefaults to false.\nMore info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" type: "boolean" secretRef: - description: "secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" + description: "secretRef is name of the authentication secret for RBDUser. If provided\noverrides keyring.\nDefault is nil.\nMore info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" user: - description: "user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" + description: "user is the rados user name.\nDefault is admin.\nMore info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it" type: "string" required: - "image" @@ -4398,7 +4401,7 @@ spec: description: "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes." properties: fsType: - description: "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Default is \"xfs\"." + description: "fsType is the filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\", \"ntfs\".\nDefault is \"xfs\"." type: "string" gateway: description: "gateway is the host address of the ScaleIO API Gateway." @@ -4407,13 +4410,13 @@ spec: description: "protectionDomain is the name of the ScaleIO Protection Domain for the configured storage." type: "string" readOnly: - description: "readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + description: "readOnly Defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts." type: "boolean" secretRef: - description: "secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail." + description: "secretRef references to the secret for ScaleIO user and other\nsensitive information. If this is not provided, Login operation will fail." properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" @@ -4421,7 +4424,7 @@ spec: description: "sslEnabled Flag enable/disable SSL communication with Gateway, default false" type: "boolean" storageMode: - description: "storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned." + description: "storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.\nDefault is ThinProvisioned." type: "string" storagePool: description: "storagePool is the ScaleIO Storage Pool associated with the protection domain." @@ -4430,7 +4433,7 @@ spec: description: "system is the name of the storage system as configured in ScaleIO." type: "string" volumeName: - description: "volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source." + description: "volumeName is the name of a volume already created in the ScaleIO system\nthat is associated with this volume source." type: "string" required: - "gateway" @@ -4438,14 +4441,14 @@ spec: - "system" type: "object" secret: - description: "secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret" + description: "secret represents a secret that should populate this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#secret" properties: defaultMode: - description: "defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + description: "defaultMode is Optional: mode bits used to set permissions on created files by default.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values\nfor mode bits. Defaults to 0644.\nDirectories within the path are not affected by this setting.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." format: "int32" type: "integer" items: - description: "items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + description: "items If unspecified, each key-value pair in the Data field of the referenced\nSecret will be projected into the volume as a file whose name is the\nkey and content is the value. If specified, the listed keys will be\nprojected into the specified paths, and unlisted keys will not be\npresent. If a key is specified which is not present in the Secret,\nthe volume setup will error unless it is marked optional. Paths must be\nrelative and may not contain the '..' path or start with '..'." items: description: "Maps a string key to a path within a volume." properties: @@ -4453,11 +4456,11 @@ spec: description: "key is the key to project." type: "string" mode: - description: "mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + description: "mode is Optional: mode bits used to set permissions on this file.\nMust be an octal value between 0000 and 0777 or a decimal value between 0 and 511.\nYAML accepts both octal and decimal values, JSON requires decimal values for mode bits.\nIf not specified, the volume defaultMode will be used.\nThis might be in conflict with other options that affect the file\nmode, like fsGroup, and the result can be other mode bits set." format: "int32" type: "integer" path: - description: "path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'." + description: "path is the relative path of the file to map the key to.\nMay not be an absolute path.\nMay not contain the path element '..'.\nMay not start with the string '..'." type: "string" required: - "key" @@ -4468,38 +4471,38 @@ spec: description: "optional field specify whether the Secret or its keys must be defined" type: "boolean" secretName: - description: "secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret" + description: "secretName is the name of the secret in the pod's namespace to use.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#secret" type: "string" type: "object" storageos: description: "storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes." properties: fsType: - description: "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + description: "fsType is the filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." type: "string" readOnly: - description: "readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts." + description: "readOnly defaults to false (read/write). ReadOnly here will force\nthe ReadOnly setting in VolumeMounts." type: "boolean" secretRef: - description: "secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted." + description: "secretRef specifies the secret to use for obtaining the StorageOS API\ncredentials. If not specified, default values will be attempted." properties: name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" x-kubernetes-map-type: "atomic" volumeName: - description: "volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace." + description: "volumeName is the human-readable name of the StorageOS volume. Volume\nnames are only unique within a namespace." type: "string" volumeNamespace: - description: "volumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to \"default\" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created." + description: "volumeNamespace specifies the scope of the volume within StorageOS. If no\nnamespace is specified then the Pod's namespace will be used. This allows the\nKubernetes name scoping to be mirrored within StorageOS for tighter integration.\nSet VolumeName to any name to override the default behaviour.\nSet to \"default\" if you are not using namespaces within StorageOS.\nNamespaces that do not pre-exist within StorageOS will be created." type: "string" type: "object" vsphereVolume: description: "vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine" properties: fsType: - description: "fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." + description: "fsType is filesystem type to mount.\nMust be a filesystem type supported by the host operating system.\nEx. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified." type: "string" storagePolicyID: description: "storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName." @@ -4519,7 +4522,7 @@ spec: type: "array" x-kubernetes-list-type: "atomic" workingDir: - description: "WorkingDir represents Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated." + description: "WorkingDir represents Container's working directory. If not specified,\nthe container runtime's default will be used, which might\nbe configured in the container image. Cannot be updated." type: "string" type: "object" status: @@ -4529,27 +4532,27 @@ spec: description: "Image indicates the container image to use for the OpenTelemetry Collector." type: "string" messages: - description: "Messages about actions performed by the operator on this resource. Deprecated: use Kubernetes events instead." + description: "Messages about actions performed by the operator on this resource.\nDeprecated: use Kubernetes events instead." items: type: "string" type: "array" x-kubernetes-list-type: "atomic" replicas: - description: "Replicas is currently not being set and might be removed in the next version. Deprecated: use \"AmazonCloudWatchAgent.Status.Scale.Replicas\" instead." + description: "Replicas is currently not being set and might be removed in the next version.\nDeprecated: use \"AmazonCloudWatchAgent.Status.Scale.Replicas\" instead." format: "int32" type: "integer" scale: description: "Scale is the AmazonCloudWatchAgent's scale subresource status." properties: replicas: - description: "The total number non-terminated pods targeted by this AmazonCloudWatchAgent's deployment or statefulSet." + description: "The total number non-terminated pods targeted by this\nAmazonCloudWatchAgent's deployment or statefulSet." format: "int32" type: "integer" selector: - description: "The selector used to match the AmazonCloudWatchAgent's deployment or statefulSet pods." + description: "The selector used to match the AmazonCloudWatchAgent's\ndeployment or statefulSet pods." type: "string" statusReplicas: - description: "StatusReplicas is the number of pods targeted by this AmazonCloudWatchAgent's with a Ready Condition / Total number of non-terminated pods targeted by this AmazonCloudWatchAgent's (their labels match the selector). Deployment, Daemonset, StatefulSet." + description: "StatusReplicas is the number of pods targeted by this AmazonCloudWatchAgent's with a Ready Condition /\nTotal number of non-terminated pods targeted by this AmazonCloudWatchAgent's (their labels match the selector).\nDeployment, Daemonset, StatefulSet." type: "string" type: "object" version: diff --git a/crd-catalog/aws/amazon-cloudwatch-agent-operator/cloudwatch.aws.amazon.com/v1alpha1/instrumentations.yaml b/crd-catalog/aws/amazon-cloudwatch-agent-operator/cloudwatch.aws.amazon.com/v1alpha1/instrumentations.yaml index 64976818f..ceee197f3 100644 --- a/crd-catalog/aws/amazon-cloudwatch-agent-operator/cloudwatch.aws.amazon.com/v1alpha1/instrumentations.yaml +++ b/crd-catalog/aws/amazon-cloudwatch-agent-operator/cloudwatch.aws.amazon.com/v1alpha1/instrumentations.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.12.0" + controller-gen.kubebuilder.io/version: "v0.14.0" name: "instrumentations.cloudwatch.aws.amazon.com" spec: group: "cloudwatch.aws.amazon.com" @@ -35,10 +35,10 @@ spec: description: "Instrumentation is the spec for OpenTelemetry instrumentation." 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.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" type: "string" metadata: type: "object" @@ -49,7 +49,7 @@ spec: description: "ApacheHttpd defines configuration for Apache HTTPD auto-instrumentation." properties: attrs: - description: "Attrs defines Apache HTTPD agent specific attributes. The precedence is: `agent default attributes` > `instrument spec attributes` . Attributes are documented at https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/otel-webserver-module" + description: "Attrs defines Apache HTTPD agent specific attributes. The precedence is:\n`agent default attributes` > `instrument spec attributes` .\nAttributes are documented at https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/otel-webserver-module" items: description: "EnvVar represents an environment variable present in a Container." properties: @@ -57,7 +57,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -69,7 +69,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -79,7 +79,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -92,7 +92,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -118,7 +118,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -133,10 +133,10 @@ spec: type: "object" type: "array" configPath: - description: "Location of Apache HTTPD server configuration. Needed only if different from default \"/usr/local/apache2/conf\"" + description: "Location of Apache HTTPD server configuration.\nNeeded only if different from default \"/usr/local/apache2/conf\"" type: "string" env: - description: "Env defines Apache HTTPD specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored." + description: "Env defines Apache HTTPD specific env vars. There are four layers for env vars' definitions and\nthe precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.\nIf the former var had been defined, then the other vars would be ignored." items: description: "EnvVar represents an environment variable present in a Container." properties: @@ -144,7 +144,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -156,7 +156,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -166,7 +166,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -179,7 +179,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -205,7 +205,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -226,12 +226,12 @@ spec: description: "Resources describes the compute resource requirements." properties: claims: - description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers." + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." items: description: "ResourceClaim references one entry in PodSpec.ResourceClaims." properties: name: - description: "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container." + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." type: "string" required: - "name" @@ -247,7 +247,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -256,7 +256,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" version: @@ -266,7 +266,7 @@ spec: anyOf: - type: "integer" - type: "string" - description: "VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 200Mi." + description: "VolumeSizeLimit defines size limit for volume used for auto-instrumentation.\nThe default size is 200Mi." pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" @@ -274,7 +274,7 @@ spec: description: "DotNet defines configuration for DotNet auto-instrumentation." properties: env: - description: "Env defines DotNet specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored." + description: "Env defines DotNet specific env vars. There are four layers for env vars' definitions and\nthe precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.\nIf the former var had been defined, then the other vars would be ignored." items: description: "EnvVar represents an environment variable present in a Container." properties: @@ -282,7 +282,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -294,7 +294,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -304,7 +304,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -317,7 +317,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -343,7 +343,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -364,12 +364,12 @@ spec: description: "Resources describes the compute resource requirements." properties: claims: - description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers." + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." items: description: "ResourceClaim references one entry in PodSpec.ResourceClaims." properties: name: - description: "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container." + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." type: "string" required: - "name" @@ -385,7 +385,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -394,19 +394,19 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" volumeLimitSize: anyOf: - type: "integer" - type: "string" - description: "VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 200Mi." + description: "VolumeSizeLimit defines size limit for volume used for auto-instrumentation.\nThe default size is 200Mi." pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" env: - description: "Env defines common env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored." + description: "Env defines common env vars. There are four layers for env vars' definitions and\nthe precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.\nIf the former var had been defined, then the other vars would be ignored." items: description: "EnvVar represents an environment variable present in a Container." properties: @@ -414,7 +414,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -426,7 +426,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -436,7 +436,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -449,7 +449,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -475,7 +475,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -497,10 +497,10 @@ spec: type: "string" type: "object" go: - description: "Go defines configuration for Go auto-instrumentation. When using Go auto-instrumentation you must provide a value for the OTEL_GO_AUTO_TARGET_EXE env var via the Instrumentation env vars or via the instrumentation.opentelemetry.io/otel-go-auto-target-exe pod annotation. Failure to set this value causes instrumentation injection to abort, leaving the original pod unchanged." + description: "Go defines configuration for Go auto-instrumentation.\nWhen using Go auto-instrumentation you must provide a value for the OTEL_GO_AUTO_TARGET_EXE env var via the\nInstrumentation env vars or via the instrumentation.opentelemetry.io/otel-go-auto-target-exe pod annotation.\nFailure to set this value causes instrumentation injection to abort, leaving the original pod unchanged." properties: env: - description: "Env defines Go specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored." + description: "Env defines Go specific env vars. There are four layers for env vars' definitions and\nthe precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.\nIf the former var had been defined, then the other vars would be ignored." items: description: "EnvVar represents an environment variable present in a Container." properties: @@ -508,7 +508,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -520,7 +520,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -530,7 +530,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -543,7 +543,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -569,7 +569,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -590,12 +590,12 @@ spec: description: "Resources describes the compute resource requirements." properties: claims: - description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers." + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." items: description: "ResourceClaim references one entry in PodSpec.ResourceClaims." properties: name: - description: "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container." + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." type: "string" required: - "name" @@ -611,7 +611,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -620,14 +620,14 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" volumeLimitSize: anyOf: - type: "integer" - type: "string" - description: "VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 200Mi." + description: "VolumeSizeLimit defines size limit for volume used for auto-instrumentation.\nThe default size is 200Mi." pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" @@ -635,7 +635,7 @@ spec: description: "Java defines configuration for java auto-instrumentation." properties: env: - description: "Env defines java specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored." + description: "Env defines java specific env vars. There are four layers for env vars' definitions and\nthe precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.\nIf the former var had been defined, then the other vars would be ignored." items: description: "EnvVar represents an environment variable present in a Container." properties: @@ -643,7 +643,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -655,7 +655,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -665,7 +665,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -678,7 +678,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -704,7 +704,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -725,12 +725,12 @@ spec: description: "Resources describes the compute resource requirements." properties: claims: - description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers." + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." items: description: "ResourceClaim references one entry in PodSpec.ResourceClaims." properties: name: - description: "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container." + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." type: "string" required: - "name" @@ -746,7 +746,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -755,14 +755,14 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" volumeLimitSize: anyOf: - type: "integer" - type: "string" - description: "VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 200Mi." + description: "VolumeSizeLimit defines size limit for volume used for auto-instrumentation.\nThe default size is 200Mi." pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" @@ -770,7 +770,7 @@ spec: description: "Nginx defines configuration for Nginx auto-instrumentation." properties: attrs: - description: "Attrs defines Nginx agent specific attributes. The precedence order is: `agent default attributes` > `instrument spec attributes` . Attributes are documented at https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/otel-webserver-module" + description: "Attrs defines Nginx agent specific attributes. The precedence order is:\n`agent default attributes` > `instrument spec attributes` .\nAttributes are documented at https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/otel-webserver-module" items: description: "EnvVar represents an environment variable present in a Container." properties: @@ -778,7 +778,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -790,7 +790,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -800,7 +800,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -813,7 +813,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -839,7 +839,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -854,10 +854,10 @@ spec: type: "object" type: "array" configFile: - description: "Location of Nginx configuration file. Needed only if different from default \"/etx/nginx/nginx.conf\"" + description: "Location of Nginx configuration file.\nNeeded only if different from default \"/etx/nginx/nginx.conf\"" type: "string" env: - description: "Env defines Nginx specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored." + description: "Env defines Nginx specific env vars. There are four layers for env vars' definitions and\nthe precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.\nIf the former var had been defined, then the other vars would be ignored." items: description: "EnvVar represents an environment variable present in a Container." properties: @@ -865,7 +865,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -877,7 +877,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -887,7 +887,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -900,7 +900,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -926,7 +926,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -947,12 +947,12 @@ spec: description: "Resources describes the compute resource requirements." properties: claims: - description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers." + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." items: description: "ResourceClaim references one entry in PodSpec.ResourceClaims." properties: name: - description: "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container." + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." type: "string" required: - "name" @@ -968,7 +968,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -977,14 +977,14 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" volumeLimitSize: anyOf: - type: "integer" - type: "string" - description: "VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 200Mi." + description: "VolumeSizeLimit defines size limit for volume used for auto-instrumentation.\nThe default size is 200Mi." pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" @@ -992,7 +992,7 @@ spec: description: "NodeJS defines configuration for nodejs auto-instrumentation." properties: env: - description: "Env defines nodejs specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored." + description: "Env defines nodejs specific env vars. There are four layers for env vars' definitions and\nthe precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.\nIf the former var had been defined, then the other vars would be ignored." items: description: "EnvVar represents an environment variable present in a Container." properties: @@ -1000,7 +1000,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -1012,7 +1012,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1022,7 +1022,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -1035,7 +1035,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -1061,7 +1061,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1082,12 +1082,12 @@ spec: description: "Resources describes the compute resource requirements." properties: claims: - description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers." + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." items: description: "ResourceClaim references one entry in PodSpec.ResourceClaims." properties: name: - description: "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container." + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." type: "string" required: - "name" @@ -1103,7 +1103,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -1112,19 +1112,19 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" volumeLimitSize: anyOf: - type: "integer" - type: "string" - description: "VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 200Mi." + description: "VolumeSizeLimit defines size limit for volume used for auto-instrumentation.\nThe default size is 200Mi." pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" propagators: - description: "Propagators defines inter-process context propagation configuration. Values in this list will be set in the OTEL_PROPAGATORS env var. Enum=tracecontext;baggage;b3;b3multi;jaeger;xray;ottrace;none" + description: "Propagators defines inter-process context propagation configuration.\nValues in this list will be set in the OTEL_PROPAGATORS env var.\nEnum=tracecontext;baggage;b3;b3multi;jaeger;xray;ottrace;none" items: description: "Propagator represents the propagation type." enum: @@ -1142,7 +1142,7 @@ spec: description: "Python defines configuration for python auto-instrumentation." properties: env: - description: "Env defines python specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored." + description: "Env defines python specific env vars. There are four layers for env vars' definitions and\nthe precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`.\nIf the former var had been defined, then the other vars would be ignored." items: description: "EnvVar represents an environment variable present in a Container." properties: @@ -1150,7 +1150,7 @@ spec: description: "Name of the environment variable. Must be a C_IDENTIFIER." type: "string" value: - description: "Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\"." + description: "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in the container and\nany service environment variables. If a variable cannot be resolved,\nthe reference in the input string will be unchanged. Double $$ are reduced\nto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.\n\"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".\nEscaped references will never be expanded, regardless of whether the variable\nexists or not.\nDefaults to \"\"." type: "string" valueFrom: description: "Source for the environment variable's value. Cannot be used if value is not empty." @@ -1162,7 +1162,7 @@ spec: description: "The key to select." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the ConfigMap or its key must be defined" @@ -1172,7 +1172,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" fieldRef: - description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." + description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`,\nspec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs." properties: apiVersion: description: "Version of the schema the FieldPath is written in terms of, defaults to \"v1\"." @@ -1185,7 +1185,7 @@ spec: type: "object" x-kubernetes-map-type: "atomic" resourceFieldRef: - description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." + description: "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported." properties: containerName: description: "Container name: required for volumes, optional for env vars" @@ -1211,7 +1211,7 @@ spec: description: "The key of the secret to select from. Must be a valid secret key." type: "string" name: - description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" type: "string" optional: description: "Specify whether the Secret or its key must be defined" @@ -1232,12 +1232,12 @@ spec: description: "Resources describes the compute resource requirements." properties: claims: - description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers." + description: "Claims lists the names of resources, defined in spec.resourceClaims,\nthat are used by this container.\n\n\nThis is an alpha field and requires enabling the\nDynamicResourceAllocation feature gate.\n\n\nThis field is immutable. It can only be set for containers." items: description: "ResourceClaim references one entry in PodSpec.ResourceClaims." properties: name: - description: "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container." + description: "Name must match the name of one entry in pod.spec.resourceClaims of\nthe Pod where this field is used. It makes that resource available\ninside a container." type: "string" required: - "name" @@ -1253,7 +1253,7 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" requests: additionalProperties: @@ -1262,14 +1262,14 @@ spec: - type: "string" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true - description: "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" + description: "Requests describes the minimum amount of compute resources required.\nIf Requests is omitted for a container, it defaults to Limits if that is explicitly specified,\notherwise to an implementation-defined value. Requests cannot exceed Limits.\nMore info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/" type: "object" type: "object" volumeLimitSize: anyOf: - type: "integer" - type: "string" - description: "VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 200Mi." + description: "VolumeSizeLimit defines size limit for volume used for auto-instrumentation.\nThe default size is 200Mi." pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" @@ -1282,17 +1282,17 @@ spec: resourceAttributes: additionalProperties: type: "string" - description: "Attributes defines attributes that are added to the resource. For example environment: dev" + description: "Attributes defines attributes that are added to the resource.\nFor example environment: dev" type: "object" type: "object" sampler: description: "Sampler defines sampling configuration." properties: argument: - description: "Argument defines sampler argument. The value depends on the sampler type. For instance for parentbased_traceidratio sampler type it is a number in range [0..1] e.g. 0.25. The value will be set in the OTEL_TRACES_SAMPLER_ARG env var." + description: "Argument defines sampler argument.\nThe value depends on the sampler type.\nFor instance for parentbased_traceidratio sampler type it is a number in range [0..1] e.g. 0.25.\nThe value will be set in the OTEL_TRACES_SAMPLER_ARG env var." type: "string" type: - description: "Type defines sampler type. The value will be set in the OTEL_TRACES_SAMPLER env var. The value can be for instance parentbased_always_on, parentbased_always_off, parentbased_traceidratio..." + description: "Type defines sampler type.\nThe value will be set in the OTEL_TRACES_SAMPLER env var.\nThe value can be for instance parentbased_always_on, parentbased_always_off, parentbased_traceidratio..." enum: - "always_on" - "always_off" diff --git a/crd-catalog/aws/eks-anywhere/anywhere.eks.amazonaws.com/v1alpha1/nutanixdatacenterconfigs.yaml b/crd-catalog/aws/eks-anywhere/anywhere.eks.amazonaws.com/v1alpha1/nutanixdatacenterconfigs.yaml index bfda70e36..d5f4258d5 100644 --- a/crd-catalog/aws/eks-anywhere/anywhere.eks.amazonaws.com/v1alpha1/nutanixdatacenterconfigs.yaml +++ b/crd-catalog/aws/eks-anywhere/anywhere.eks.amazonaws.com/v1alpha1/nutanixdatacenterconfigs.yaml @@ -93,6 +93,11 @@ spec: - "type" type: "object" type: "array" + workerMachineGroups: + description: "Worker Machine Groups holds the list of worker machine group names that will use this failure domain." + items: + type: "string" + type: "array" required: - "name" type: "object" diff --git a/crd-catalog/aws/eks-anywhere/anywhere.eks.amazonaws.com/v1alpha1/nutanixmachineconfigs.yaml b/crd-catalog/aws/eks-anywhere/anywhere.eks.amazonaws.com/v1alpha1/nutanixmachineconfigs.yaml index eb5a6bc77..01ce14bab 100644 --- a/crd-catalog/aws/eks-anywhere/anywhere.eks.amazonaws.com/v1alpha1/nutanixmachineconfigs.yaml +++ b/crd-catalog/aws/eks-anywhere/anywhere.eks.amazonaws.com/v1alpha1/nutanixmachineconfigs.yaml @@ -60,6 +60,28 @@ spec: required: - "type" type: "object" + gpus: + description: "List of GPU devices that should be added to the VMs." + items: + description: "NutanixGPUIdentifier holds VM GPU device configuration." + properties: + deviceID: + description: "deviceID is the device ID of the GPU device." + format: "int64" + type: "integer" + name: + description: "vendorID is the vendor ID of the GPU device." + type: "string" + type: + description: "type is the type of the GPU device." + enum: + - "deviceID" + - "name" + type: "string" + required: + - "type" + type: "object" + type: "array" image: description: "image is to identify the OS image uploaded to the Prism Central (PC) The image identifier (uuid or name) can be obtained from the Prism Central console or using the Prism Central API. It must include the Kubernetes version(s). For example, a template used for Kubernetes 1.27 could be ubuntu-2204-1.27." properties: diff --git a/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/backups.yaml b/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/backups.yaml index 127f07d36..685cbb755 100644 --- a/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/backups.yaml +++ b/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/backups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "backups.postgresql.cnpg.io" spec: group: "postgresql.cnpg.io" @@ -253,6 +253,11 @@ spec: phase: description: "The last backup status" type: "string" + pluginMetadata: + additionalProperties: + type: "string" + description: "A map containing the plugin metadata" + type: "object" s3Credentials: description: "The credentials to use to upload data to S3" properties: diff --git a/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/clusters.yaml b/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/clusters.yaml index a4606d48b..e19fc8dd2 100644 --- a/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/clusters.yaml +++ b/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/clusters.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "clusters.postgresql.cnpg.io" spec: group: "postgresql.cnpg.io" diff --git a/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/poolers.yaml b/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/poolers.yaml index bd732320b..c181d212d 100644 --- a/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/poolers.yaml +++ b/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/poolers.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "poolers.postgresql.cnpg.io" spec: group: "postgresql.cnpg.io" diff --git a/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/scheduledbackups.yaml b/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/scheduledbackups.yaml index 685044bef..93cd0d1e2 100644 --- a/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/scheduledbackups.yaml +++ b/crd-catalog/cloudnative-pg/cloudnative-pg/postgresql.cnpg.io/v1/scheduledbackups.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "scheduledbackups.postgresql.cnpg.io" spec: group: "postgresql.cnpg.io" diff --git a/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositionrevisions.yaml b/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositionrevisions.yaml index a8dbd2e43..ec0740b97 100644 --- a/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositionrevisions.yaml +++ b/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositionrevisions.yaml @@ -62,352 +62,6 @@ spec: x-kubernetes-validations: - message: "Value is immutable" rule: "self == oldSelf" - environment: - description: "Environment configures the environment in which resources are rendered.\n\n\nTHIS IS AN ALPHA FIELD. Do not use it in production. It is not honored\nunless the relevant Crossplane feature flag is enabled, and may be\nchanged or removed without notice." - properties: - defaultData: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: "DefaultData statically defines the initial state of the environment.\nIt has the same schema-less structure as the data field in\nenvironment configs.\nIt is overwritten by the selected environment configs." - type: "object" - environmentConfigs: - description: "EnvironmentConfigs selects a list of `EnvironmentConfig`s. The resolved\nresources are stored in the composite resource at\n`spec.environmentConfigRefs` and is only updated if it is null.\n\n\nThe list of references is used to compute an in-memory environment at\ncompose time. The data of all object is merged in the order they are\nlisted, meaning the values of EnvironmentConfigs with a larger index take\npriority over ones with smaller indices.\n\n\nThe computed environment can be accessed in a composition using\n`FromEnvironmentFieldPath` and `CombineFromEnvironment` patches." - items: - description: "EnvironmentSource selects a EnvironmentConfig resource." - properties: - ref: - description: "Ref is a named reference to a single EnvironmentConfig.\nEither Ref or Selector is required." - properties: - name: - description: "The name of the object." - type: "string" - required: - - "name" - type: "object" - selector: - description: "Selector selects EnvironmentConfig(s) via labels." - properties: - matchLabels: - description: "MatchLabels ensures an object with matching labels is selected." - items: - description: "An EnvironmentSourceSelectorLabelMatcher acts like a k8s label selector but\ncan draw the label value from a different path." - properties: - fromFieldPathPolicy: - default: "Required" - description: "FromFieldPathPolicy specifies the policy for the valueFromFieldPath.\nThe default is Required, meaning that an error will be returned if the\nfield is not found in the composite resource.\nOptional means that if the field is not found in the composite resource,\nthat label pair will just be skipped. N.B. other specified label\nmatchers will still be used to retrieve the desired\nenvironment config, if any." - enum: - - "Optional" - - "Required" - type: "string" - key: - description: "Key of the label to match." - type: "string" - type: - default: "FromCompositeFieldPath" - description: "Type specifies where the value for a label comes from." - enum: - - "FromCompositeFieldPath" - - "Value" - type: "string" - value: - description: "Value specifies a literal label value." - type: "string" - valueFromFieldPath: - description: "ValueFromFieldPath specifies the field path to look for the label value." - type: "string" - required: - - "key" - type: "object" - type: "array" - maxMatch: - description: "MaxMatch specifies the number of extracted EnvironmentConfigs in Multiple mode, extracts all if nil." - format: "int64" - type: "integer" - minMatch: - description: "MinMatch specifies the required minimum of extracted EnvironmentConfigs in Multiple mode." - format: "int64" - type: "integer" - mode: - default: "Single" - description: "Mode specifies retrieval strategy: \"Single\" or \"Multiple\"." - enum: - - "Single" - - "Multiple" - type: "string" - sortByFieldPath: - default: "metadata.name" - description: "SortByFieldPath is the path to the field based on which list of EnvironmentConfigs is alphabetically sorted." - type: "string" - type: "object" - type: - default: "Reference" - description: "Type specifies the way the EnvironmentConfig is selected.\nDefault is `Reference`" - enum: - - "Reference" - - "Selector" - type: "string" - type: "object" - type: "array" - patches: - description: "Patches is a list of environment patches that are executed before a\ncomposition's resources are composed." - items: - description: "EnvironmentPatch is a patch for a Composition environment." - properties: - combine: - description: "Combine is the patch configuration for a CombineFromComposite or\nCombineToComposite patch." - properties: - strategy: - description: "Strategy defines the strategy to use to combine the input variable values.\nCurrently only string is supported." - enum: - - "string" - type: "string" - string: - description: "String declares that input variables should be combined into a single\nstring, using the relevant settings for formatting purposes." - properties: - fmt: - description: "Format the input using a Go format string. See\nhttps://golang.org/pkg/fmt/ for details." - type: "string" - required: - - "fmt" - type: "object" - variables: - description: "Variables are the list of variables whose values will be retrieved and\ncombined." - items: - description: "A CombineVariable defines the source of a value that is combined with\nothers to form and patch an output value. Currently, this only supports\nretrieving values from a field path." - properties: - fromFieldPath: - description: "FromFieldPath is the path of the field on the source whose value is\nto be used as input." - type: "string" - required: - - "fromFieldPath" - type: "object" - minItems: 1 - type: "array" - required: - - "strategy" - - "variables" - type: "object" - fromFieldPath: - description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath or\nToCompositeFieldPath." - type: "string" - policy: - description: "Policy configures the specifics of patching behaviour." - properties: - fromFieldPath: - description: "FromFieldPath specifies how to patch from a field path. The default is\n'Optional', which means the patch will be a no-op if the specified\nfromFieldPath does not exist. Use 'Required' if the patch should fail if\nthe specified path does not exist." - enum: - - "Optional" - - "Required" - type: "string" - mergeOptions: - description: "MergeOptions Specifies merge options on a field path." - properties: - appendSlice: - description: "Specifies that already existing elements in a merged slice should be preserved" - type: "boolean" - keepMapValues: - description: "Specifies that already existing values in a merged map should be preserved" - type: "boolean" - type: "object" - type: "object" - toFieldPath: - description: "ToFieldPath is the path of the field on the resource whose value will\nbe changed with the result of transforms. Leave empty if you'd like to\npropagate to the same path as fromFieldPath." - type: "string" - transforms: - description: "Transforms are the list of functions that are used as a FIFO pipe for the\ninput to be transformed." - items: - description: "Transform is a unit of process whose input is transformed into an output with\nthe supplied configuration." - properties: - convert: - description: "Convert is used to cast the input into the given output type." - properties: - format: - description: "The expected input format.\n\n\n* `quantity` - parses the input as a K8s [`resource.Quantity`](https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity).\nOnly used during `string -> float64` conversions.\n* `json` - parses the input as a JSON string.\nOnly used during `string -> object` or `string -> list` conversions.\n\n\nIf this property is null, the default conversion is applied." - enum: - - "none" - - "quantity" - - "json" - type: "string" - toType: - description: "ToType is the type of the output of this transform." - enum: - - "string" - - "int" - - "int64" - - "bool" - - "float64" - - "object" - - "array" - type: "string" - required: - - "toType" - type: "object" - map: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: "Map uses the input as a key in the given map and returns the value." - type: "object" - match: - description: "Match is a more complex version of Map that matches a list of patterns." - properties: - fallbackTo: - default: "Value" - description: "Determines to what value the transform should fallback if no pattern matches." - enum: - - "Value" - - "Input" - type: "string" - fallbackValue: - description: "The fallback value that should be returned by the transform if now pattern\nmatches." - x-kubernetes-preserve-unknown-fields: true - patterns: - description: "The patterns that should be tested against the input string.\nPatterns are tested in order. The value of the first match is used as\nresult of this transform." - items: - description: "MatchTransformPattern is a transform that returns the value that matches a\npattern." - properties: - literal: - description: "Literal exactly matches the input string (case sensitive).\nIs required if `type` is `literal`." - type: "string" - regexp: - description: "Regexp to match against the input string.\nIs required if `type` is `regexp`." - type: "string" - result: - description: "The value that is used as result of the transform if the pattern matches." - x-kubernetes-preserve-unknown-fields: true - type: - default: "literal" - description: "Type specifies how the pattern matches the input.\n\n\n* `literal` - the pattern value has to exactly match (case sensitive) the\ninput string. This is the default.\n\n\n* `regexp` - the pattern treated as a regular expression against\nwhich the input string is tested. Crossplane will throw an error if the\nkey is not a valid regexp." - enum: - - "literal" - - "regexp" - type: "string" - required: - - "result" - - "type" - type: "object" - type: "array" - type: "object" - math: - description: "Math is used to transform the input via mathematical operations such as\nmultiplication." - properties: - clampMax: - description: "ClampMax makes sure that the value is not bigger than the given value." - format: "int64" - type: "integer" - clampMin: - description: "ClampMin makes sure that the value is not smaller than the given value." - format: "int64" - type: "integer" - multiply: - description: "Multiply the value." - format: "int64" - type: "integer" - type: - default: "Multiply" - description: "Type of the math transform to be run." - enum: - - "Multiply" - - "ClampMin" - - "ClampMax" - type: "string" - type: "object" - string: - description: "String is used to transform the input into a string or a different kind\nof string. Note that the input does not necessarily need to be a string." - properties: - convert: - description: "Optional conversion method to be specified.\n`ToUpper` and `ToLower` change the letter case of the input string.\n`ToBase64` and `FromBase64` perform a base64 conversion based on the input string.\n`ToJson` converts any input value into its raw JSON representation.\n`ToSha1`, `ToSha256` and `ToSha512` generate a hash value based on the input\nconverted to JSON.\n`ToAdler32` generate a addler32 hash based on the input string." - enum: - - "ToUpper" - - "ToLower" - - "ToBase64" - - "FromBase64" - - "ToJson" - - "ToSha1" - - "ToSha256" - - "ToSha512" - - "ToAdler32" - type: "string" - fmt: - description: "Format the input using a Go format string. See\nhttps://golang.org/pkg/fmt/ for details." - type: "string" - join: - description: "Join defines parameters to join a slice of values to a string." - properties: - separator: - description: "Separator defines the character that should separate the values from each\nother in the joined string." - type: "string" - required: - - "separator" - type: "object" - regexp: - description: "Extract a match from the input using a regular expression." - properties: - group: - description: "Group number to match. 0 (the default) matches the entire expression." - type: "integer" - match: - description: "Match string. May optionally include submatches, aka capture groups.\nSee https://pkg.go.dev/regexp/ for details." - type: "string" - required: - - "match" - type: "object" - trim: - description: "Trim the prefix or suffix from the input" - type: "string" - type: - default: "Format" - description: "Type of the string transform to be run." - enum: - - "Format" - - "Convert" - - "TrimPrefix" - - "TrimSuffix" - - "Regexp" - - "Join" - type: "string" - type: "object" - type: - description: "Type of the transform to be run." - enum: - - "map" - - "match" - - "math" - - "string" - - "convert" - type: "string" - required: - - "type" - type: "object" - type: "array" - type: - default: "FromCompositeFieldPath" - description: "Type sets the patching behaviour to be used. Each patch type may require\nits own fields to be set on the Patch object." - enum: - - "FromCompositeFieldPath" - - "ToCompositeFieldPath" - - "CombineFromComposite" - - "CombineToComposite" - type: "string" - type: "object" - type: "array" - policy: - description: "Policy represents the Resolve and Resolution policies which apply to\nall EnvironmentSourceReferences in EnvironmentConfigs list." - properties: - resolution: - default: "Required" - description: "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved." - enum: - - "Required" - - "Optional" - type: "string" - resolve: - description: "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile." - enum: - - "Always" - - "IfNotPresent" - type: "string" - type: "object" - type: "object" mode: default: "Resources" description: "Mode controls what type or \"mode\" of Composition will be used.\n\n\n\"Pipeline\" indicates that a Composition specifies a pipeline of\nComposition Functions, each of which is responsible for producing\ncomposed resources that Crossplane should create or update.\n\n\n\"Resources\" indicates that a Composition uses what is commonly referred\nto as \"Patch & Transform\" or P&T composition. This mode of Composition\nuses an array of resources, each a template for a composed resource.\n\n\nAll Compositions should use Pipeline mode. Resources mode is deprecated.\nResources mode won't be removed in Crossplane 1.x, and will remain the\ndefault to avoid breaking legacy Compositions. However, it's no longer\naccepting new features, and only accepting security related bug fixes." @@ -429,7 +83,7 @@ spec: description: "Patch objects are applied between composite and composed resources. Their\nbehaviour depends on the Type selected. The default Type,\nFromCompositeFieldPath, copies a value from the composite resource to\nthe composed resource, applying any defined transformers." properties: combine: - description: "Combine is the patch configuration for a CombineFromComposite,\nCombineFromEnvironment, CombineToComposite or CombineToEnvironment patch." + description: "Combine is the patch configuration for a CombineFromComposite or\nCombineToComposite patch." properties: strategy: description: "Strategy defines the strategy to use to combine the input variable values.\nCurrently only string is supported." @@ -463,7 +117,7 @@ spec: - "variables" type: "object" fromFieldPath: - description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath,\nFromEnvironmentFieldPath, ToCompositeFieldPath, ToEnvironmentFieldPath." + description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath or\nToCompositeFieldPath." type: "string" patchSetName: description: "PatchSetName to include patches from. Required when type is PatchSet." @@ -662,14 +316,10 @@ spec: description: "Type sets the patching behaviour to be used. Each patch type may require\nits own fields to be set on the Patch object." enum: - "FromCompositeFieldPath" - - "FromEnvironmentFieldPath" - "PatchSet" - "ToCompositeFieldPath" - - "ToEnvironmentFieldPath" - - "CombineFromEnvironment" - "CombineFromComposite" - "CombineToComposite" - - "CombineToEnvironment" type: "string" type: "object" type: "array" @@ -799,7 +449,7 @@ spec: description: "Patch objects are applied between composite and composed resources. Their\nbehaviour depends on the Type selected. The default Type,\nFromCompositeFieldPath, copies a value from the composite resource to\nthe composed resource, applying any defined transformers." properties: combine: - description: "Combine is the patch configuration for a CombineFromComposite,\nCombineFromEnvironment, CombineToComposite or CombineToEnvironment patch." + description: "Combine is the patch configuration for a CombineFromComposite or\nCombineToComposite patch." properties: strategy: description: "Strategy defines the strategy to use to combine the input variable values.\nCurrently only string is supported." @@ -833,7 +483,7 @@ spec: - "variables" type: "object" fromFieldPath: - description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath,\nFromEnvironmentFieldPath, ToCompositeFieldPath, ToEnvironmentFieldPath." + description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath or\nToCompositeFieldPath." type: "string" patchSetName: description: "PatchSetName to include patches from. Required when type is PatchSet." @@ -1032,14 +682,10 @@ spec: description: "Type sets the patching behaviour to be used. Each patch type may require\nits own fields to be set on the Patch object." enum: - "FromCompositeFieldPath" - - "FromEnvironmentFieldPath" - "PatchSet" - "ToCompositeFieldPath" - - "ToEnvironmentFieldPath" - - "CombineFromEnvironment" - "CombineFromComposite" - "CombineToComposite" - - "CombineToEnvironment" type: "string" type: "object" type: "array" diff --git a/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositions.yaml b/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositions.yaml index e7948cd70..cbd9f6677 100644 --- a/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositions.yaml +++ b/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1/compositions.yaml @@ -59,352 +59,6 @@ spec: x-kubernetes-validations: - message: "Value is immutable" rule: "self == oldSelf" - environment: - description: "Environment configures the environment in which resources are rendered.\n\n\nTHIS IS AN ALPHA FIELD. Do not use it in production. It is not honored\nunless the relevant Crossplane feature flag is enabled, and may be\nchanged or removed without notice." - properties: - defaultData: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: "DefaultData statically defines the initial state of the environment.\nIt has the same schema-less structure as the data field in\nenvironment configs.\nIt is overwritten by the selected environment configs." - type: "object" - environmentConfigs: - description: "EnvironmentConfigs selects a list of `EnvironmentConfig`s. The resolved\nresources are stored in the composite resource at\n`spec.environmentConfigRefs` and is only updated if it is null.\n\n\nThe list of references is used to compute an in-memory environment at\ncompose time. The data of all object is merged in the order they are\nlisted, meaning the values of EnvironmentConfigs with a larger index take\npriority over ones with smaller indices.\n\n\nThe computed environment can be accessed in a composition using\n`FromEnvironmentFieldPath` and `CombineFromEnvironment` patches." - items: - description: "EnvironmentSource selects a EnvironmentConfig resource." - properties: - ref: - description: "Ref is a named reference to a single EnvironmentConfig.\nEither Ref or Selector is required." - properties: - name: - description: "The name of the object." - type: "string" - required: - - "name" - type: "object" - selector: - description: "Selector selects EnvironmentConfig(s) via labels." - properties: - matchLabels: - description: "MatchLabels ensures an object with matching labels is selected." - items: - description: "An EnvironmentSourceSelectorLabelMatcher acts like a k8s label selector but\ncan draw the label value from a different path." - properties: - fromFieldPathPolicy: - default: "Required" - description: "FromFieldPathPolicy specifies the policy for the valueFromFieldPath.\nThe default is Required, meaning that an error will be returned if the\nfield is not found in the composite resource.\nOptional means that if the field is not found in the composite resource,\nthat label pair will just be skipped. N.B. other specified label\nmatchers will still be used to retrieve the desired\nenvironment config, if any." - enum: - - "Optional" - - "Required" - type: "string" - key: - description: "Key of the label to match." - type: "string" - type: - default: "FromCompositeFieldPath" - description: "Type specifies where the value for a label comes from." - enum: - - "FromCompositeFieldPath" - - "Value" - type: "string" - value: - description: "Value specifies a literal label value." - type: "string" - valueFromFieldPath: - description: "ValueFromFieldPath specifies the field path to look for the label value." - type: "string" - required: - - "key" - type: "object" - type: "array" - maxMatch: - description: "MaxMatch specifies the number of extracted EnvironmentConfigs in Multiple mode, extracts all if nil." - format: "int64" - type: "integer" - minMatch: - description: "MinMatch specifies the required minimum of extracted EnvironmentConfigs in Multiple mode." - format: "int64" - type: "integer" - mode: - default: "Single" - description: "Mode specifies retrieval strategy: \"Single\" or \"Multiple\"." - enum: - - "Single" - - "Multiple" - type: "string" - sortByFieldPath: - default: "metadata.name" - description: "SortByFieldPath is the path to the field based on which list of EnvironmentConfigs is alphabetically sorted." - type: "string" - type: "object" - type: - default: "Reference" - description: "Type specifies the way the EnvironmentConfig is selected.\nDefault is `Reference`" - enum: - - "Reference" - - "Selector" - type: "string" - type: "object" - type: "array" - patches: - description: "Patches is a list of environment patches that are executed before a\ncomposition's resources are composed." - items: - description: "EnvironmentPatch is a patch for a Composition environment." - properties: - combine: - description: "Combine is the patch configuration for a CombineFromComposite or\nCombineToComposite patch." - properties: - strategy: - description: "Strategy defines the strategy to use to combine the input variable values.\nCurrently only string is supported." - enum: - - "string" - type: "string" - string: - description: "String declares that input variables should be combined into a single\nstring, using the relevant settings for formatting purposes." - properties: - fmt: - description: "Format the input using a Go format string. See\nhttps://golang.org/pkg/fmt/ for details." - type: "string" - required: - - "fmt" - type: "object" - variables: - description: "Variables are the list of variables whose values will be retrieved and\ncombined." - items: - description: "A CombineVariable defines the source of a value that is combined with\nothers to form and patch an output value. Currently, this only supports\nretrieving values from a field path." - properties: - fromFieldPath: - description: "FromFieldPath is the path of the field on the source whose value is\nto be used as input." - type: "string" - required: - - "fromFieldPath" - type: "object" - minItems: 1 - type: "array" - required: - - "strategy" - - "variables" - type: "object" - fromFieldPath: - description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath or\nToCompositeFieldPath." - type: "string" - policy: - description: "Policy configures the specifics of patching behaviour." - properties: - fromFieldPath: - description: "FromFieldPath specifies how to patch from a field path. The default is\n'Optional', which means the patch will be a no-op if the specified\nfromFieldPath does not exist. Use 'Required' if the patch should fail if\nthe specified path does not exist." - enum: - - "Optional" - - "Required" - type: "string" - mergeOptions: - description: "MergeOptions Specifies merge options on a field path." - properties: - appendSlice: - description: "Specifies that already existing elements in a merged slice should be preserved" - type: "boolean" - keepMapValues: - description: "Specifies that already existing values in a merged map should be preserved" - type: "boolean" - type: "object" - type: "object" - toFieldPath: - description: "ToFieldPath is the path of the field on the resource whose value will\nbe changed with the result of transforms. Leave empty if you'd like to\npropagate to the same path as fromFieldPath." - type: "string" - transforms: - description: "Transforms are the list of functions that are used as a FIFO pipe for the\ninput to be transformed." - items: - description: "Transform is a unit of process whose input is transformed into an output with\nthe supplied configuration." - properties: - convert: - description: "Convert is used to cast the input into the given output type." - properties: - format: - description: "The expected input format.\n\n\n* `quantity` - parses the input as a K8s [`resource.Quantity`](https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity).\nOnly used during `string -> float64` conversions.\n* `json` - parses the input as a JSON string.\nOnly used during `string -> object` or `string -> list` conversions.\n\n\nIf this property is null, the default conversion is applied." - enum: - - "none" - - "quantity" - - "json" - type: "string" - toType: - description: "ToType is the type of the output of this transform." - enum: - - "string" - - "int" - - "int64" - - "bool" - - "float64" - - "object" - - "array" - type: "string" - required: - - "toType" - type: "object" - map: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: "Map uses the input as a key in the given map and returns the value." - type: "object" - match: - description: "Match is a more complex version of Map that matches a list of patterns." - properties: - fallbackTo: - default: "Value" - description: "Determines to what value the transform should fallback if no pattern matches." - enum: - - "Value" - - "Input" - type: "string" - fallbackValue: - description: "The fallback value that should be returned by the transform if now pattern\nmatches." - x-kubernetes-preserve-unknown-fields: true - patterns: - description: "The patterns that should be tested against the input string.\nPatterns are tested in order. The value of the first match is used as\nresult of this transform." - items: - description: "MatchTransformPattern is a transform that returns the value that matches a\npattern." - properties: - literal: - description: "Literal exactly matches the input string (case sensitive).\nIs required if `type` is `literal`." - type: "string" - regexp: - description: "Regexp to match against the input string.\nIs required if `type` is `regexp`." - type: "string" - result: - description: "The value that is used as result of the transform if the pattern matches." - x-kubernetes-preserve-unknown-fields: true - type: - default: "literal" - description: "Type specifies how the pattern matches the input.\n\n\n* `literal` - the pattern value has to exactly match (case sensitive) the\ninput string. This is the default.\n\n\n* `regexp` - the pattern treated as a regular expression against\nwhich the input string is tested. Crossplane will throw an error if the\nkey is not a valid regexp." - enum: - - "literal" - - "regexp" - type: "string" - required: - - "result" - - "type" - type: "object" - type: "array" - type: "object" - math: - description: "Math is used to transform the input via mathematical operations such as\nmultiplication." - properties: - clampMax: - description: "ClampMax makes sure that the value is not bigger than the given value." - format: "int64" - type: "integer" - clampMin: - description: "ClampMin makes sure that the value is not smaller than the given value." - format: "int64" - type: "integer" - multiply: - description: "Multiply the value." - format: "int64" - type: "integer" - type: - default: "Multiply" - description: "Type of the math transform to be run." - enum: - - "Multiply" - - "ClampMin" - - "ClampMax" - type: "string" - type: "object" - string: - description: "String is used to transform the input into a string or a different kind\nof string. Note that the input does not necessarily need to be a string." - properties: - convert: - description: "Optional conversion method to be specified.\n`ToUpper` and `ToLower` change the letter case of the input string.\n`ToBase64` and `FromBase64` perform a base64 conversion based on the input string.\n`ToJson` converts any input value into its raw JSON representation.\n`ToSha1`, `ToSha256` and `ToSha512` generate a hash value based on the input\nconverted to JSON.\n`ToAdler32` generate a addler32 hash based on the input string." - enum: - - "ToUpper" - - "ToLower" - - "ToBase64" - - "FromBase64" - - "ToJson" - - "ToSha1" - - "ToSha256" - - "ToSha512" - - "ToAdler32" - type: "string" - fmt: - description: "Format the input using a Go format string. See\nhttps://golang.org/pkg/fmt/ for details." - type: "string" - join: - description: "Join defines parameters to join a slice of values to a string." - properties: - separator: - description: "Separator defines the character that should separate the values from each\nother in the joined string." - type: "string" - required: - - "separator" - type: "object" - regexp: - description: "Extract a match from the input using a regular expression." - properties: - group: - description: "Group number to match. 0 (the default) matches the entire expression." - type: "integer" - match: - description: "Match string. May optionally include submatches, aka capture groups.\nSee https://pkg.go.dev/regexp/ for details." - type: "string" - required: - - "match" - type: "object" - trim: - description: "Trim the prefix or suffix from the input" - type: "string" - type: - default: "Format" - description: "Type of the string transform to be run." - enum: - - "Format" - - "Convert" - - "TrimPrefix" - - "TrimSuffix" - - "Regexp" - - "Join" - type: "string" - type: "object" - type: - description: "Type of the transform to be run." - enum: - - "map" - - "match" - - "math" - - "string" - - "convert" - type: "string" - required: - - "type" - type: "object" - type: "array" - type: - default: "FromCompositeFieldPath" - description: "Type sets the patching behaviour to be used. Each patch type may require\nits own fields to be set on the Patch object." - enum: - - "FromCompositeFieldPath" - - "ToCompositeFieldPath" - - "CombineFromComposite" - - "CombineToComposite" - type: "string" - type: "object" - type: "array" - policy: - description: "Policy represents the Resolve and Resolution policies which apply to\nall EnvironmentSourceReferences in EnvironmentConfigs list." - properties: - resolution: - default: "Required" - description: "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved." - enum: - - "Required" - - "Optional" - type: "string" - resolve: - description: "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile." - enum: - - "Always" - - "IfNotPresent" - type: "string" - type: "object" - type: "object" mode: default: "Resources" description: "Mode controls what type or \"mode\" of Composition will be used.\n\n\n\"Pipeline\" indicates that a Composition specifies a pipeline of\nComposition Functions, each of which is responsible for producing\ncomposed resources that Crossplane should create or update.\n\n\n\"Resources\" indicates that a Composition uses what is commonly referred\nto as \"Patch & Transform\" or P&T composition. This mode of Composition\nuses an array of resources, each a template for a composed resource.\n\n\nAll Compositions should use Pipeline mode. Resources mode is deprecated.\nResources mode won't be removed in Crossplane 1.x, and will remain the\ndefault to avoid breaking legacy Compositions. However, it's no longer\naccepting new features, and only accepting security related bug fixes." @@ -426,7 +80,7 @@ spec: description: "Patch objects are applied between composite and composed resources. Their\nbehaviour depends on the Type selected. The default Type,\nFromCompositeFieldPath, copies a value from the composite resource to\nthe composed resource, applying any defined transformers." properties: combine: - description: "Combine is the patch configuration for a CombineFromComposite,\nCombineFromEnvironment, CombineToComposite or CombineToEnvironment patch." + description: "Combine is the patch configuration for a CombineFromComposite or\nCombineToComposite patch." properties: strategy: description: "Strategy defines the strategy to use to combine the input variable values.\nCurrently only string is supported." @@ -460,7 +114,7 @@ spec: - "variables" type: "object" fromFieldPath: - description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath,\nFromEnvironmentFieldPath, ToCompositeFieldPath, ToEnvironmentFieldPath." + description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath or\nToCompositeFieldPath." type: "string" patchSetName: description: "PatchSetName to include patches from. Required when type is PatchSet." @@ -659,14 +313,10 @@ spec: description: "Type sets the patching behaviour to be used. Each patch type may require\nits own fields to be set on the Patch object." enum: - "FromCompositeFieldPath" - - "FromEnvironmentFieldPath" - "PatchSet" - "ToCompositeFieldPath" - - "ToEnvironmentFieldPath" - - "CombineFromEnvironment" - "CombineFromComposite" - "CombineToComposite" - - "CombineToEnvironment" type: "string" type: "object" type: "array" @@ -796,7 +446,7 @@ spec: description: "Patch objects are applied between composite and composed resources. Their\nbehaviour depends on the Type selected. The default Type,\nFromCompositeFieldPath, copies a value from the composite resource to\nthe composed resource, applying any defined transformers." properties: combine: - description: "Combine is the patch configuration for a CombineFromComposite,\nCombineFromEnvironment, CombineToComposite or CombineToEnvironment patch." + description: "Combine is the patch configuration for a CombineFromComposite or\nCombineToComposite patch." properties: strategy: description: "Strategy defines the strategy to use to combine the input variable values.\nCurrently only string is supported." @@ -830,7 +480,7 @@ spec: - "variables" type: "object" fromFieldPath: - description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath,\nFromEnvironmentFieldPath, ToCompositeFieldPath, ToEnvironmentFieldPath." + description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath or\nToCompositeFieldPath." type: "string" patchSetName: description: "PatchSetName to include patches from. Required when type is PatchSet." @@ -1029,14 +679,10 @@ spec: description: "Type sets the patching behaviour to be used. Each patch type may require\nits own fields to be set on the Patch object." enum: - "FromCompositeFieldPath" - - "FromEnvironmentFieldPath" - "PatchSet" - "ToCompositeFieldPath" - - "ToEnvironmentFieldPath" - - "CombineFromEnvironment" - "CombineFromComposite" - "CombineToComposite" - - "CombineToEnvironment" type: "string" type: "object" type: "array" diff --git a/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1beta1/compositionrevisions.yaml b/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1beta1/compositionrevisions.yaml index 07b9d3a67..04927feb4 100644 --- a/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1beta1/compositionrevisions.yaml +++ b/crd-catalog/crossplane/crossplane/apiextensions.crossplane.io/v1beta1/compositionrevisions.yaml @@ -62,352 +62,6 @@ spec: x-kubernetes-validations: - message: "Value is immutable" rule: "self == oldSelf" - environment: - description: "Environment configures the environment in which resources are rendered.\n\n\nTHIS IS AN ALPHA FIELD. Do not use it in production. It is not honored\nunless the relevant Crossplane feature flag is enabled, and may be\nchanged or removed without notice." - properties: - defaultData: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: "DefaultData statically defines the initial state of the environment.\nIt has the same schema-less structure as the data field in\nenvironment configs.\nIt is overwritten by the selected environment configs." - type: "object" - environmentConfigs: - description: "EnvironmentConfigs selects a list of `EnvironmentConfig`s. The resolved\nresources are stored in the composite resource at\n`spec.environmentConfigRefs` and is only updated if it is null.\n\n\nThe list of references is used to compute an in-memory environment at\ncompose time. The data of all object is merged in the order they are\nlisted, meaning the values of EnvironmentConfigs with a larger index take\npriority over ones with smaller indices.\n\n\nThe computed environment can be accessed in a composition using\n`FromEnvironmentFieldPath` and `CombineFromEnvironment` patches." - items: - description: "EnvironmentSource selects a EnvironmentConfig resource." - properties: - ref: - description: "Ref is a named reference to a single EnvironmentConfig.\nEither Ref or Selector is required." - properties: - name: - description: "The name of the object." - type: "string" - required: - - "name" - type: "object" - selector: - description: "Selector selects EnvironmentConfig(s) via labels." - properties: - matchLabels: - description: "MatchLabels ensures an object with matching labels is selected." - items: - description: "An EnvironmentSourceSelectorLabelMatcher acts like a k8s label selector but\ncan draw the label value from a different path." - properties: - fromFieldPathPolicy: - default: "Required" - description: "FromFieldPathPolicy specifies the policy for the valueFromFieldPath.\nThe default is Required, meaning that an error will be returned if the\nfield is not found in the composite resource.\nOptional means that if the field is not found in the composite resource,\nthat label pair will just be skipped. N.B. other specified label\nmatchers will still be used to retrieve the desired\nenvironment config, if any." - enum: - - "Optional" - - "Required" - type: "string" - key: - description: "Key of the label to match." - type: "string" - type: - default: "FromCompositeFieldPath" - description: "Type specifies where the value for a label comes from." - enum: - - "FromCompositeFieldPath" - - "Value" - type: "string" - value: - description: "Value specifies a literal label value." - type: "string" - valueFromFieldPath: - description: "ValueFromFieldPath specifies the field path to look for the label value." - type: "string" - required: - - "key" - type: "object" - type: "array" - maxMatch: - description: "MaxMatch specifies the number of extracted EnvironmentConfigs in Multiple mode, extracts all if nil." - format: "int64" - type: "integer" - minMatch: - description: "MinMatch specifies the required minimum of extracted EnvironmentConfigs in Multiple mode." - format: "int64" - type: "integer" - mode: - default: "Single" - description: "Mode specifies retrieval strategy: \"Single\" or \"Multiple\"." - enum: - - "Single" - - "Multiple" - type: "string" - sortByFieldPath: - default: "metadata.name" - description: "SortByFieldPath is the path to the field based on which list of EnvironmentConfigs is alphabetically sorted." - type: "string" - type: "object" - type: - default: "Reference" - description: "Type specifies the way the EnvironmentConfig is selected.\nDefault is `Reference`" - enum: - - "Reference" - - "Selector" - type: "string" - type: "object" - type: "array" - patches: - description: "Patches is a list of environment patches that are executed before a\ncomposition's resources are composed." - items: - description: "EnvironmentPatch is a patch for a Composition environment." - properties: - combine: - description: "Combine is the patch configuration for a CombineFromComposite or\nCombineToComposite patch." - properties: - strategy: - description: "Strategy defines the strategy to use to combine the input variable values.\nCurrently only string is supported." - enum: - - "string" - type: "string" - string: - description: "String declares that input variables should be combined into a single\nstring, using the relevant settings for formatting purposes." - properties: - fmt: - description: "Format the input using a Go format string. See\nhttps://golang.org/pkg/fmt/ for details." - type: "string" - required: - - "fmt" - type: "object" - variables: - description: "Variables are the list of variables whose values will be retrieved and\ncombined." - items: - description: "A CombineVariable defines the source of a value that is combined with\nothers to form and patch an output value. Currently, this only supports\nretrieving values from a field path." - properties: - fromFieldPath: - description: "FromFieldPath is the path of the field on the source whose value is\nto be used as input." - type: "string" - required: - - "fromFieldPath" - type: "object" - minItems: 1 - type: "array" - required: - - "strategy" - - "variables" - type: "object" - fromFieldPath: - description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath or\nToCompositeFieldPath." - type: "string" - policy: - description: "Policy configures the specifics of patching behaviour." - properties: - fromFieldPath: - description: "FromFieldPath specifies how to patch from a field path. The default is\n'Optional', which means the patch will be a no-op if the specified\nfromFieldPath does not exist. Use 'Required' if the patch should fail if\nthe specified path does not exist." - enum: - - "Optional" - - "Required" - type: "string" - mergeOptions: - description: "MergeOptions Specifies merge options on a field path." - properties: - appendSlice: - description: "Specifies that already existing elements in a merged slice should be preserved" - type: "boolean" - keepMapValues: - description: "Specifies that already existing values in a merged map should be preserved" - type: "boolean" - type: "object" - type: "object" - toFieldPath: - description: "ToFieldPath is the path of the field on the resource whose value will\nbe changed with the result of transforms. Leave empty if you'd like to\npropagate to the same path as fromFieldPath." - type: "string" - transforms: - description: "Transforms are the list of functions that are used as a FIFO pipe for the\ninput to be transformed." - items: - description: "Transform is a unit of process whose input is transformed into an output with\nthe supplied configuration." - properties: - convert: - description: "Convert is used to cast the input into the given output type." - properties: - format: - description: "The expected input format.\n\n\n* `quantity` - parses the input as a K8s [`resource.Quantity`](https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity).\nOnly used during `string -> float64` conversions.\n* `json` - parses the input as a JSON string.\nOnly used during `string -> object` or `string -> list` conversions.\n\n\nIf this property is null, the default conversion is applied." - enum: - - "none" - - "quantity" - - "json" - type: "string" - toType: - description: "ToType is the type of the output of this transform." - enum: - - "string" - - "int" - - "int64" - - "bool" - - "float64" - - "object" - - "array" - type: "string" - required: - - "toType" - type: "object" - map: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: "Map uses the input as a key in the given map and returns the value." - type: "object" - match: - description: "Match is a more complex version of Map that matches a list of patterns." - properties: - fallbackTo: - default: "Value" - description: "Determines to what value the transform should fallback if no pattern matches." - enum: - - "Value" - - "Input" - type: "string" - fallbackValue: - description: "The fallback value that should be returned by the transform if now pattern\nmatches." - x-kubernetes-preserve-unknown-fields: true - patterns: - description: "The patterns that should be tested against the input string.\nPatterns are tested in order. The value of the first match is used as\nresult of this transform." - items: - description: "MatchTransformPattern is a transform that returns the value that matches a\npattern." - properties: - literal: - description: "Literal exactly matches the input string (case sensitive).\nIs required if `type` is `literal`." - type: "string" - regexp: - description: "Regexp to match against the input string.\nIs required if `type` is `regexp`." - type: "string" - result: - description: "The value that is used as result of the transform if the pattern matches." - x-kubernetes-preserve-unknown-fields: true - type: - default: "literal" - description: "Type specifies how the pattern matches the input.\n\n\n* `literal` - the pattern value has to exactly match (case sensitive) the\ninput string. This is the default.\n\n\n* `regexp` - the pattern treated as a regular expression against\nwhich the input string is tested. Crossplane will throw an error if the\nkey is not a valid regexp." - enum: - - "literal" - - "regexp" - type: "string" - required: - - "result" - - "type" - type: "object" - type: "array" - type: "object" - math: - description: "Math is used to transform the input via mathematical operations such as\nmultiplication." - properties: - clampMax: - description: "ClampMax makes sure that the value is not bigger than the given value." - format: "int64" - type: "integer" - clampMin: - description: "ClampMin makes sure that the value is not smaller than the given value." - format: "int64" - type: "integer" - multiply: - description: "Multiply the value." - format: "int64" - type: "integer" - type: - default: "Multiply" - description: "Type of the math transform to be run." - enum: - - "Multiply" - - "ClampMin" - - "ClampMax" - type: "string" - type: "object" - string: - description: "String is used to transform the input into a string or a different kind\nof string. Note that the input does not necessarily need to be a string." - properties: - convert: - description: "Optional conversion method to be specified.\n`ToUpper` and `ToLower` change the letter case of the input string.\n`ToBase64` and `FromBase64` perform a base64 conversion based on the input string.\n`ToJson` converts any input value into its raw JSON representation.\n`ToSha1`, `ToSha256` and `ToSha512` generate a hash value based on the input\nconverted to JSON.\n`ToAdler32` generate a addler32 hash based on the input string." - enum: - - "ToUpper" - - "ToLower" - - "ToBase64" - - "FromBase64" - - "ToJson" - - "ToSha1" - - "ToSha256" - - "ToSha512" - - "ToAdler32" - type: "string" - fmt: - description: "Format the input using a Go format string. See\nhttps://golang.org/pkg/fmt/ for details." - type: "string" - join: - description: "Join defines parameters to join a slice of values to a string." - properties: - separator: - description: "Separator defines the character that should separate the values from each\nother in the joined string." - type: "string" - required: - - "separator" - type: "object" - regexp: - description: "Extract a match from the input using a regular expression." - properties: - group: - description: "Group number to match. 0 (the default) matches the entire expression." - type: "integer" - match: - description: "Match string. May optionally include submatches, aka capture groups.\nSee https://pkg.go.dev/regexp/ for details." - type: "string" - required: - - "match" - type: "object" - trim: - description: "Trim the prefix or suffix from the input" - type: "string" - type: - default: "Format" - description: "Type of the string transform to be run." - enum: - - "Format" - - "Convert" - - "TrimPrefix" - - "TrimSuffix" - - "Regexp" - - "Join" - type: "string" - type: "object" - type: - description: "Type of the transform to be run." - enum: - - "map" - - "match" - - "math" - - "string" - - "convert" - type: "string" - required: - - "type" - type: "object" - type: "array" - type: - default: "FromCompositeFieldPath" - description: "Type sets the patching behaviour to be used. Each patch type may require\nits own fields to be set on the Patch object." - enum: - - "FromCompositeFieldPath" - - "ToCompositeFieldPath" - - "CombineFromComposite" - - "CombineToComposite" - type: "string" - type: "object" - type: "array" - policy: - description: "Policy represents the Resolve and Resolution policies which apply to\nall EnvironmentSourceReferences in EnvironmentConfigs list." - properties: - resolution: - default: "Required" - description: "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved." - enum: - - "Required" - - "Optional" - type: "string" - resolve: - description: "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile." - enum: - - "Always" - - "IfNotPresent" - type: "string" - type: "object" - type: "object" mode: default: "Resources" description: "Mode controls what type or \"mode\" of Composition will be used.\n\n\n\"Pipeline\" indicates that a Composition specifies a pipeline of\nComposition Functions, each of which is responsible for producing\ncomposed resources that Crossplane should create or update.\n\n\n\"Resources\" indicates that a Composition uses what is commonly referred\nto as \"Patch & Transform\" or P&T composition. This mode of Composition\nuses an array of resources, each a template for a composed resource.\n\n\nAll Compositions should use Pipeline mode. Resources mode is deprecated.\nResources mode won't be removed in Crossplane 1.x, and will remain the\ndefault to avoid breaking legacy Compositions. However, it's no longer\naccepting new features, and only accepting security related bug fixes." @@ -429,7 +83,7 @@ spec: description: "Patch objects are applied between composite and composed resources. Their\nbehaviour depends on the Type selected. The default Type,\nFromCompositeFieldPath, copies a value from the composite resource to\nthe composed resource, applying any defined transformers." properties: combine: - description: "Combine is the patch configuration for a CombineFromComposite,\nCombineFromEnvironment, CombineToComposite or CombineToEnvironment patch." + description: "Combine is the patch configuration for a CombineFromComposite or\nCombineToComposite patch." properties: strategy: description: "Strategy defines the strategy to use to combine the input variable values.\nCurrently only string is supported." @@ -463,7 +117,7 @@ spec: - "variables" type: "object" fromFieldPath: - description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath,\nFromEnvironmentFieldPath, ToCompositeFieldPath, ToEnvironmentFieldPath." + description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath or\nToCompositeFieldPath." type: "string" patchSetName: description: "PatchSetName to include patches from. Required when type is PatchSet." @@ -662,14 +316,10 @@ spec: description: "Type sets the patching behaviour to be used. Each patch type may require\nits own fields to be set on the Patch object." enum: - "FromCompositeFieldPath" - - "FromEnvironmentFieldPath" - "PatchSet" - "ToCompositeFieldPath" - - "ToEnvironmentFieldPath" - - "CombineFromEnvironment" - "CombineFromComposite" - "CombineToComposite" - - "CombineToEnvironment" type: "string" type: "object" type: "array" @@ -799,7 +449,7 @@ spec: description: "Patch objects are applied between composite and composed resources. Their\nbehaviour depends on the Type selected. The default Type,\nFromCompositeFieldPath, copies a value from the composite resource to\nthe composed resource, applying any defined transformers." properties: combine: - description: "Combine is the patch configuration for a CombineFromComposite,\nCombineFromEnvironment, CombineToComposite or CombineToEnvironment patch." + description: "Combine is the patch configuration for a CombineFromComposite or\nCombineToComposite patch." properties: strategy: description: "Strategy defines the strategy to use to combine the input variable values.\nCurrently only string is supported." @@ -833,7 +483,7 @@ spec: - "variables" type: "object" fromFieldPath: - description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath,\nFromEnvironmentFieldPath, ToCompositeFieldPath, ToEnvironmentFieldPath." + description: "FromFieldPath is the path of the field on the resource whose value is\nto be used as input. Required when type is FromCompositeFieldPath or\nToCompositeFieldPath." type: "string" patchSetName: description: "PatchSetName to include patches from. Required when type is PatchSet." @@ -1032,14 +682,10 @@ spec: description: "Type sets the patching behaviour to be used. Each patch type may require\nits own fields to be set on the Patch object." enum: - "FromCompositeFieldPath" - - "FromEnvironmentFieldPath" - "PatchSet" - "ToCompositeFieldPath" - - "ToEnvironmentFieldPath" - - "CombineFromEnvironment" - "CombineFromComposite" - "CombineToComposite" - - "CombineToEnvironment" type: "string" type: "object" type: "array" diff --git a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta3/emqxbrokers.yaml b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta3/emqxbrokers.yaml index a8c22777a..0b7aebb3b 100644 --- a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta3/emqxbrokers.yaml +++ b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta3/emqxbrokers.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "emqxbrokers.apps.emqx.io" spec: group: "apps.emqx.io" diff --git a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta3/emqxenterprises.yaml b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta3/emqxenterprises.yaml index 466ca0dc5..58cc79b34 100644 --- a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta3/emqxenterprises.yaml +++ b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta3/emqxenterprises.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "emqxenterprises.apps.emqx.io" spec: group: "apps.emqx.io" diff --git a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta3/emqxplugins.yaml b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta3/emqxplugins.yaml index 7e1b3f36a..c3d1dd521 100644 --- a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta3/emqxplugins.yaml +++ b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta3/emqxplugins.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "emqxplugins.apps.emqx.io" spec: group: "apps.emqx.io" diff --git a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/emqxbrokers.yaml b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/emqxbrokers.yaml index 014737c27..e4a3e03cf 100644 --- a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/emqxbrokers.yaml +++ b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/emqxbrokers.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "emqxbrokers.apps.emqx.io" spec: group: "apps.emqx.io" diff --git a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/emqxenterprises.yaml b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/emqxenterprises.yaml index f72f1b7b0..c1f856674 100644 --- a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/emqxenterprises.yaml +++ b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/emqxenterprises.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "emqxenterprises.apps.emqx.io" spec: group: "apps.emqx.io" diff --git a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/emqxplugins.yaml b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/emqxplugins.yaml index cd24d4c20..97ba02256 100644 --- a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/emqxplugins.yaml +++ b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/emqxplugins.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "emqxplugins.apps.emqx.io" spec: group: "apps.emqx.io" diff --git a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/rebalances.yaml b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/rebalances.yaml index 06f4cfc2d..cce96884b 100644 --- a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/rebalances.yaml +++ b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v1beta4/rebalances.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "rebalances.apps.emqx.io" spec: group: "apps.emqx.io" diff --git a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v2alpha1/emqxes.yaml b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v2alpha1/emqxes.yaml index 91d258454..a427c7994 100644 --- a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v2alpha1/emqxes.yaml +++ b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v2alpha1/emqxes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "emqxes.apps.emqx.io" spec: group: "apps.emqx.io" diff --git a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v2beta1/emqxes.yaml b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v2beta1/emqxes.yaml index 03e34cedd..0799ba703 100644 --- a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v2beta1/emqxes.yaml +++ b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v2beta1/emqxes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "emqxes.apps.emqx.io" spec: group: "apps.emqx.io" diff --git a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v2beta1/rebalances.yaml b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v2beta1/rebalances.yaml index ad9128bfd..9245a0755 100644 --- a/crd-catalog/emqx/emqx-operator/apps.emqx.io/v2beta1/rebalances.yaml +++ b/crd-catalog/emqx/emqx-operator/apps.emqx.io/v2beta1/rebalances.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "rebalances.apps.emqx.io" spec: group: "apps.emqx.io" diff --git a/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/clustersecretstores.yaml b/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/clustersecretstores.yaml index c776c1e0b..8c8370ce5 100644 --- a/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/clustersecretstores.yaml +++ b/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/clustersecretstores.yaml @@ -1254,6 +1254,9 @@ spec: type: "string" projectSlug: type: "string" + recursive: + default: false + type: "boolean" secretsPath: default: "/" type: "string" diff --git a/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/secretstores.yaml b/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/secretstores.yaml index f544cfd80..4b03ca655 100644 --- a/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/secretstores.yaml +++ b/crd-catalog/external-secrets/external-secrets/external-secrets.io/v1beta1/secretstores.yaml @@ -1254,6 +1254,9 @@ spec: type: "string" projectSlug: type: "string" + recursive: + default: false + type: "boolean" secretsPath: default: "/" type: "string" diff --git a/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/canaries.yaml b/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/canaries.yaml index a7997f2cc..452dee399 100644 --- a/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/canaries.yaml +++ b/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/canaries.yaml @@ -11443,6 +11443,7 @@ spec: type: "array" replicas: default: 1 + description: "Replicas pauses the canary if = 0." type: "integer" restic: items: diff --git a/crd-catalog/fluid-cloudnative/fluid/data.fluid.io/v1alpha1/jindoruntimes.yaml b/crd-catalog/fluid-cloudnative/fluid/data.fluid.io/v1alpha1/jindoruntimes.yaml index 6c4b560a8..7d1505be4 100644 --- a/crd-catalog/fluid-cloudnative/fluid/data.fluid.io/v1alpha1/jindoruntimes.yaml +++ b/crd-catalog/fluid-cloudnative/fluid/data.fluid.io/v1alpha1/jindoruntimes.yaml @@ -109,6 +109,17 @@ spec: imagePullPolicy: description: "One of the three policies: `Always`, `IfNotPresent`, `Never`" type: "string" + imagePullSecrets: + description: "ImagePullSecrets that will be used to pull images" + items: + description: "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace." + properties: + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + type: "object" + x-kubernetes-map-type: "atomic" + type: "array" imageTag: description: "Image Tag for Jindo Fuse(e.g. 2.3.0-SNAPSHOT)" type: "string" @@ -219,6 +230,17 @@ spec: hadoopConfig: description: "Name of the configMap used to support HDFS configurations when using HDFS as Jindo's UFS. The configMap\nmust be in the same namespace with the JindoRuntime. The configMap should contain user-specific HDFS conf files in it.\nFor now, only \"hdfs-site.xml\" and \"core-site.xml\" are supported. It must take the filename of the conf file as the key and content\nof the file as the value." type: "string" + imagePullSecrets: + description: "ImagePullSecrets that will be used to pull images" + items: + description: "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace." + properties: + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + type: "object" + x-kubernetes-map-type: "atomic" + type: "array" jindoVersion: description: "The version information that instructs fluid to orchestrate a particular version of Jindo." properties: @@ -252,6 +274,17 @@ spec: type: "string" description: "Environment variables that will be used by Jindo component.
" type: "object" + imagePullSecrets: + description: "ImagePullSecrets that will be used to pull images" + items: + description: "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace." + properties: + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + type: "object" + x-kubernetes-map-type: "atomic" + type: "array" labels: additionalProperties: type: "string" @@ -2463,6 +2496,17 @@ spec: type: "string" description: "Environment variables that will be used by Jindo component.
" type: "object" + imagePullSecrets: + description: "ImagePullSecrets that will be used to pull images" + items: + description: "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the same namespace." + properties: + name: + description: "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\nTODO: Add other useful fields. apiVersion, kind, uid?" + type: "string" + type: "object" + x-kubernetes-map-type: "atomic" + type: "array" labels: additionalProperties: type: "string" diff --git a/crd-catalog/grafana-operator/grafana-operator/grafana.integreatly.org/v1beta1/grafanafolders.yaml b/crd-catalog/grafana-operator/grafana-operator/grafana.integreatly.org/v1beta1/grafanafolders.yaml index 0ad29aeb5..653620ded 100644 --- a/crd-catalog/grafana-operator/grafana-operator/grafana.integreatly.org/v1beta1/grafanafolders.yaml +++ b/crd-catalog/grafana-operator/grafana-operator/grafana.integreatly.org/v1beta1/grafanafolders.yaml @@ -39,10 +39,10 @@ spec: description: "GrafanaFolderSpec defines the desired state of GrafanaFolder" properties: allowCrossNamespaceImport: - description: "allow to import this resources from an operator in a different namespace" + description: "Enable matching Grafana instances outside the current namespace" type: "boolean" instanceSelector: - description: "selects Grafanas for import" + description: "Selects Grafanas for import" properties: matchExpressions: description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." @@ -84,22 +84,31 @@ spec: description: "UID of the folder in which the current folder should be created" type: "string" permissions: - description: "raw json with folder permissions" + description: "Raw json with folder permissions, potentially exported from Grafana" type: "string" resyncPeriod: default: "5m" - description: "how often the folder is synced, defaults to 5m if not set" + description: "How often the folder is synced, defaults to 5m if not set" format: "duration" pattern: "^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" type: "string" title: + description: "Display name of the folder in Grafana" type: "string" + uid: + description: "Manually specify the UID the Folder is created with" + type: "string" + x-kubernetes-validations: + - message: "spec.uid is immutable" + rule: "self == oldSelf" required: - "instanceSelector" type: "object" x-kubernetes-validations: - message: "Only one of parentFolderUID or parentFolderRef can be set" rule: "(has(self.parentFolderUID) && !(has(self.parentFolderRef))) || (has(self.parentFolderRef) && !(has(self.parentFolderUID))) || !(has(self.parentFolderRef) && (has(self.parentFolderUID)))" + - message: "spec.uid is immutable" + rule: "((!has(oldSelf.uid) && !has(self.uid)) || (has(oldSelf.uid) && has(self.uid)))" status: description: "GrafanaFolderStatus defines the observed state of GrafanaFolder" properties: diff --git a/crd-catalog/grafana/tempo-operator/tempo.grafana.com/v1alpha1/tempostacks.yaml b/crd-catalog/grafana/tempo-operator/tempo.grafana.com/v1alpha1/tempostacks.yaml index c68ad5740..3a2e56364 100644 --- a/crd-catalog/grafana/tempo-operator/tempo.grafana.com/v1alpha1/tempostacks.yaml +++ b/crd-catalog/grafana/tempo-operator/tempo.grafana.com/v1alpha1/tempostacks.yaml @@ -904,6 +904,7 @@ spec: enum: - "ingress" - "route" + - "" type: "string" type: "object" required: @@ -1485,6 +1486,7 @@ spec: enum: - "ingress" - "route" + - "" type: "string" type: "object" monitorTab: diff --git a/crd-catalog/gravitational/teleport/resources.teleport.dev/v3/teleportoidcconnectors.yaml b/crd-catalog/gravitational/teleport/resources.teleport.dev/v3/teleportoidcconnectors.yaml index 817447f9f..2e48019dd 100644 --- a/crd-catalog/gravitational/teleport/resources.teleport.dev/v3/teleportoidcconnectors.yaml +++ b/crd-catalog/gravitational/teleport/resources.teleport.dev/v3/teleportoidcconnectors.yaml @@ -112,6 +112,10 @@ spec: enabled: description: "Enabled specified whether this OIDC connector supports MFA checks. Defaults to false." type: "boolean" + max_age: + description: "MaxAge is the amount of time in nanoseconds that an IdP session is valid for. Defaults to 0 to always force re-authentication for MFA checks. This should only be set to a non-zero value if the IdP is setup to perform MFA checks on top of active user sessions." + format: "duration" + type: "string" prompt: description: "Prompt is an optional OIDC prompt. An empty string omits prompt. If not specified, it defaults to select_account for backwards compatibility." type: "string" diff --git a/crd-catalog/gravitational/teleport/resources.teleport.dev/v5/teleportroles.yaml b/crd-catalog/gravitational/teleport/resources.teleport.dev/v5/teleportroles.yaml index 2c257b8b9..20c2a233e 100644 --- a/crd-catalog/gravitational/teleport/resources.teleport.dev/v5/teleportroles.yaml +++ b/crd-catalog/gravitational/teleport/resources.teleport.dev/v5/teleportroles.yaml @@ -910,7 +910,7 @@ spec: description: "CreateDesktopUser allows users to be automatically created on a Windows desktop" type: "boolean" create_host_user: - description: "CreateHostUser allows users to be automatically created on a host" + description: "Deprecated: use CreateHostUserMode instead." type: "boolean" create_host_user_default_shell: description: "CreateHostUserDefaultShell is used to configure the default shell for newly provisioned host users." diff --git a/crd-catalog/gravitational/teleport/resources.teleport.dev/v6/teleportroles.yaml b/crd-catalog/gravitational/teleport/resources.teleport.dev/v6/teleportroles.yaml index 4a7625d11..6a626d5a5 100644 --- a/crd-catalog/gravitational/teleport/resources.teleport.dev/v6/teleportroles.yaml +++ b/crd-catalog/gravitational/teleport/resources.teleport.dev/v6/teleportroles.yaml @@ -910,7 +910,7 @@ spec: description: "CreateDesktopUser allows users to be automatically created on a Windows desktop" type: "boolean" create_host_user: - description: "CreateHostUser allows users to be automatically created on a host" + description: "Deprecated: use CreateHostUserMode instead." type: "boolean" create_host_user_default_shell: description: "CreateHostUserDefaultShell is used to configure the default shell for newly provisioned host users." diff --git a/crd-catalog/hashicorp/terraform-cloud-operator/app.terraform.io/v1alpha2/modules.yaml b/crd-catalog/hashicorp/terraform-cloud-operator/app.terraform.io/v1alpha2/modules.yaml index ddef481cc..652cee326 100644 --- a/crd-catalog/hashicorp/terraform-cloud-operator/app.terraform.io/v1alpha2/modules.yaml +++ b/crd-catalog/hashicorp/terraform-cloud-operator/app.terraform.io/v1alpha2/modules.yaml @@ -157,7 +157,7 @@ spec: - "status" type: "object" destroyRunID: - description: "Workspace Destroy Run status." + description: "Workspace Destroy Run ID." type: "string" observedGeneration: description: "Real world state generation." diff --git a/crd-catalog/hashicorp/terraform-cloud-operator/app.terraform.io/v1alpha2/workspaces.yaml b/crd-catalog/hashicorp/terraform-cloud-operator/app.terraform.io/v1alpha2/workspaces.yaml index a33ffcc07..2dc058aea 100644 --- a/crd-catalog/hashicorp/terraform-cloud-operator/app.terraform.io/v1alpha2/workspaces.yaml +++ b/crd-catalog/hashicorp/terraform-cloud-operator/app.terraform.io/v1alpha2/workspaces.yaml @@ -54,6 +54,15 @@ spec: description: "Define either change will be applied automatically(auto) or require an operator to confirm(manual).\nMust be one of the following values: `auto`, `manual`.\nDefault: `manual`.\nMore information:\n - https://developer.hashicorp.com/terraform/cloud-docs/workspaces/settings#auto-apply-and-manual-apply" pattern: "^(auto|manual)$" type: "string" + deletionPolicy: + default: "retain" + description: "The Deletion Policy specifies the behavior of the custom resource and its associated workspace when the custom resource is deleted.\n- `retain`: When the custom resource is deleted, the associated workspace is retained.\n- `soft`: Attempts to delete the associated workspace only if it does not contain any managed resources.\n- `destroy`: Executes a destroy operation to remove all resources managed by the associated workspace. Once the destruction of these resources is successful, the workspace itself is deleted, followed by the removal of the custom resource.\n- `force`: Forcefully and immediately deletes the workspace and the custom resource.\nDefault: `retain`." + enum: + - "retain" + - "soft" + - "destroy" + - "force" + type: "string" description: description: "Workspace description." minLength: 1 @@ -489,6 +498,9 @@ spec: defaultProjectID: description: "Default organization project ID." type: "string" + destroyRunID: + description: "Workspace Destroy Run ID." + type: "string" observedGeneration: description: "Real world state generation." format: "int64" diff --git a/crd-catalog/isindir/sops-secrets-operator/isindir.github.com/v1alpha1/sopssecrets.yaml b/crd-catalog/isindir/sops-secrets-operator/isindir.github.com/v1alpha1/sopssecrets.yaml index 5cc5701d6..35de33455 100644 --- a/crd-catalog/isindir/sops-secrets-operator/isindir.github.com/v1alpha1/sopssecrets.yaml +++ b/crd-catalog/isindir/sops-secrets-operator/isindir.github.com/v1alpha1/sopssecrets.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "sopssecrets.isindir.github.com" spec: group: "isindir.github.com" diff --git a/crd-catalog/isindir/sops-secrets-operator/isindir.github.com/v1alpha2/sopssecrets.yaml b/crd-catalog/isindir/sops-secrets-operator/isindir.github.com/v1alpha2/sopssecrets.yaml index 4c2609083..6f04c3e1b 100644 --- a/crd-catalog/isindir/sops-secrets-operator/isindir.github.com/v1alpha2/sopssecrets.yaml +++ b/crd-catalog/isindir/sops-secrets-operator/isindir.github.com/v1alpha2/sopssecrets.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "sopssecrets.isindir.github.com" spec: group: "isindir.github.com" diff --git a/crd-catalog/isindir/sops-secrets-operator/isindir.github.com/v1alpha3/sopssecrets.yaml b/crd-catalog/isindir/sops-secrets-operator/isindir.github.com/v1alpha3/sopssecrets.yaml index cf40c9def..5ca4a1baf 100644 --- a/crd-catalog/isindir/sops-secrets-operator/isindir.github.com/v1alpha3/sopssecrets.yaml +++ b/crd-catalog/isindir/sops-secrets-operator/isindir.github.com/v1alpha3/sopssecrets.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "sopssecrets.isindir.github.com" spec: group: "isindir.github.com" diff --git a/crd-catalog/kiali/kiali-operator/kiali.io/v1alpha1/kialis.yaml b/crd-catalog/kiali/kiali-operator/kiali.io/v1alpha1/kialis.yaml index 0e2e2365c..1b324f621 100644 --- a/crd-catalog/kiali/kiali-operator/kiali.io/v1alpha1/kialis.yaml +++ b/crd-catalog/kiali/kiali-operator/kiali.io/v1alpha1/kialis.yaml @@ -174,6 +174,21 @@ spec: description: "Custom annotations to be created on the Kiali ConfigMap." type: "object" x-kubernetes-preserve-unknown-fields: true + custom_envs: + description: "Defines additional environment variables to be set in the Kiali server pod. This is typically used for (but not limited to) setting proxy environment variables such as HTTP_PROXY, HTTPS_PROXY, and/or NO_PROXY." + items: + properties: + name: + description: "The name of the custom environment variable." + type: "string" + value: + description: "The value of the custom environment variable." + type: "string" + required: + - "name" + - "value" + type: "object" + type: "array" custom_secrets: description: "Defines additional secrets that are to be mounted in the Kiali pod.\n\nThese are useful to contain certs that are used by Kiali to securely connect to third party systems\n(for example, see `external_services.tracing.auth.ca_file`).\n\nThese secrets must be created by an external mechanism. Kiali will not generate these secrets; it\nis assumed these secrets are externally managed. You can define 0, 1, or more secrets.\nAn example configuration is,\n```\ncustom_secrets:\n- name: mysecret\n mount: /mysecret-path\n- name: my-other-secret\n mount: /my-other-secret-location\n optional: true\n```\n" items: @@ -834,6 +849,9 @@ spec: org_id: description: "The Id of the organization that the dashboard is in. Default to 1 (the first and default organization)." type: "string" + url_format: + description: "The URL format for the external url. Can be 'jaeger' or 'grafana'. Default to 'grafana'. Grafana will need a Grafana url in the Grafana settings." + type: "string" type: "object" use_grpc: description: "Set to true in order to enable GRPC connections between Kiali and Jaeger which will speed up the queries. In some setups you might not be able to use GRPC (e.g. if Jaeger is behind some reverse proxy that doesn't support it). If not specified, this will defalt to 'true'." diff --git a/crd-catalog/knative/operator/operator.knative.dev/v1beta1/knativeservings.yaml b/crd-catalog/knative/operator/operator.knative.dev/v1beta1/knativeservings.yaml index 2b44742a7..11e994b1a 100644 --- a/crd-catalog/knative/operator/operator.knative.dev/v1beta1/knativeservings.yaml +++ b/crd-catalog/knative/operator/operator.knative.dev/v1beta1/knativeservings.yaml @@ -775,11 +775,21 @@ spec: type: "integer" type: "object" tls: + nullable: true + oneOf: + - required: + - "mode" + - "credentialName" + - required: + - "httpsRedirect" properties: credentialName: description: "TLS certificate name." format: "string" type: "string" + httpsRedirect: + description: "If set to true, the load balancer will send a 301 redirect to HTTPS for all HTTP requests. Should be used only for HTTP listener, is mutually exclusive with all other TLS options." + type: "boolean" mode: description: "TLS mode can be SIMPLE, MUTUAL, ISTIO_MUTUAL." format: "string" @@ -824,11 +834,21 @@ spec: type: "integer" type: "object" tls: + nullable: true + oneOf: + - required: + - "mode" + - "credentialName" + - required: + - "httpsRedirect" properties: credentialName: description: "TLS certificate name." format: "string" type: "string" + httpsRedirect: + description: "If set to true, the load balancer will send a 301 redirect to HTTPS for all HTTP requests. Should be used only for HTTP listener, is mutually exclusive with all other TLS options." + type: "boolean" mode: description: "TLS mode can be SIMPLE, MUTUAL, ISTIO_MUTUAL." format: "string" diff --git a/crd-catalog/kube-logging/logging-operator/logging-extensions.banzaicloud.io/v1alpha1/eventtailers.yaml b/crd-catalog/kube-logging/logging-operator/logging-extensions.banzaicloud.io/v1alpha1/eventtailers.yaml index cec7e0e2f..7c74234f7 100644 --- a/crd-catalog/kube-logging/logging-operator/logging-extensions.banzaicloud.io/v1alpha1/eventtailers.yaml +++ b/crd-catalog/kube-logging/logging-operator/logging-extensions.banzaicloud.io/v1alpha1/eventtailers.yaml @@ -408,6 +408,14 @@ spec: type: "object" pvc: properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" source: properties: claimName: diff --git a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/fluentbitagents.yaml b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/fluentbitagents.yaml index ebd8855ab..ed7d7f5f8 100644 --- a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/fluentbitagents.yaml +++ b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/fluentbitagents.yaml @@ -550,6 +550,14 @@ spec: type: "object" pvc: properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" source: properties: claimName: @@ -697,6 +705,87 @@ spec: tag: type: "string" type: "object" + bufferVolumeLivenessProbe: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + failureThreshold: + format: "int32" + type: "integer" + grpc: + properties: + port: + format: "int32" + type: "integer" + service: + default: "" + type: "string" + required: + - "port" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + required: + - "name" + - "value" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + required: + - "port" + type: "object" + initialDelaySeconds: + format: "int32" + type: "integer" + periodSeconds: + format: "int32" + type: "integer" + successThreshold: + format: "int32" + type: "integer" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + required: + - "port" + type: "object" + terminationGracePeriodSeconds: + format: "int64" + type: "integer" + timeoutSeconds: + format: "int32" + type: "integer" + type: "object" bufferVolumeMetrics: properties: interval: @@ -1933,6 +2022,14 @@ spec: type: "object" pvc: properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" source: properties: claimName: @@ -2119,6 +2216,14 @@ spec: type: "object" pvc: properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" source: properties: claimName: diff --git a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/loggings.yaml b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/loggings.yaml index b25015b5d..2ba5064ba 100644 --- a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/loggings.yaml +++ b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/loggings.yaml @@ -1578,6 +1578,14 @@ spec: type: "object" pvc: properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" source: properties: claimName: @@ -1725,6 +1733,87 @@ spec: tag: type: "string" type: "object" + bufferVolumeLivenessProbe: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + failureThreshold: + format: "int32" + type: "integer" + grpc: + properties: + port: + format: "int32" + type: "integer" + service: + default: "" + type: "string" + required: + - "port" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + required: + - "name" + - "value" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + required: + - "port" + type: "object" + initialDelaySeconds: + format: "int32" + type: "integer" + periodSeconds: + format: "int32" + type: "integer" + successThreshold: + format: "int32" + type: "integer" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + required: + - "port" + type: "object" + terminationGracePeriodSeconds: + format: "int64" + type: "integer" + timeoutSeconds: + format: "int32" + type: "integer" + type: "object" bufferVolumeMetrics: properties: interval: @@ -2961,6 +3050,14 @@ spec: type: "object" pvc: properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" source: properties: claimName: @@ -3147,6 +3244,14 @@ spec: type: "object" pvc: properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" source: properties: claimName: @@ -4157,6 +4262,14 @@ spec: type: "object" pvc: properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" source: properties: claimName: @@ -4304,6 +4417,87 @@ spec: tag: type: "string" type: "object" + bufferVolumeLivenessProbe: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + failureThreshold: + format: "int32" + type: "integer" + grpc: + properties: + port: + format: "int32" + type: "integer" + service: + default: "" + type: "string" + required: + - "port" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + required: + - "name" + - "value" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + required: + - "port" + type: "object" + initialDelaySeconds: + format: "int32" + type: "integer" + periodSeconds: + format: "int32" + type: "integer" + successThreshold: + format: "int32" + type: "integer" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + required: + - "port" + type: "object" + terminationGracePeriodSeconds: + format: "int64" + type: "integer" + timeoutSeconds: + format: "int32" + type: "integer" + type: "object" bufferVolumeMetrics: properties: interval: @@ -4855,6 +5049,14 @@ spec: type: "object" pvc: properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" source: properties: claimName: @@ -5060,6 +5262,14 @@ spec: type: "object" pvc: properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" source: properties: claimName: @@ -8006,6 +8216,14 @@ spec: type: "object" pvc: properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" source: properties: claimName: @@ -12393,6 +12611,14 @@ spec: type: "object" pvc: properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" source: properties: claimName: @@ -13007,6 +13233,120 @@ spec: tag: type: "string" type: "object" + bufferVolumeMetricsLivenessProbe: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + failureThreshold: + format: "int32" + type: "integer" + grpc: + properties: + port: + format: "int32" + type: "integer" + service: + default: "" + type: "string" + required: + - "port" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + required: + - "name" + - "value" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + required: + - "port" + type: "object" + initialDelaySeconds: + format: "int32" + type: "integer" + periodSeconds: + format: "int32" + type: "integer" + successThreshold: + format: "int32" + type: "integer" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + required: + - "port" + type: "object" + terminationGracePeriodSeconds: + format: "int64" + type: "integer" + timeoutSeconds: + format: "int32" + type: "integer" + type: "object" + bufferVolumeMetricsResources: + properties: + claims: + items: + properties: + name: + type: "string" + request: + type: "string" + required: + - "name" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" + limits: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" + x-kubernetes-int-or-string: true + type: "object" + requests: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" + x-kubernetes-int-or-string: true + type: "object" + type: "object" bufferVolumeMetricsService: properties: metadata: diff --git a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/nodeagents.yaml b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/nodeagents.yaml index e3810e8e8..39e5eb14b 100644 --- a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/nodeagents.yaml +++ b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/nodeagents.yaml @@ -120,6 +120,14 @@ spec: type: "object" pvc: properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" source: properties: claimName: @@ -4507,6 +4515,14 @@ spec: type: "object" pvc: properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" source: properties: claimName: diff --git a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/syslogngclusteroutputs.yaml b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/syslogngclusteroutputs.yaml index c84173666..da9f06c5e 100644 --- a/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/syslogngclusteroutputs.yaml +++ b/crd-catalog/kube-logging/logging-operator/logging.banzaicloud.io/v1beta1/syslogngclusteroutputs.yaml @@ -2052,6 +2052,8 @@ spec: required: - "url" type: "object" + protected: + type: "boolean" redis: properties: auth: diff --git a/crd-catalog/kubeedge/kubeedge/devices.kubeedge.io/v1beta1/devices.yaml b/crd-catalog/kubeedge/kubeedge/devices.kubeedge.io/v1beta1/devices.yaml index 325ea7c0e..7505c9906 100644 --- a/crd-catalog/kubeedge/kubeedge/devices.kubeedge.io/v1beta1/devices.yaml +++ b/crd-catalog/kubeedge/kubeedge/devices.kubeedge.io/v1beta1/devices.yaml @@ -36,6 +36,24 @@ spec: description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?" type: "string" type: "object" + methods: + description: "List of methods of device. methods list item must be unique by method.Name." + items: + description: "DeviceMethod describes the specifics all the methods of the device." + properties: + description: + description: "Define the description of device method." + type: "string" + name: + description: "Required: The device method name to be accessed. It must be unique." + type: "string" + propertyNames: + description: "PropertyNames are list of device properties that device methods can control. Required: A device method can control multiple device properties." + items: + type: "string" + type: "array" + type: "object" + type: "array" nodeName: description: "NodeName is a request to schedule this device onto a specific node. If it is non-empty, the scheduler simply schedules this device onto that node, assuming that it fits resource requirements." type: "string" diff --git a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1alpha1/cohorts.yaml b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1alpha1/cohorts.yaml index f67bdb4f7..46c59a0ad 100644 --- a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1alpha1/cohorts.yaml +++ b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1alpha1/cohorts.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "cohorts.kueue.x-k8s.io" spec: group: "kueue.x-k8s.io" diff --git a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/admissionchecks.yaml b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/admissionchecks.yaml index 88c42eaf5..541427216 100644 --- a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/admissionchecks.yaml +++ b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/admissionchecks.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "admissionchecks.kueue.x-k8s.io" spec: group: "kueue.x-k8s.io" diff --git a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/clusterqueues.yaml b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/clusterqueues.yaml index a2fea9ecf..77224944b 100644 --- a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/clusterqueues.yaml +++ b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/clusterqueues.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "clusterqueues.kueue.x-k8s.io" spec: group: "kueue.x-k8s.io" diff --git a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/localqueues.yaml b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/localqueues.yaml index 9edbb39db..a660e9273 100644 --- a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/localqueues.yaml +++ b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/localqueues.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "localqueues.kueue.x-k8s.io" spec: group: "kueue.x-k8s.io" diff --git a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/multikueueclusters.yaml b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/multikueueclusters.yaml new file mode 100644 index 000000000..5acc1328f --- /dev/null +++ b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/multikueueclusters.yaml @@ -0,0 +1,104 @@ +apiVersion: "apiextensions.k8s.io/v1" +kind: "CustomResourceDefinition" +metadata: + annotations: + controller-gen.kubebuilder.io/version: "v0.16.4" + name: "multikueueclusters.kueue.x-k8s.io" +spec: + group: "kueue.x-k8s.io" + names: + kind: "MultiKueueCluster" + listKind: "MultiKueueClusterList" + plural: "multikueueclusters" + singular: "multikueuecluster" + scope: "Cluster" + versions: + - name: "v1beta1" + schema: + openAPIV3Schema: + description: "MultiKueueCluster is the Schema for the multikueue API" + properties: + apiVersion: + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + type: "string" + metadata: + type: "object" + spec: + properties: + kubeConfig: + description: "Information how to connect to the cluster." + properties: + location: + description: "Location of the KubeConfig.\n\nIf LocationType is Secret then Location is the name of the secret inside the namespace in\nwhich the kueue controller manager is running. The config should be stored in the \"kubeconfig\" key." + type: "string" + locationType: + default: "Secret" + description: "Type of the KubeConfig location." + enum: + - "Secret" + - "Path" + type: "string" + required: + - "location" + - "locationType" + type: "object" + required: + - "kubeConfig" + type: "object" + status: + properties: + conditions: + items: + description: "Condition contains details for one aspect of the current state of this API Resource." + properties: + lastTransitionTime: + description: "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable." + format: "date-time" + type: "string" + message: + description: "message is a human readable message indicating details about the transition.\nThis may be an empty string." + maxLength: 32768 + type: "string" + observedGeneration: + description: "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance." + format: "int64" + minimum: 0.0 + type: "integer" + reason: + description: "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nProducers of specific condition types may define expected values and meanings for this field,\nand whether the values are considered a guaranteed API.\nThe value should be a CamelCase string.\nThis field may not be empty." + maxLength: 1024 + minLength: 1 + pattern: "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$" + type: "string" + status: + description: "status of the condition, one of True, False, Unknown." + enum: + - "True" + - "False" + - "Unknown" + type: "string" + type: + description: "type of condition in CamelCase or in foo.example.com/CamelCase." + maxLength: 316 + pattern: "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$" + type: "string" + required: + - "lastTransitionTime" + - "message" + - "reason" + - "status" + - "type" + type: "object" + type: "array" + x-kubernetes-list-map-keys: + - "type" + x-kubernetes-list-type: "map" + type: "object" + type: "object" + served: true + storage: true + subresources: + status: {} diff --git a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/multikueueconfigs.yaml b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/multikueueconfigs.yaml new file mode 100644 index 000000000..0cb93b3bc --- /dev/null +++ b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/multikueueconfigs.yaml @@ -0,0 +1,45 @@ +apiVersion: "apiextensions.k8s.io/v1" +kind: "CustomResourceDefinition" +metadata: + annotations: + controller-gen.kubebuilder.io/version: "v0.16.4" + name: "multikueueconfigs.kueue.x-k8s.io" +spec: + group: "kueue.x-k8s.io" + names: + kind: "MultiKueueConfig" + listKind: "MultiKueueConfigList" + plural: "multikueueconfigs" + singular: "multikueueconfig" + scope: "Cluster" + versions: + - name: "v1beta1" + schema: + openAPIV3Schema: + description: "MultiKueueConfig is the Schema for the multikueue API" + properties: + apiVersion: + description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" + type: "string" + metadata: + type: "object" + spec: + description: "MultiKueueConfigSpec defines the desired state of MultiKueueConfig" + properties: + clusters: + description: "List of MultiKueueClusters names where the workloads from the ClusterQueue should be distributed." + items: + type: "string" + maxItems: 10 + minItems: 1 + type: "array" + x-kubernetes-list-type: "set" + required: + - "clusters" + type: "object" + type: "object" + served: true + storage: true diff --git a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/provisioningrequestconfigs.yaml b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/provisioningrequestconfigs.yaml index e96bd518c..ae23742b4 100644 --- a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/provisioningrequestconfigs.yaml +++ b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/provisioningrequestconfigs.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "provisioningrequestconfigs.kueue.x-k8s.io" spec: group: "kueue.x-k8s.io" diff --git a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/resourceflavors.yaml b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/resourceflavors.yaml index ce6c229a0..dc8c30ce8 100644 --- a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/resourceflavors.yaml +++ b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/resourceflavors.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "resourceflavors.kueue.x-k8s.io" spec: group: "kueue.x-k8s.io" @@ -104,6 +104,9 @@ spec: rule: "self.all(x, has(x.operator) && x.operator == 'Exists' ? !has(x.value) : true)" - message: "supported taint effect values: 'NoSchedule', 'PreferNoSchedule', 'NoExecute'" rule: "self.all(x, !has(x.effect) || x.effect in ['NoSchedule', 'PreferNoSchedule', 'NoExecute'])" + topologyName: + description: "topologyName indicates topology for the TAS ResourceFlavor.\nWhen specified, it enables scraping of the topology information from the\nnodes matching to the Resource Flavor node labels." + type: "string" type: "object" type: "object" served: true diff --git a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/workloadpriorityclasses.yaml b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/workloadpriorityclasses.yaml index b4d5beb36..217bc8a84 100644 --- a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/workloadpriorityclasses.yaml +++ b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/workloadpriorityclasses.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "workloadpriorityclasses.kueue.x-k8s.io" spec: group: "kueue.x-k8s.io" diff --git a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/workloads.yaml b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/workloads.yaml index 9220bb435..8f50da978 100644 --- a/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/workloads.yaml +++ b/crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/workloads.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "workloads.kueue.x-k8s.io" spec: group: "kueue.x-k8s.io" @@ -4807,6 +4807,16 @@ spec: - "containers" type: "object" type: "object" + topologyRequest: + description: "topologyRequest defines the topology request for the PodSet." + properties: + preferred: + description: "preferred indicates the topology level preferred by the PodSet, as\nindicated by the `kueue.x-k8s.io/podset-preferred-topology` PodSet\nannotation." + type: "string" + required: + description: "required indicates the topology level required by the PodSet, as\nindicated by the `kueue.x-k8s.io/podset-required-topology` PodSet\nannotation." + type: "string" + type: "object" required: - "count" - "template" @@ -4891,6 +4901,43 @@ spec: x-kubernetes-int-or-string: true description: "resourceUsage keeps track of the total resources all the pods in the podset need to run.\n\nBeside what is provided in podSet's specs, this calculation takes into account\nthe LimitRange defaults and RuntimeClass overheads at the moment of admission.\nThis field will not change in case of quota reclaim." type: "object" + topologyAssignment: + description: "topologyAssignment indicates the topology assignment divided into\ntopology domains corresponding to the lowest level of the topology.\nThe assignment specifies the number of Pods to be scheduled per topology\ndomain and specifies the node selectors for each topology domain, in the\nfollowing way: the node selector keys are specified by the levels field\n(same for all domains), and the corresponding node selector value is\nspecified by the domains.values subfield.\n\nExample:\n\ntopologyAssignment:\n levels:\n - cloud.provider.com/topology-block\n - cloud.provider.com/topology-rack\n domains:\n - values: [block-1, rack-1]\n count: 4\n - values: [block-1, rack-2]\n count: 2\n\nHere:\n- 4 Pods are to be scheduled on nodes matching the node selector:\n cloud.provider.com/topology-block: block-1\n cloud.provider.com/topology-rack: rack-1\n- 2 Pods are to be scheduled on nodes matching the node selector:\n cloud.provider.com/topology-block: block-1\n cloud.provider.com/topology-rack: rack-2" + properties: + domains: + description: "domains is a list of topology assignments split by topology domains at\nthe lowest level of the topology." + items: + properties: + count: + description: "count indicates the number of Pods to be scheduled in the topology\ndomain indicated by the values field." + format: "int32" + minimum: 1.0 + type: "integer" + values: + description: "values is an ordered list of node selector values describing a topology\ndomain. The values correspond to the consecutive topology levels, from\nthe highest to the lowest." + items: + type: "string" + maxItems: 8 + minItems: 1 + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "count" + - "values" + type: "object" + type: "array" + levels: + description: "levels is an ordered list of keys denoting the levels of the assigned\ntopology (i.e. node label keys), from the highest to the lowest level of\nthe topology." + items: + type: "string" + maxItems: 8 + minItems: 1 + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "domains" + - "levels" + type: "object" required: - "name" type: "object" @@ -5078,6 +5125,33 @@ spec: format: "date-time" type: "string" type: "object" + resourceRequests: + description: "resourceRequests provides a detailed view of the resources that were\nrequested by a non-admitted workload when it was considered for admission.\nIf admission is non-null, resourceRequests will be empty because\nadmission.resourceUsage contains the detailed information." + items: + properties: + name: + default: "main" + description: "name is the name of the podSet. It should match one of the names in .spec.podSets." + maxLength: 63 + pattern: "^(?i)[a-z0-9]([-a-z0-9]*[a-z0-9])?$" + type: "string" + resources: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" + x-kubernetes-int-or-string: true + description: "resources is the total resources all the pods in the podset need to run.\n\nBeside what is provided in podSet's specs, this value also takes into account\nthe LimitRange defaults and RuntimeClass overheads at the moment of consideration\nand the application of resource.excludeResourcePrefixes and resource.transformations." + type: "object" + required: + - "name" + type: "object" + maxItems: 8 + type: "array" + x-kubernetes-list-map-keys: + - "name" + x-kubernetes-list-type: "map" type: "object" type: "object" x-kubernetes-validations: diff --git a/crd-catalog/kubernetes-sigs/network-policy-api/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies.yaml b/crd-catalog/kubernetes-sigs/network-policy-api/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies.yaml index 0c67b60b5..e7b700dcc 100644 --- a/crd-catalog/kubernetes-sigs/network-policy-api/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies.yaml +++ b/crd-catalog/kubernetes-sigs/network-policy-api/policy.networking.k8s.io/v1alpha1/adminnetworkpolicies.yaml @@ -105,6 +105,7 @@ spec: type: "object" type: "object" maxItems: 100 + minItems: 1 type: "array" to: description: "To is the List of destinations whose traffic this rule applies to.\nIf any AdminNetworkPolicyEgressPeer matches the destination of outgoing\ntraffic then the specified action is applied.\nThis field must be defined and contain at least one item.\n\n\nSupport: Core" @@ -411,6 +412,7 @@ spec: type: "object" type: "object" maxItems: 100 + minItems: 1 type: "array" required: - "action" diff --git a/crd-catalog/kubernetes-sigs/network-policy-api/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies.yaml b/crd-catalog/kubernetes-sigs/network-policy-api/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies.yaml index 64a76915f..737130a6c 100644 --- a/crd-catalog/kubernetes-sigs/network-policy-api/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies.yaml +++ b/crd-catalog/kubernetes-sigs/network-policy-api/policy.networking.k8s.io/v1alpha1/baselineadminnetworkpolicies.yaml @@ -101,6 +101,7 @@ spec: type: "object" type: "object" maxItems: 100 + minItems: 1 type: "array" to: description: "To is the list of destinations whose traffic this rule applies to.\nIf any BaselineAdminNetworkPolicyEgressPeer matches the destination of outgoing\ntraffic then the specified action is applied.\nThis field must be defined and contain at least one item.\n\n\nSupport: Core" @@ -406,6 +407,7 @@ spec: type: "object" type: "object" maxItems: 100 + minItems: 1 type: "array" required: - "action" diff --git a/crd-catalog/kubernetes-sigs/security-profiles-operator/security-profiles-operator.x-k8s.io/v1alpha1/apparmorprofiles.yaml b/crd-catalog/kubernetes-sigs/security-profiles-operator/security-profiles-operator.x-k8s.io/v1alpha1/apparmorprofiles.yaml index 13830112e..aeeca6ea7 100644 --- a/crd-catalog/kubernetes-sigs/security-profiles-operator/security-profiles-operator.x-k8s.io/v1alpha1/apparmorprofiles.yaml +++ b/crd-catalog/kubernetes-sigs/security-profiles-operator/security-profiles-operator.x-k8s.io/v1alpha1/apparmorprofiles.yaml @@ -31,10 +31,56 @@ spec: spec: description: "AppArmorProfileSpec defines the desired state of AppArmorProfile" properties: + abstract: + properties: + capability: + properties: + allowedCapabilities: + items: + type: "string" + type: "array" + type: "object" + executable: + properties: + allowedExecutables: + items: + type: "string" + type: "array" + allowedLibraries: + items: + type: "string" + type: "array" + type: "object" + filesystem: + properties: + readOnlyPaths: + items: + type: "string" + type: "array" + readWritePaths: + items: + type: "string" + type: "array" + writeOnlyPaths: + items: + type: "string" + type: "array" + type: "object" + network: + properties: + allowRaw: + type: "boolean" + allowedProtocols: + properties: + allowTcp: + type: "boolean" + allowUdp: + type: "boolean" + type: "object" + type: "object" + type: "object" policy: type: "string" - required: - - "policy" type: "object" status: description: "AppArmorProfileStatus defines the observed state of AppArmorProfile" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/circuitbreakers.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/circuitbreakers.yaml index 4215e2a03..a956dd65b 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/circuitbreakers.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/circuitbreakers.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "circuitbreakers.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/containerpatches.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/containerpatches.yaml index 5ba8a0929..b50e15e1d 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/containerpatches.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/containerpatches.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "containerpatches.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/dataplaneinsights.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/dataplaneinsights.yaml index 261a258c5..877812339 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/dataplaneinsights.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/dataplaneinsights.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "dataplaneinsights.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/dataplanes.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/dataplanes.yaml index 8612a09ea..58a26d72f 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/dataplanes.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/dataplanes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "dataplanes.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/externalservices.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/externalservices.yaml index d9609702d..c4bcb96a9 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/externalservices.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/externalservices.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "externalservices.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/faultinjections.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/faultinjections.yaml index 0d68a9814..eaadcf015 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/faultinjections.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/faultinjections.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "faultinjections.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/healthchecks.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/healthchecks.yaml index 919dcea7e..347834184 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/healthchecks.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/healthchecks.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "healthchecks.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshaccesslogs.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshaccesslogs.yaml index f527a8915..2cc7d858c 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshaccesslogs.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshaccesslogs.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshaccesslogs.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshcircuitbreakers.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshcircuitbreakers.yaml index f5b587f0d..87726f21b 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshcircuitbreakers.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshcircuitbreakers.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshcircuitbreakers.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshes.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshes.yaml index 36f224758..fb2bc8dba 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshes.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshes.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshfaultinjections.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshfaultinjections.yaml index f2e398a8b..ab6490c01 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshfaultinjections.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshfaultinjections.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshfaultinjections.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgatewayconfigs.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgatewayconfigs.yaml index abb65675c..a1e7fd78c 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgatewayconfigs.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgatewayconfigs.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshgatewayconfigs.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgatewayinstances.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgatewayinstances.yaml index 669d971ac..c5447b280 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgatewayinstances.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgatewayinstances.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshgatewayinstances.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgatewayroutes.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgatewayroutes.yaml index b5b0602b9..38b955b2d 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgatewayroutes.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgatewayroutes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshgatewayroutes.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgateways.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgateways.yaml index e73507e84..33a100205 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgateways.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshgateways.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshgateways.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshhealthchecks.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshhealthchecks.yaml index 1c7d1d95f..46854821d 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshhealthchecks.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshhealthchecks.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshhealthchecks.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshhttproutes.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshhttproutes.yaml index d1a9c16ca..b0ca7f1d2 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshhttproutes.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshhttproutes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshhttproutes.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshinsights.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshinsights.yaml index e69e38099..27a23cf74 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshinsights.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshinsights.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshinsights.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshloadbalancingstrategies.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshloadbalancingstrategies.yaml index 52e683a47..a7fd2e679 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshloadbalancingstrategies.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshloadbalancingstrategies.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshloadbalancingstrategies.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshproxypatches.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshproxypatches.yaml index 4c647b760..83f4f81d2 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshproxypatches.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshproxypatches.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshproxypatches.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshratelimits.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshratelimits.yaml index 7fa32b61a..94b551b37 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshratelimits.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshratelimits.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshratelimits.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshretries.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshretries.yaml index 8a5c8b8e2..770e00a45 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshretries.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshretries.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshretries.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtcproutes.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtcproutes.yaml index 7add60191..7b5dce536 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtcproutes.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtcproutes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshtcproutes.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtimeouts.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtimeouts.yaml index ea596b5a3..8f5a8ecc6 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtimeouts.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtimeouts.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshtimeouts.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtraces.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtraces.yaml index 78446e181..797d1e456 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtraces.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtraces.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshtraces.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtrafficpermissions.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtrafficpermissions.yaml index e11cb4ac1..7f197bbd9 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtrafficpermissions.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/meshtrafficpermissions.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "meshtrafficpermissions.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/proxytemplates.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/proxytemplates.yaml index 069835d02..a6a747186 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/proxytemplates.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/proxytemplates.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "proxytemplates.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/ratelimits.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/ratelimits.yaml index 58affac1c..a305cead3 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/ratelimits.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/ratelimits.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "ratelimits.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/retries.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/retries.yaml index 8a263cb1c..dc3887acc 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/retries.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/retries.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "retries.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/serviceinsights.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/serviceinsights.yaml index 1e479c834..f42a8db14 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/serviceinsights.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/serviceinsights.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "serviceinsights.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/timeouts.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/timeouts.yaml index 64e8bbf40..20e9fa43c 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/timeouts.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/timeouts.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "timeouts.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/trafficlogs.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/trafficlogs.yaml index 80c454af0..8049f5348 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/trafficlogs.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/trafficlogs.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "trafficlogs.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/trafficpermissions.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/trafficpermissions.yaml index eca23458d..66476eb6a 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/trafficpermissions.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/trafficpermissions.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "trafficpermissions.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/trafficroutes.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/trafficroutes.yaml index fd77aa4a6..c2e40480a 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/trafficroutes.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/trafficroutes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "trafficroutes.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/traffictraces.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/traffictraces.yaml index f830ee54a..438a3a41a 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/traffictraces.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/traffictraces.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "traffictraces.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/virtualoutbounds.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/virtualoutbounds.yaml index 3b45e012f..2ad97693d 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/virtualoutbounds.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/virtualoutbounds.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "virtualoutbounds.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneegresses.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneegresses.yaml index 61d86dc96..07fa6e40f 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneegresses.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneegresses.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "zoneegresses.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneegressinsights.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneegressinsights.yaml index 2f6f9f76e..e5ebad08f 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneegressinsights.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneegressinsights.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "zoneegressinsights.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneingresses.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneingresses.yaml index e0ba928fa..1500bcb50 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneingresses.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneingresses.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "zoneingresses.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneingressinsights.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneingressinsights.yaml index 411f22c27..f0b241bdf 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneingressinsights.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneingressinsights.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "zoneingressinsights.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneinsights.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneinsights.yaml index 3a244550d..4f0c0f306 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneinsights.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zoneinsights.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "zoneinsights.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zones.yaml b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zones.yaml index 9e182384f..44b34237d 100644 --- a/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zones.yaml +++ b/crd-catalog/kumahq/kuma/kuma.io/v1alpha1/zones.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "zones.kuma.io" spec: group: "kuma.io" diff --git a/crd-catalog/kyverno/kyverno/kyverno.io/v1/clusterpolicies.yaml b/crd-catalog/kyverno/kyverno/kyverno.io/v1/clusterpolicies.yaml index 7708cc98c..3ab113e41 100644 --- a/crd-catalog/kyverno/kyverno/kyverno.io/v1/clusterpolicies.yaml +++ b/crd-catalog/kyverno/kyverno/kyverno.io/v1/clusterpolicies.yaml @@ -2053,6 +2053,39 @@ spec: preconditions: description: "Preconditions are used to determine if a policy rule should be applied by evaluating a\nset of conditions. The declaration can contain nested `any` or `all` statements. A direct list\nof conditions (without `any` or `all` statements is supported for backwards compatibility but\nwill be deprecated in the next major release.\nSee: https://kyverno.io/docs/writing-policies/preconditions/" x-kubernetes-preserve-unknown-fields: true + selector: + description: "Selector allows you to select target resources with their labels." + properties: + matchExpressions: + description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." + items: + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + properties: + key: + description: "key is the label key that the selector applies to." + type: "string" + operator: + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + type: "string" + values: + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchLabels: + additionalProperties: + type: "string" + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + type: "object" + type: "object" + x-kubernetes-map-type: "atomic" uid: description: "UID specifies the resource uid." type: "string" @@ -5435,6 +5468,39 @@ spec: preconditions: description: "Preconditions are used to determine if a policy rule should be applied by evaluating a\nset of conditions. The declaration can contain nested `any` or `all` statements. A direct list\nof conditions (without `any` or `all` statements is supported for backwards compatibility but\nwill be deprecated in the next major release.\nSee: https://kyverno.io/docs/writing-policies/preconditions/" x-kubernetes-preserve-unknown-fields: true + selector: + description: "Selector allows you to select target resources with their labels." + properties: + matchExpressions: + description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." + items: + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + properties: + key: + description: "key is the label key that the selector applies to." + type: "string" + operator: + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + type: "string" + values: + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchLabels: + additionalProperties: + type: "string" + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + type: "object" + type: "object" + x-kubernetes-map-type: "atomic" uid: description: "UID specifies the resource uid." type: "string" diff --git a/crd-catalog/kyverno/kyverno/kyverno.io/v1/policies.yaml b/crd-catalog/kyverno/kyverno/kyverno.io/v1/policies.yaml index 52257999e..eb3cbad92 100644 --- a/crd-catalog/kyverno/kyverno/kyverno.io/v1/policies.yaml +++ b/crd-catalog/kyverno/kyverno/kyverno.io/v1/policies.yaml @@ -2053,6 +2053,39 @@ spec: preconditions: description: "Preconditions are used to determine if a policy rule should be applied by evaluating a\nset of conditions. The declaration can contain nested `any` or `all` statements. A direct list\nof conditions (without `any` or `all` statements is supported for backwards compatibility but\nwill be deprecated in the next major release.\nSee: https://kyverno.io/docs/writing-policies/preconditions/" x-kubernetes-preserve-unknown-fields: true + selector: + description: "Selector allows you to select target resources with their labels." + properties: + matchExpressions: + description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." + items: + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + properties: + key: + description: "key is the label key that the selector applies to." + type: "string" + operator: + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + type: "string" + values: + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchLabels: + additionalProperties: + type: "string" + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + type: "object" + type: "object" + x-kubernetes-map-type: "atomic" uid: description: "UID specifies the resource uid." type: "string" @@ -5435,6 +5468,39 @@ spec: preconditions: description: "Preconditions are used to determine if a policy rule should be applied by evaluating a\nset of conditions. The declaration can contain nested `any` or `all` statements. A direct list\nof conditions (without `any` or `all` statements is supported for backwards compatibility but\nwill be deprecated in the next major release.\nSee: https://kyverno.io/docs/writing-policies/preconditions/" x-kubernetes-preserve-unknown-fields: true + selector: + description: "Selector allows you to select target resources with their labels." + properties: + matchExpressions: + description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." + items: + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + properties: + key: + description: "key is the label key that the selector applies to." + type: "string" + operator: + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + type: "string" + values: + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchLabels: + additionalProperties: + type: "string" + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + type: "object" + type: "object" + x-kubernetes-map-type: "atomic" uid: description: "UID specifies the resource uid." type: "string" diff --git a/crd-catalog/kyverno/kyverno/kyverno.io/v2beta1/clusterpolicies.yaml b/crd-catalog/kyverno/kyverno/kyverno.io/v2beta1/clusterpolicies.yaml index e6603495d..b14864bbd 100644 --- a/crd-catalog/kyverno/kyverno/kyverno.io/v2beta1/clusterpolicies.yaml +++ b/crd-catalog/kyverno/kyverno/kyverno.io/v2beta1/clusterpolicies.yaml @@ -1767,6 +1767,39 @@ spec: preconditions: description: "Preconditions are used to determine if a policy rule should be applied by evaluating a\nset of conditions. The declaration can contain nested `any` or `all` statements. A direct list\nof conditions (without `any` or `all` statements is supported for backwards compatibility but\nwill be deprecated in the next major release.\nSee: https://kyverno.io/docs/writing-policies/preconditions/" x-kubernetes-preserve-unknown-fields: true + selector: + description: "Selector allows you to select target resources with their labels." + properties: + matchExpressions: + description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." + items: + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + properties: + key: + description: "key is the label key that the selector applies to." + type: "string" + operator: + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + type: "string" + values: + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchLabels: + additionalProperties: + type: "string" + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + type: "object" + type: "object" + x-kubernetes-map-type: "atomic" uid: description: "UID specifies the resource uid." type: "string" @@ -5246,6 +5279,39 @@ spec: preconditions: description: "Preconditions are used to determine if a policy rule should be applied by evaluating a\nset of conditions. The declaration can contain nested `any` or `all` statements. A direct list\nof conditions (without `any` or `all` statements is supported for backwards compatibility but\nwill be deprecated in the next major release.\nSee: https://kyverno.io/docs/writing-policies/preconditions/" x-kubernetes-preserve-unknown-fields: true + selector: + description: "Selector allows you to select target resources with their labels." + properties: + matchExpressions: + description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." + items: + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + properties: + key: + description: "key is the label key that the selector applies to." + type: "string" + operator: + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + type: "string" + values: + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchLabels: + additionalProperties: + type: "string" + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + type: "object" + type: "object" + x-kubernetes-map-type: "atomic" uid: description: "UID specifies the resource uid." type: "string" diff --git a/crd-catalog/kyverno/kyverno/kyverno.io/v2beta1/policies.yaml b/crd-catalog/kyverno/kyverno/kyverno.io/v2beta1/policies.yaml index 315c8d92a..4ba9a9b93 100644 --- a/crd-catalog/kyverno/kyverno/kyverno.io/v2beta1/policies.yaml +++ b/crd-catalog/kyverno/kyverno/kyverno.io/v2beta1/policies.yaml @@ -1767,6 +1767,39 @@ spec: preconditions: description: "Preconditions are used to determine if a policy rule should be applied by evaluating a\nset of conditions. The declaration can contain nested `any` or `all` statements. A direct list\nof conditions (without `any` or `all` statements is supported for backwards compatibility but\nwill be deprecated in the next major release.\nSee: https://kyverno.io/docs/writing-policies/preconditions/" x-kubernetes-preserve-unknown-fields: true + selector: + description: "Selector allows you to select target resources with their labels." + properties: + matchExpressions: + description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." + items: + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + properties: + key: + description: "key is the label key that the selector applies to." + type: "string" + operator: + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + type: "string" + values: + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchLabels: + additionalProperties: + type: "string" + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + type: "object" + type: "object" + x-kubernetes-map-type: "atomic" uid: description: "UID specifies the resource uid." type: "string" @@ -5246,6 +5279,39 @@ spec: preconditions: description: "Preconditions are used to determine if a policy rule should be applied by evaluating a\nset of conditions. The declaration can contain nested `any` or `all` statements. A direct list\nof conditions (without `any` or `all` statements is supported for backwards compatibility but\nwill be deprecated in the next major release.\nSee: https://kyverno.io/docs/writing-policies/preconditions/" x-kubernetes-preserve-unknown-fields: true + selector: + description: "Selector allows you to select target resources with their labels." + properties: + matchExpressions: + description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." + items: + description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + properties: + key: + description: "key is the label key that the selector applies to." + type: "string" + operator: + description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + type: "string" + values: + description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchLabels: + additionalProperties: + type: "string" + description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." + type: "object" + type: "object" + x-kubernetes-map-type: "atomic" uid: description: "UID specifies the resource uid." type: "string" diff --git a/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/backups.yaml b/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/backups.yaml index 20d505796..bb861e224 100644 --- a/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/backups.yaml +++ b/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/backups.yaml @@ -50,6 +50,120 @@ spec: antiAffinityEnabled: description: "AntiAffinityEnabled configures PodAntiAffinity so each Pod is scheduled in a different Node, enabling HA.\nMake sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods." type: "boolean" + nodeAffinity: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core" + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core" + properties: + preference: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + weight: + format: "int32" + type: "integer" + required: + - "preference" + - "weight" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + requiredDuringSchedulingIgnoredDuringExecution: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core" + properties: + nodeSelectorTerms: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "nodeSelectorTerms" + type: "object" + type: "object" podAntiAffinity: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core." properties: @@ -61,21 +175,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -89,10 +200,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -112,21 +221,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -140,10 +246,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -541,77 +645,84 @@ spec: volume: description: "Volume is a Kubernetes volume specification." properties: + configMap: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapvolumesource-v1-core." + properties: + defaultMode: + format: "int32" + type: "integer" + name: + default: "" + type: "string" + type: "object" csi: - description: "Represents a source location of a volume to mount, managed by an external CSI driver" + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core." properties: driver: - description: "driver is the name of the CSI driver that handles this volume.\nConsult with your admin for the correct name as registered in the cluster." type: "string" fsType: - description: "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\".\nIf not provided, the empty value is passed to the associated CSI driver\nwhich will determine the default filesystem to apply." type: "string" nodePublishSecretRef: - description: "nodePublishSecretRef is a reference to the secret object containing\nsensitive information to pass to the CSI driver to complete the CSI\nNodePublishVolume and NodeUnpublishVolume calls.\nThis field is optional, and may be empty if no secret is required. If the\nsecret object contains more than one secret, all secret references are passed." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core." properties: name: default: "" - description: "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names" type: "string" type: "object" - x-kubernetes-map-type: "atomic" readOnly: - description: "readOnly specifies a read-only configuration for the volume.\nDefaults to false (read/write)." type: "boolean" volumeAttributes: additionalProperties: type: "string" - description: "volumeAttributes stores driver-specific properties that are passed to the CSI\ndriver. Consult your driver's documentation for supported values." type: "object" required: - "driver" type: "object" emptyDir: - description: "Represents an empty directory for a pod.\nEmpty directory volumes support ownership management and SELinux relabeling." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core." properties: medium: - description: "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + description: "StorageMedium defines ways that storage can be allocated to a volume." type: "string" sizeLimit: anyOf: - type: "integer" - type: "string" - description: "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" nfs: - description: "Represents an NFS mount that lasts the lifetime of a pod.\nNFS volumes do not support ownership management or SELinux relabeling." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core." properties: path: - description: "path that is exported by the NFS server.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "string" readOnly: - description: "readOnly here will force the NFS export to be mounted with read-only permissions.\nDefaults to false.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "boolean" server: - description: "server is the hostname or IP address of the NFS server.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "string" required: - "path" - "server" type: "object" persistentVolumeClaim: - description: "PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace.\nThis volume finds the bound PV and mounts that volume for the pod. A\nPersistentVolumeClaimVolumeSource is, essentially, a wrapper around another\ntype of volume that is owned by someone else (the system)." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core." properties: claimName: - description: "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" type: "string" readOnly: - description: "readOnly Will force the ReadOnly setting in VolumeMounts.\nDefault false." type: "boolean" required: - "claimName" type: "object" + secret: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretvolumesource-v1-core." + properties: + defaultMode: + format: "int32" + type: "integer" + secretName: + type: "string" + type: "object" type: "object" type: "object" successfulJobsHistoryLimit: diff --git a/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/mariadbs.yaml b/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/mariadbs.yaml index 982cf3042..831fcbd4d 100644 --- a/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/mariadbs.yaml +++ b/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/mariadbs.yaml @@ -53,6 +53,120 @@ spec: antiAffinityEnabled: description: "AntiAffinityEnabled configures PodAntiAffinity so each Pod is scheduled in a different Node, enabling HA.\nMake sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods." type: "boolean" + nodeAffinity: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core" + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core" + properties: + preference: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + weight: + format: "int32" + type: "integer" + required: + - "preference" + - "weight" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + requiredDuringSchedulingIgnoredDuringExecution: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core" + properties: + nodeSelectorTerms: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "nodeSelectorTerms" + type: "object" + type: "object" podAntiAffinity: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core." properties: @@ -64,21 +178,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -92,10 +203,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -115,21 +224,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -143,10 +249,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -180,6 +284,120 @@ spec: antiAffinityEnabled: description: "AntiAffinityEnabled configures PodAntiAffinity so each Pod is scheduled in a different Node, enabling HA.\nMake sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods." type: "boolean" + nodeAffinity: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core" + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core" + properties: + preference: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + weight: + format: "int32" + type: "integer" + required: + - "preference" + - "weight" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + requiredDuringSchedulingIgnoredDuringExecution: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core" + properties: + nodeSelectorTerms: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "nodeSelectorTerms" + type: "object" + type: "object" podAntiAffinity: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core." properties: @@ -191,21 +409,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -219,10 +434,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -242,21 +455,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -270,10 +480,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -408,77 +616,84 @@ spec: volume: description: "Volume is a Kubernetes Volume object that contains a backup." properties: + configMap: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapvolumesource-v1-core." + properties: + defaultMode: + format: "int32" + type: "integer" + name: + default: "" + type: "string" + type: "object" csi: - description: "Represents a source location of a volume to mount, managed by an external CSI driver" + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core." properties: driver: - description: "driver is the name of the CSI driver that handles this volume.\nConsult with your admin for the correct name as registered in the cluster." type: "string" fsType: - description: "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\".\nIf not provided, the empty value is passed to the associated CSI driver\nwhich will determine the default filesystem to apply." type: "string" nodePublishSecretRef: - description: "nodePublishSecretRef is a reference to the secret object containing\nsensitive information to pass to the CSI driver to complete the CSI\nNodePublishVolume and NodeUnpublishVolume calls.\nThis field is optional, and may be empty if no secret is required. If the\nsecret object contains more than one secret, all secret references are passed." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core." properties: name: default: "" - description: "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names" type: "string" type: "object" - x-kubernetes-map-type: "atomic" readOnly: - description: "readOnly specifies a read-only configuration for the volume.\nDefaults to false (read/write)." type: "boolean" volumeAttributes: additionalProperties: type: "string" - description: "volumeAttributes stores driver-specific properties that are passed to the CSI\ndriver. Consult your driver's documentation for supported values." type: "object" required: - "driver" type: "object" emptyDir: - description: "Represents an empty directory for a pod.\nEmpty directory volumes support ownership management and SELinux relabeling." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core." properties: medium: - description: "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + description: "StorageMedium defines ways that storage can be allocated to a volume." type: "string" sizeLimit: anyOf: - type: "integer" - type: "string" - description: "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" nfs: - description: "Represents an NFS mount that lasts the lifetime of a pod.\nNFS volumes do not support ownership management or SELinux relabeling." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core." properties: path: - description: "path that is exported by the NFS server.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "string" readOnly: - description: "readOnly here will force the NFS export to be mounted with read-only permissions.\nDefaults to false.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "boolean" server: - description: "server is the hostname or IP address of the NFS server.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "string" required: - "path" - "server" type: "object" persistentVolumeClaim: - description: "PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace.\nThis volume finds the bound PV and mounts that volume for the pod. A\nPersistentVolumeClaimVolumeSource is, essentially, a wrapper around another\ntype of volume that is owned by someone else (the system)." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core." properties: claimName: - description: "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" type: "string" readOnly: - description: "readOnly Will force the ReadOnly setting in VolumeMounts.\nDefault false." type: "boolean" required: - "claimName" type: "object" + secret: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretvolumesource-v1-core." + properties: + defaultMode: + format: "int32" + type: "integer" + secretName: + type: "string" + type: "object" type: "object" type: "object" command: @@ -1510,6 +1725,59 @@ spec: items: type: "string" type: "array" + env: + description: "Env represents the environment variables to be injected in a container." + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core." + properties: + name: + description: "Name of the environment variable. Must be a C_IDENTIFIER." + type: "string" + value: + type: "string" + valueFrom: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core." + properties: + configMapKeyRef: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapkeyselector-v1-core." + properties: + key: + type: "string" + name: + default: "" + type: "string" + required: + - "key" + type: "object" + x-kubernetes-map-type: "atomic" + fieldRef: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectfieldselector-v1-core." + properties: + apiVersion: + type: "string" + fieldPath: + type: "string" + required: + - "fieldPath" + type: "object" + x-kubernetes-map-type: "atomic" + secretKeyRef: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretkeyselector-v1-core." + properties: + key: + type: "string" + name: + default: "" + type: "string" + required: + - "key" + type: "object" + x-kubernetes-map-type: "atomic" + type: "object" + required: + - "name" + type: "object" + type: "array" image: description: "Image name to be used by the container. The supported format is `:`." type: "string" @@ -2052,6 +2320,120 @@ spec: antiAffinityEnabled: description: "AntiAffinityEnabled configures PodAntiAffinity so each Pod is scheduled in a different Node, enabling HA.\nMake sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods." type: "boolean" + nodeAffinity: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core" + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core" + properties: + preference: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + weight: + format: "int32" + type: "integer" + required: + - "preference" + - "weight" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + requiredDuringSchedulingIgnoredDuringExecution: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core" + properties: + nodeSelectorTerms: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "nodeSelectorTerms" + type: "object" + type: "object" podAntiAffinity: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core." properties: @@ -2063,21 +2445,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -2091,10 +2470,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -2114,21 +2491,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -2142,10 +2516,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -2514,6 +2886,120 @@ spec: antiAffinityEnabled: description: "AntiAffinityEnabled configures PodAntiAffinity so each Pod is scheduled in a different Node, enabling HA.\nMake sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods." type: "boolean" + nodeAffinity: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core" + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core" + properties: + preference: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + weight: + format: "int32" + type: "integer" + required: + - "preference" + - "weight" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + requiredDuringSchedulingIgnoredDuringExecution: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core" + properties: + nodeSelectorTerms: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "nodeSelectorTerms" + type: "object" + type: "object" podAntiAffinity: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core." properties: @@ -2525,21 +3011,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -2553,10 +3036,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -2576,21 +3057,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -2604,10 +3082,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -3517,6 +3993,59 @@ spec: items: type: "string" type: "array" + env: + description: "Env represents the environment variables to be injected in a container." + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core." + properties: + name: + description: "Name of the environment variable. Must be a C_IDENTIFIER." + type: "string" + value: + type: "string" + valueFrom: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core." + properties: + configMapKeyRef: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapkeyselector-v1-core." + properties: + key: + type: "string" + name: + default: "" + type: "string" + required: + - "key" + type: "object" + x-kubernetes-map-type: "atomic" + fieldRef: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectfieldselector-v1-core." + properties: + apiVersion: + type: "string" + fieldPath: + type: "string" + required: + - "fieldPath" + type: "object" + x-kubernetes-map-type: "atomic" + secretKeyRef: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretkeyselector-v1-core." + properties: + key: + type: "string" + name: + default: "" + type: "string" + required: + - "key" + type: "object" + x-kubernetes-map-type: "atomic" + type: "object" + required: + - "name" + type: "object" + type: "array" image: description: "Image name to be used by the container. The supported format is `:`." type: "string" @@ -3829,79 +4358,86 @@ spec: items: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#volume-v1-core." properties: + configMap: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapvolumesource-v1-core." + properties: + defaultMode: + format: "int32" + type: "integer" + name: + default: "" + type: "string" + type: "object" csi: - description: "Represents a source location of a volume to mount, managed by an external CSI driver" + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core." properties: driver: - description: "driver is the name of the CSI driver that handles this volume.\nConsult with your admin for the correct name as registered in the cluster." type: "string" fsType: - description: "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\".\nIf not provided, the empty value is passed to the associated CSI driver\nwhich will determine the default filesystem to apply." type: "string" nodePublishSecretRef: - description: "nodePublishSecretRef is a reference to the secret object containing\nsensitive information to pass to the CSI driver to complete the CSI\nNodePublishVolume and NodeUnpublishVolume calls.\nThis field is optional, and may be empty if no secret is required. If the\nsecret object contains more than one secret, all secret references are passed." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core." properties: name: default: "" - description: "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names" type: "string" type: "object" - x-kubernetes-map-type: "atomic" readOnly: - description: "readOnly specifies a read-only configuration for the volume.\nDefaults to false (read/write)." type: "boolean" volumeAttributes: additionalProperties: type: "string" - description: "volumeAttributes stores driver-specific properties that are passed to the CSI\ndriver. Consult your driver's documentation for supported values." type: "object" required: - "driver" type: "object" emptyDir: - description: "Represents an empty directory for a pod.\nEmpty directory volumes support ownership management and SELinux relabeling." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core." properties: medium: - description: "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + description: "StorageMedium defines ways that storage can be allocated to a volume." type: "string" sizeLimit: anyOf: - type: "integer" - type: "string" - description: "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" name: type: "string" nfs: - description: "Represents an NFS mount that lasts the lifetime of a pod.\nNFS volumes do not support ownership management or SELinux relabeling." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core." properties: path: - description: "path that is exported by the NFS server.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "string" readOnly: - description: "readOnly here will force the NFS export to be mounted with read-only permissions.\nDefaults to false.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "boolean" server: - description: "server is the hostname or IP address of the NFS server.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "string" required: - "path" - "server" type: "object" persistentVolumeClaim: - description: "PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace.\nThis volume finds the bound PV and mounts that volume for the pod. A\nPersistentVolumeClaimVolumeSource is, essentially, a wrapper around another\ntype of volume that is owned by someone else (the system)." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core." properties: claimName: - description: "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" type: "string" readOnly: - description: "readOnly Will force the ReadOnly setting in VolumeMounts.\nDefault false." type: "boolean" required: - "claimName" type: "object" + secret: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretvolumesource-v1-core." + properties: + defaultMode: + format: "int32" + type: "integer" + secretName: + type: "string" + type: "object" required: - "name" type: "object" diff --git a/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/maxscales.yaml b/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/maxscales.yaml index 21dc7379e..938b4caa0 100644 --- a/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/maxscales.yaml +++ b/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/maxscales.yaml @@ -61,6 +61,120 @@ spec: antiAffinityEnabled: description: "AntiAffinityEnabled configures PodAntiAffinity so each Pod is scheduled in a different Node, enabling HA.\nMake sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods." type: "boolean" + nodeAffinity: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core" + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core" + properties: + preference: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + weight: + format: "int32" + type: "integer" + required: + - "preference" + - "weight" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + requiredDuringSchedulingIgnoredDuringExecution: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core" + properties: + nodeSelectorTerms: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "nodeSelectorTerms" + type: "object" + type: "object" podAntiAffinity: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core." properties: @@ -72,21 +186,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -100,10 +211,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -123,21 +232,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -151,10 +257,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -753,6 +857,120 @@ spec: antiAffinityEnabled: description: "AntiAffinityEnabled configures PodAntiAffinity so each Pod is scheduled in a different Node, enabling HA.\nMake sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods." type: "boolean" + nodeAffinity: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core" + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core" + properties: + preference: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + weight: + format: "int32" + type: "integer" + required: + - "preference" + - "weight" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + requiredDuringSchedulingIgnoredDuringExecution: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core" + properties: + nodeSelectorTerms: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "nodeSelectorTerms" + type: "object" + type: "object" podAntiAffinity: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core." properties: @@ -764,21 +982,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -792,10 +1007,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -815,21 +1028,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -843,10 +1053,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: diff --git a/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/restores.yaml b/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/restores.yaml index eeba2ff2b..198a7ff11 100644 --- a/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/restores.yaml +++ b/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/restores.yaml @@ -50,6 +50,120 @@ spec: antiAffinityEnabled: description: "AntiAffinityEnabled configures PodAntiAffinity so each Pod is scheduled in a different Node, enabling HA.\nMake sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods." type: "boolean" + nodeAffinity: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core" + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core" + properties: + preference: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + weight: + format: "int32" + type: "integer" + required: + - "preference" + - "weight" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + requiredDuringSchedulingIgnoredDuringExecution: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core" + properties: + nodeSelectorTerms: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "nodeSelectorTerms" + type: "object" + type: "object" podAntiAffinity: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core." properties: @@ -61,21 +175,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -89,10 +200,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -112,21 +221,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -140,10 +246,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -474,77 +578,84 @@ spec: volume: description: "Volume is a Kubernetes Volume object that contains a backup." properties: + configMap: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapvolumesource-v1-core." + properties: + defaultMode: + format: "int32" + type: "integer" + name: + default: "" + type: "string" + type: "object" csi: - description: "Represents a source location of a volume to mount, managed by an external CSI driver" + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core." properties: driver: - description: "driver is the name of the CSI driver that handles this volume.\nConsult with your admin for the correct name as registered in the cluster." type: "string" fsType: - description: "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\".\nIf not provided, the empty value is passed to the associated CSI driver\nwhich will determine the default filesystem to apply." type: "string" nodePublishSecretRef: - description: "nodePublishSecretRef is a reference to the secret object containing\nsensitive information to pass to the CSI driver to complete the CSI\nNodePublishVolume and NodeUnpublishVolume calls.\nThis field is optional, and may be empty if no secret is required. If the\nsecret object contains more than one secret, all secret references are passed." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core." properties: name: default: "" - description: "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names" type: "string" type: "object" - x-kubernetes-map-type: "atomic" readOnly: - description: "readOnly specifies a read-only configuration for the volume.\nDefaults to false (read/write)." type: "boolean" volumeAttributes: additionalProperties: type: "string" - description: "volumeAttributes stores driver-specific properties that are passed to the CSI\ndriver. Consult your driver's documentation for supported values." type: "object" required: - "driver" type: "object" emptyDir: - description: "Represents an empty directory for a pod.\nEmpty directory volumes support ownership management and SELinux relabeling." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core." properties: medium: - description: "medium represents what type of storage medium should back this directory.\nThe default is \"\" which means to use the node's default medium.\nMust be an empty string (default) or Memory.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" + description: "StorageMedium defines ways that storage can be allocated to a volume." type: "string" sizeLimit: anyOf: - type: "integer" - type: "string" - description: "sizeLimit is the total amount of local storage required for this EmptyDir volume.\nThe size limit is also applicable for memory medium.\nThe maximum usage on memory medium EmptyDir would be the minimum value between\nthe SizeLimit specified here and the sum of memory limits of all containers in a pod.\nThe default is nil which means that the limit is undefined.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir" pattern: "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$" x-kubernetes-int-or-string: true type: "object" nfs: - description: "Represents an NFS mount that lasts the lifetime of a pod.\nNFS volumes do not support ownership management or SELinux relabeling." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core." properties: path: - description: "path that is exported by the NFS server.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "string" readOnly: - description: "readOnly here will force the NFS export to be mounted with read-only permissions.\nDefaults to false.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "boolean" server: - description: "server is the hostname or IP address of the NFS server.\nMore info: https://kubernetes.io/docs/concepts/storage/volumes#nfs" type: "string" required: - "path" - "server" type: "object" persistentVolumeClaim: - description: "PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace.\nThis volume finds the bound PV and mounts that volume for the pod. A\nPersistentVolumeClaimVolumeSource is, essentially, a wrapper around another\ntype of volume that is owned by someone else (the system)." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core." properties: claimName: - description: "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.\nMore info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims" type: "string" readOnly: - description: "readOnly Will force the ReadOnly setting in VolumeMounts.\nDefault false." type: "boolean" required: - "claimName" type: "object" + secret: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretvolumesource-v1-core." + properties: + defaultMode: + format: "int32" + type: "integer" + secretName: + type: "string" + type: "object" type: "object" required: - "mariaDbRef" diff --git a/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/sqljobs.yaml b/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/sqljobs.yaml index 31364c04f..6b7bb708f 100644 --- a/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/sqljobs.yaml +++ b/crd-catalog/mariadb-operator/mariadb-operator/k8s.mariadb.com/v1alpha1/sqljobs.yaml @@ -50,6 +50,120 @@ spec: antiAffinityEnabled: description: "AntiAffinityEnabled configures PodAntiAffinity so each Pod is scheduled in a different Node, enabling HA.\nMake sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods." type: "boolean" + nodeAffinity: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core" + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core" + properties: + preference: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + weight: + format: "int32" + type: "integer" + required: + - "preference" + - "weight" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + requiredDuringSchedulingIgnoredDuringExecution: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core" + properties: + nodeSelectorTerms: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core" + properties: + matchExpressions: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + matchFields: + items: + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core" + properties: + key: + type: "string" + operator: + description: "A node selector operator is the set of operators that can be used in\na node selector requirement." + type: "string" + values: + items: + type: "string" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "key" + - "operator" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + type: "object" + type: "array" + x-kubernetes-list-type: "atomic" + required: + - "nodeSelectorTerms" + type: "object" + type: "object" podAntiAffinity: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core." properties: @@ -61,21 +175,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -89,10 +200,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: @@ -112,21 +221,18 @@ spec: description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core." properties: labelSelector: - description: "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta" properties: matchExpressions: - description: "matchExpressions is a list of label selector requirements. The requirements are ANDed." items: - description: "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values." + description: "Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta" properties: key: - description: "key is the label key that the selector applies to." type: "string" operator: - description: "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist." + description: "A label selector operator is the set of operators that can be used in a selector requirement." type: "string" values: - description: "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch." items: type: "string" type: "array" @@ -140,10 +246,8 @@ spec: matchLabels: additionalProperties: type: "string" - description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed." type: "object" type: "object" - x-kubernetes-map-type: "atomic" topologyKey: type: "string" required: diff --git a/crd-catalog/minio/operator/minio.min.io/v2/tenants.yaml b/crd-catalog/minio/operator/minio.min.io/v2/tenants.yaml index 197afe9a8..49065484e 100644 --- a/crd-catalog/minio/operator/minio.min.io/v2/tenants.yaml +++ b/crd-catalog/minio/operator/minio.min.io/v2/tenants.yaml @@ -3637,6 +3637,17 @@ spec: x-kubernetes-list-map-keys: - "name" x-kubernetes-list-type: "map" + poolsMetadata: + properties: + annotations: + additionalProperties: + type: "string" + type: "object" + labels: + additionalProperties: + type: "string" + type: "object" + type: "object" priorityClassName: type: "string" prometheusOperator: @@ -3735,6 +3746,14 @@ spec: additionalProperties: type: "string" type: "object" + kesServiceAnnotations: + additionalProperties: + type: "string" + type: "object" + kesServiceLabels: + additionalProperties: + type: "string" + type: "object" minioServiceAnnotations: additionalProperties: type: "string" diff --git a/crd-catalog/netobserv/network-observability-operator/flows.netobserv.io/v1beta2/flowcollectors.yaml b/crd-catalog/netobserv/network-observability-operator/flows.netobserv.io/v1beta2/flowcollectors.yaml index c86d56600..e161f0d14 100644 --- a/crd-catalog/netobserv/network-observability-operator/flows.netobserv.io/v1beta2/flowcollectors.yaml +++ b/crd-catalog/netobserv/network-observability-operator/flows.netobserv.io/v1beta2/flowcollectors.yaml @@ -666,9 +666,9 @@ spec: type: "string" type: "array" features: - description: "List of additional features to enable. They are all disabled by default. Enabling additional features might have performance impacts. Possible values are:
\n- `PacketDrop`: enable the packets drop flows logging feature. This feature requires mounting\nthe kernel debug filesystem, so the eBPF pod has to run as privileged.\nIf the `spec.agent.ebpf.privileged` parameter is not set, an error is reported.
\n- `DNSTracking`: enable the DNS tracking feature.
\n- `FlowRTT`: enable flow latency (sRTT) extraction in the eBPF agent from TCP traffic.
\n- `NetworkEvents`: enable the Network events monitoring feature. This feature requires mounting\nthe kernel debug filesystem, so the eBPF pod has to run as privileged." + description: "List of additional features to enable. They are all disabled by default. Enabling additional features might have performance impacts. Possible values are:
\n- `PacketDrop`: enable the packets drop flows logging feature. This feature requires mounting\nthe kernel debug filesystem, so the eBPF pod has to run as privileged.\nIf the `spec.agent.ebpf.privileged` parameter is not set, an error is reported.
\n- `DNSTracking`: enable the DNS tracking feature.
\n- `FlowRTT`: enable flow latency (sRTT) extraction in the eBPF agent from TCP traffic.
\n- `NetworkEvents`: enable the Network events monitoring feature. This feature requires mounting\nthe kernel debug filesystem, so the eBPF pod has to run as privileged.\nIt requires using the OVN-Kubernetes network plugin with the Observability feature.\nIMPORTANT: this feature is available as a Developer Preview.
" items: - description: "Agent feature, can be one of:
\n- `PacketDrop`, to track packet drops.
\n- `DNSTracking`, to track specific information on DNS traffic.
\n- `FlowRTT`, to track TCP latency.
\n- `NetworkEvents`, to track Network events.
" + description: "Agent feature, can be one of:
\n- `PacketDrop`, to track packet drops.
\n- `DNSTracking`, to track specific information on DNS traffic.
\n- `FlowRTT`, to track TCP latency.
\n- `NetworkEvents`, to track Network events [Developer Preview].
" enum: - "PacketDrop" - "DNSTracking" @@ -949,7 +949,7 @@ spec: description: "`forceSampleAll` allows disabling sampling in the IPFIX-based flow reporter.\nIt is not recommended to sample all the traffic with IPFIX, as it might generate cluster instability.\nIf you REALLY want to do that, set this flag to `true`. Use at your own risk.\nWhen it is set to `true`, the value of `sampling` is ignored." type: "boolean" ovnKubernetes: - description: "`ovnKubernetes` defines the settings of the OVN-Kubernetes CNI, when available. This configuration is used when using OVN's IPFIX exports, without OpenShift. When using OpenShift, refer to the `clusterNetworkOperator` property instead." + description: "`ovnKubernetes` defines the settings of the OVN-Kubernetes network plugin, when available. This configuration is used when using OVN's IPFIX exports, without OpenShift. When using OpenShift, refer to the `clusterNetworkOperator` property instead." properties: containerName: default: "ovnkube-node" @@ -2793,9 +2793,6 @@ spec: description: "`networkPolicy` defines ingress network policy settings for NetObserv components isolation." properties: additionalNamespaces: - default: - - "openshift-console" - - "openshift-monitoring" description: "`additionalNamespaces` contains additional namespaces allowed to connect to the NetObserv namespace.\nIt gives some flexibility in the network policy configuration, however should you need a more specific\nconfiguration, you can disable it and install your own instead." items: type: "string" diff --git a/crd-catalog/nginxinc/kubernetes-ingress/appprotectdos.f5.com/v1beta1/dosprotectedresources.yaml b/crd-catalog/nginxinc/kubernetes-ingress/appprotectdos.f5.com/v1beta1/dosprotectedresources.yaml index 9065970b0..cc4361511 100644 --- a/crd-catalog/nginxinc/kubernetes-ingress/appprotectdos.f5.com/v1beta1/dosprotectedresources.yaml +++ b/crd-catalog/nginxinc/kubernetes-ingress/appprotectdos.f5.com/v1beta1/dosprotectedresources.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "dosprotectedresources.appprotectdos.f5.com" spec: group: "appprotectdos.f5.com" diff --git a/crd-catalog/nginxinc/kubernetes-ingress/externaldns.nginx.org/v1/dnsendpoints.yaml b/crd-catalog/nginxinc/kubernetes-ingress/externaldns.nginx.org/v1/dnsendpoints.yaml index b18f0896a..459de478f 100644 --- a/crd-catalog/nginxinc/kubernetes-ingress/externaldns.nginx.org/v1/dnsendpoints.yaml +++ b/crd-catalog/nginxinc/kubernetes-ingress/externaldns.nginx.org/v1/dnsendpoints.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "dnsendpoints.externaldns.nginx.org" spec: group: "externaldns.nginx.org" diff --git a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/globalconfigurations.yaml b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/globalconfigurations.yaml index f619e9153..f11bc0b26 100644 --- a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/globalconfigurations.yaml +++ b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/globalconfigurations.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "globalconfigurations.k8s.nginx.org" spec: group: "k8s.nginx.org" diff --git a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/policies.yaml b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/policies.yaml index 88d5c6b7a..5d2be2d15 100644 --- a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/policies.yaml +++ b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/policies.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "policies.k8s.nginx.org" spec: group: "k8s.nginx.org" diff --git a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/transportservers.yaml b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/transportservers.yaml index a0ff9124f..8f28b49cc 100644 --- a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/transportservers.yaml +++ b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/transportservers.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "transportservers.k8s.nginx.org" spec: group: "k8s.nginx.org" diff --git a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/virtualserverroutes.yaml b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/virtualserverroutes.yaml index a13f6dbc6..bb7b8f5bc 100644 --- a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/virtualserverroutes.yaml +++ b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/virtualserverroutes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "virtualserverroutes.k8s.nginx.org" spec: group: "k8s.nginx.org" diff --git a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/virtualservers.yaml b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/virtualservers.yaml index 06a296c71..4fc049a7d 100644 --- a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/virtualservers.yaml +++ b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1/virtualservers.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "virtualservers.k8s.nginx.org" spec: group: "k8s.nginx.org" diff --git a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1alpha1/globalconfigurations.yaml b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1alpha1/globalconfigurations.yaml index 4b0282d11..8a1acfe33 100644 --- a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1alpha1/globalconfigurations.yaml +++ b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1alpha1/globalconfigurations.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "globalconfigurations.k8s.nginx.org" spec: group: "k8s.nginx.org" diff --git a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1alpha1/policies.yaml b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1alpha1/policies.yaml index d6304830d..578bd23b5 100644 --- a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1alpha1/policies.yaml +++ b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1alpha1/policies.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "policies.k8s.nginx.org" spec: group: "k8s.nginx.org" diff --git a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1alpha1/transportservers.yaml b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1alpha1/transportservers.yaml index 230660e9a..8aa405151 100644 --- a/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1alpha1/transportservers.yaml +++ b/crd-catalog/nginxinc/kubernetes-ingress/k8s.nginx.org/v1alpha1/transportservers.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "transportservers.k8s.nginx.org" spec: group: "k8s.nginx.org" diff --git a/crd-catalog/open-telemetry/opentelemetry-operator/opentelemetry.io/v1alpha1/instrumentations.yaml b/crd-catalog/open-telemetry/opentelemetry-operator/opentelemetry.io/v1alpha1/instrumentations.yaml index c275dfe9b..51615ccc1 100644 --- a/crd-catalog/open-telemetry/opentelemetry-operator/opentelemetry.io/v1alpha1/instrumentations.yaml +++ b/crd-catalog/open-telemetry/opentelemetry-operator/opentelemetry.io/v1alpha1/instrumentations.yaml @@ -406,6 +406,19 @@ spec: properties: endpoint: type: "string" + tls: + properties: + ca_file: + type: "string" + cert_file: + type: "string" + configMapName: + type: "string" + key_file: + type: "string" + secretName: + type: "string" + type: "object" type: "object" go: properties: diff --git a/crd-catalog/project-codeflare/codeflare-operator/workload.codeflare.dev/v1beta2/appwrappers.yaml b/crd-catalog/project-codeflare/codeflare-operator/workload.codeflare.dev/v1beta2/appwrappers.yaml index e39fb37aa..ab5290868 100644 --- a/crd-catalog/project-codeflare/codeflare-operator/workload.codeflare.dev/v1beta2/appwrappers.yaml +++ b/crd-catalog/project-codeflare/codeflare-operator/workload.codeflare.dev/v1beta2/appwrappers.yaml @@ -125,6 +125,9 @@ spec: - "template" type: "object" type: "array" + managedBy: + description: "ManagedBy is used to indicate the controller or entity that manages the AppWrapper." + type: "string" suspend: description: "Suspend suspends the AppWrapper when set to true" type: "boolean" diff --git a/crd-catalog/projectcalico/calico/crd.projectcalico.org/v1/felixconfigurations.yaml b/crd-catalog/projectcalico/calico/crd.projectcalico.org/v1/felixconfigurations.yaml index 3be8cc0c3..83bd0644b 100644 --- a/crd-catalog/projectcalico/calico/crd.projectcalico.org/v1/felixconfigurations.yaml +++ b/crd-catalog/projectcalico/calico/crd.projectcalico.org/v1/felixconfigurations.yaml @@ -301,7 +301,7 @@ spec: pattern: "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$" type: "string" ipForwarding: - description: "IPForwarding controls whether Felix sets the host sysctls to enable IP forwarding. IP forwarding is required when using Calico for workload networking. This should only be disabled on hosts where Calico is used for host protection. [Default: Enabled]" + description: "IPForwarding controls whether Felix sets the host sysctls to enable IP forwarding. IP forwarding is required when using Calico for workload networking. This should only be disabled on hosts where Calico is used for host protection. In BPF mode, due to a kernel interaction, either IPForwarding must be enabled or BPFEnforceRPF must be disabled. [Default: Enabled]" enum: - "Enabled" - "Disabled" diff --git a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/alertmanagers.yaml b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/alertmanagers.yaml index 866e462e8..e61811935 100644 --- a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/alertmanagers.yaml +++ b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/alertmanagers.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "alertmanagers.monitoring.coreos.com" spec: group: "monitoring.coreos.com" diff --git a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/podmonitors.yaml b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/podmonitors.yaml index a38d370e5..b0c032d88 100644 --- a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/podmonitors.yaml +++ b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/podmonitors.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "podmonitors.monitoring.coreos.com" spec: group: "monitoring.coreos.com" diff --git a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/probes.yaml b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/probes.yaml index bcd03ed5d..1c262518a 100644 --- a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/probes.yaml +++ b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/probes.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "probes.monitoring.coreos.com" spec: group: "monitoring.coreos.com" diff --git a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/prometheuses.yaml b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/prometheuses.yaml index 97ecf81c9..a6166b0e0 100644 --- a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/prometheuses.yaml +++ b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/prometheuses.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "prometheuses.monitoring.coreos.com" spec: group: "monitoring.coreos.com" @@ -2370,7 +2370,7 @@ spec: - "ip" x-kubernetes-list-type: "map" hostNetwork: - description: "Use the host's network namespace if true.\n\nMake sure to understand the security implications if you want to enable\nit (https://kubernetes.io/docs/concepts/configuration/overview/).\n\nWhen hostNetwork is enabled, this will set the DNS policy to\n`ClusterFirstWithHostNet` automatically." + description: "Use the host's network namespace if true.\n\nMake sure to understand the security implications if you want to enable\nit (https://kubernetes.io/docs/concepts/configuration/overview/).\n\nWhen hostNetwork is enabled, this will set the DNS policy to\n`ClusterFirstWithHostNet` automatically (unless `.spec.DNSPolicy` is set\nto a different value)." type: "boolean" ignoreNamespaceSelectors: description: "When true, `spec.namespaceSelector` from all PodMonitor, ServiceMonitor\nand Probe objects will be ignored. They will only discover targets\nwithin the namespace of the PodMonitor, ServiceMonitor and Probe\nobject." @@ -3338,7 +3338,7 @@ spec: description: "Defines on which Nodes the Pods are scheduled." type: "object" otlp: - description: "Settings related to the OTLP receiver feature.\nIt requires Prometheus >= v2.54.0." + description: "Settings related to the OTLP receiver feature.\nIt requires Prometheus >= v2.55.0." properties: promoteResourceAttributes: description: "List of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none." diff --git a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/prometheusrules.yaml b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/prometheusrules.yaml index 7785860ce..a71e38093 100644 --- a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/prometheusrules.yaml +++ b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/prometheusrules.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "prometheusrules.monitoring.coreos.com" spec: group: "monitoring.coreos.com" diff --git a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/servicemonitors.yaml b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/servicemonitors.yaml index 4a79c4b2d..7310df163 100644 --- a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/servicemonitors.yaml +++ b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/servicemonitors.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "servicemonitors.monitoring.coreos.com" spec: group: "monitoring.coreos.com" diff --git a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/thanosrulers.yaml b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/thanosrulers.yaml index 2afd5a6a8..d33860060 100644 --- a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/thanosrulers.yaml +++ b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1/thanosrulers.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "thanosrulers.monitoring.coreos.com" spec: group: "monitoring.coreos.com" diff --git a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/alertmanagerconfigs.yaml b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/alertmanagerconfigs.yaml index fb440ea5b..406baf65d 100644 --- a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/alertmanagerconfigs.yaml +++ b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/alertmanagerconfigs.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "alertmanagerconfigs.monitoring.coreos.com" spec: group: "monitoring.coreos.com" diff --git a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/prometheusagents.yaml b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/prometheusagents.yaml index f83c24d6d..090443696 100644 --- a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/prometheusagents.yaml +++ b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/prometheusagents.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "prometheusagents.monitoring.coreos.com" spec: group: "monitoring.coreos.com" @@ -1911,7 +1911,7 @@ spec: - "ip" x-kubernetes-list-type: "map" hostNetwork: - description: "Use the host's network namespace if true.\n\nMake sure to understand the security implications if you want to enable\nit (https://kubernetes.io/docs/concepts/configuration/overview/).\n\nWhen hostNetwork is enabled, this will set the DNS policy to\n`ClusterFirstWithHostNet` automatically." + description: "Use the host's network namespace if true.\n\nMake sure to understand the security implications if you want to enable\nit (https://kubernetes.io/docs/concepts/configuration/overview/).\n\nWhen hostNetwork is enabled, this will set the DNS policy to\n`ClusterFirstWithHostNet` automatically (unless `.spec.DNSPolicy` is set\nto a different value)." type: "boolean" ignoreNamespaceSelectors: description: "When true, `spec.namespaceSelector` from all PodMonitor, ServiceMonitor\nand Probe objects will be ignored. They will only discover targets\nwithin the namespace of the PodMonitor, ServiceMonitor and Probe\nobject." @@ -2885,7 +2885,7 @@ spec: description: "Defines on which Nodes the Pods are scheduled." type: "object" otlp: - description: "Settings related to the OTLP receiver feature.\nIt requires Prometheus >= v2.54.0." + description: "Settings related to the OTLP receiver feature.\nIt requires Prometheus >= v2.55.0." properties: promoteResourceAttributes: description: "List of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none." diff --git a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/scrapeconfigs.yaml b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/scrapeconfigs.yaml index ca29baf57..05c8d8b4a 100644 --- a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/scrapeconfigs.yaml +++ b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1alpha1/scrapeconfigs.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "scrapeconfigs.monitoring.coreos.com" spec: group: "monitoring.coreos.com" @@ -7928,9 +7928,13 @@ spec: targets: description: "List of targets for this static configuration." items: - description: "Target represents a target for Prometheus to scrape" + description: "Target represents a target for Prometheus to scrape\nkubebuilder:validation:MinLength:=1" type: "string" + minItems: 1 type: "array" + x-kubernetes-list-type: "set" + required: + - "targets" type: "object" type: "array" targetLimit: diff --git a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1beta1/alertmanagerconfigs.yaml b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1beta1/alertmanagerconfigs.yaml index b2fc5f403..e22fb9110 100644 --- a/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1beta1/alertmanagerconfigs.yaml +++ b/crd-catalog/prometheus-operator/prometheus-operator/monitoring.coreos.com/v1beta1/alertmanagerconfigs.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.16.3" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "alertmanagerconfigs.monitoring.coreos.com" spec: group: "monitoring.coreos.com" diff --git a/crd-catalog/scylladb/scylla-operator/scylla.scylladb.com/v1/scyllaclusters.yaml b/crd-catalog/scylladb/scylla-operator/scylla.scylladb.com/v1/scyllaclusters.yaml index 0f71d2f2f..2e54e3fc6 100644 --- a/crd-catalog/scylladb/scylla-operator/scylla.scylladb.com/v1/scyllaclusters.yaml +++ b/crd-catalog/scylladb/scylla-operator/scylla.scylladb.com/v1/scyllaclusters.yaml @@ -2178,6 +2178,11 @@ spec: items: type: "string" type: "array" + labels: + additionalProperties: + type: "string" + description: "labels reflects the labels of a task." + type: "object" location: description: "location reflects a list of backup locations in the format [:]: ex. s3:my-bucket." items: @@ -2362,6 +2367,11 @@ spec: items: type: "string" type: "array" + labels: + additionalProperties: + type: "string" + description: "labels reflects the labels of a task." + type: "object" name: description: "name reflects the name of a task." type: "string" diff --git a/crd-catalog/solo-io/gloo/gateway.solo.io/v1/gateways.yaml b/crd-catalog/solo-io/gloo/gateway.solo.io/v1/gateways.yaml index 482a78346..b8f89e207 100644 --- a/crd-catalog/solo-io/gloo/gateway.solo.io/v1/gateways.yaml +++ b/crd-catalog/solo-io/gloo/gateway.solo.io/v1/gateways.yaml @@ -985,6 +985,8 @@ spec: properties: clusterName: type: "string" + collectorHostname: + type: "string" collectorUpstreamRef: properties: name: @@ -992,6 +994,14 @@ spec: namespace: type: "string" type: "object" + remoteConfig: + properties: + disabled: + nullable: true + type: "boolean" + pollingInterval: + type: "string" + type: "object" serviceName: nullable: true type: "string" @@ -1624,6 +1634,8 @@ spec: properties: clusterName: type: "string" + collectorHostname: + type: "string" collectorUpstreamRef: properties: name: @@ -1631,6 +1643,14 @@ spec: namespace: type: "string" type: "object" + remoteConfig: + properties: + disabled: + nullable: true + type: "boolean" + pollingInterval: + type: "string" + type: "object" serviceName: nullable: true type: "string" @@ -2929,6 +2949,8 @@ spec: properties: clusterName: type: "string" + collectorHostname: + type: "string" collectorUpstreamRef: properties: name: @@ -2936,6 +2958,14 @@ spec: namespace: type: "string" type: "object" + remoteConfig: + properties: + disabled: + nullable: true + type: "boolean" + pollingInterval: + type: "string" + type: "object" serviceName: nullable: true type: "string" diff --git a/crd-catalog/solo-io/gloo/gateway.solo.io/v1/httpgateways.yaml b/crd-catalog/solo-io/gloo/gateway.solo.io/v1/httpgateways.yaml index df9e4c6e5..486fe154e 100644 --- a/crd-catalog/solo-io/gloo/gateway.solo.io/v1/httpgateways.yaml +++ b/crd-catalog/solo-io/gloo/gateway.solo.io/v1/httpgateways.yaml @@ -979,6 +979,8 @@ spec: properties: clusterName: type: "string" + collectorHostname: + type: "string" collectorUpstreamRef: properties: name: @@ -986,6 +988,14 @@ spec: namespace: type: "string" type: "object" + remoteConfig: + properties: + disabled: + nullable: true + type: "boolean" + pollingInterval: + type: "string" + type: "object" serviceName: nullable: true type: "string" diff --git a/crd-catalog/solo-io/gloo/gateway.solo.io/v1/routeoptions.yaml b/crd-catalog/solo-io/gloo/gateway.solo.io/v1/routeoptions.yaml index dca237be1..752095fce 100644 --- a/crd-catalog/solo-io/gloo/gateway.solo.io/v1/routeoptions.yaml +++ b/crd-catalog/solo-io/gloo/gateway.solo.io/v1/routeoptions.yaml @@ -68,24 +68,80 @@ spec: properties: request: properties: - customResponseMessage: - type: "string" - matches: - items: - type: "string" - type: "array" + customResponse: + properties: + message: + type: "string" + statusCode: + maximum: 4294967295.0 + minimum: 0.0 + type: "integer" + type: "object" + regex: + properties: + builtins: + items: + type: "string" + x-kubernetes-int-or-string: true + type: "array" + matches: + items: + type: "string" + type: "array" + type: "object" + webhook: + properties: + headers: + items: + properties: + key: + type: "string" + matchType: + type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "array" + host: + type: "string" + port: + maximum: 4294967295.0 + minimum: 0.0 + type: "integer" + type: "object" type: "object" response: properties: - builtins: - items: - type: "string" - x-kubernetes-int-or-string: true - type: "array" - matches: - items: - type: "string" - type: "array" + regex: + properties: + builtins: + items: + type: "string" + x-kubernetes-int-or-string: true + type: "array" + matches: + items: + type: "string" + type: "array" + type: "object" + webhook: + properties: + headers: + items: + properties: + key: + type: "string" + matchType: + type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "array" + host: + type: "string" + port: + maximum: 4294967295.0 + minimum: 0.0 + type: "integer" + type: "object" type: "object" type: "object" rag: diff --git a/crd-catalog/solo-io/gloo/gateway.solo.io/v1/routetables.yaml b/crd-catalog/solo-io/gloo/gateway.solo.io/v1/routetables.yaml index 462ef3384..4399ee162 100644 --- a/crd-catalog/solo-io/gloo/gateway.solo.io/v1/routetables.yaml +++ b/crd-catalog/solo-io/gloo/gateway.solo.io/v1/routetables.yaml @@ -178,24 +178,80 @@ spec: properties: request: properties: - customResponseMessage: - type: "string" - matches: - items: - type: "string" - type: "array" + customResponse: + properties: + message: + type: "string" + statusCode: + maximum: 4294967295.0 + minimum: 0.0 + type: "integer" + type: "object" + regex: + properties: + builtins: + items: + type: "string" + x-kubernetes-int-or-string: true + type: "array" + matches: + items: + type: "string" + type: "array" + type: "object" + webhook: + properties: + headers: + items: + properties: + key: + type: "string" + matchType: + type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "array" + host: + type: "string" + port: + maximum: 4294967295.0 + minimum: 0.0 + type: "integer" + type: "object" type: "object" response: properties: - builtins: - items: - type: "string" - x-kubernetes-int-or-string: true - type: "array" - matches: - items: - type: "string" - type: "array" + regex: + properties: + builtins: + items: + type: "string" + x-kubernetes-int-or-string: true + type: "array" + matches: + items: + type: "string" + type: "array" + type: "object" + webhook: + properties: + headers: + items: + properties: + key: + type: "string" + matchType: + type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "array" + host: + type: "string" + port: + maximum: 4294967295.0 + minimum: 0.0 + type: "integer" + type: "object" type: "object" type: "object" rag: diff --git a/crd-catalog/solo-io/gloo/gateway.solo.io/v1/virtualservices.yaml b/crd-catalog/solo-io/gloo/gateway.solo.io/v1/virtualservices.yaml index a62aee30a..2f3ed9b57 100644 --- a/crd-catalog/solo-io/gloo/gateway.solo.io/v1/virtualservices.yaml +++ b/crd-catalog/solo-io/gloo/gateway.solo.io/v1/virtualservices.yaml @@ -3197,24 +3197,80 @@ spec: properties: request: properties: - customResponseMessage: - type: "string" - matches: - items: - type: "string" - type: "array" + customResponse: + properties: + message: + type: "string" + statusCode: + maximum: 4294967295.0 + minimum: 0.0 + type: "integer" + type: "object" + regex: + properties: + builtins: + items: + type: "string" + x-kubernetes-int-or-string: true + type: "array" + matches: + items: + type: "string" + type: "array" + type: "object" + webhook: + properties: + headers: + items: + properties: + key: + type: "string" + matchType: + type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "array" + host: + type: "string" + port: + maximum: 4294967295.0 + minimum: 0.0 + type: "integer" + type: "object" type: "object" response: properties: - builtins: - items: - type: "string" - x-kubernetes-int-or-string: true - type: "array" - matches: - items: - type: "string" - type: "array" + regex: + properties: + builtins: + items: + type: "string" + x-kubernetes-int-or-string: true + type: "array" + matches: + items: + type: "string" + type: "array" + type: "object" + webhook: + properties: + headers: + items: + properties: + key: + type: "string" + matchType: + type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "array" + host: + type: "string" + port: + maximum: 4294967295.0 + minimum: 0.0 + type: "integer" + type: "object" type: "object" type: "object" rag: diff --git a/crd-catalog/solo-io/gloo/gloo.solo.io/v1/upstreams.yaml b/crd-catalog/solo-io/gloo/gloo.solo.io/v1/upstreams.yaml index dabacfe97..873d9f47c 100644 --- a/crd-catalog/solo-io/gloo/gloo.solo.io/v1/upstreams.yaml +++ b/crd-catalog/solo-io/gloo/gloo.solo.io/v1/upstreams.yaml @@ -71,6 +71,25 @@ spec: endpoint: type: "string" type: "object" + gemini: + properties: + apiVersion: + type: "string" + authToken: + properties: + inline: + type: "string" + secretRef: + properties: + name: + type: "string" + namespace: + type: "string" + type: "object" + type: "object" + model: + type: "string" + type: "object" mistral: properties: authToken: @@ -154,6 +173,25 @@ spec: endpoint: type: "string" type: "object" + gemini: + properties: + apiVersion: + type: "string" + authToken: + properties: + inline: + type: "string" + secretRef: + properties: + name: + type: "string" + namespace: + type: "string" + type: "object" + type: "object" + model: + type: "string" + type: "object" mistral: properties: authToken: diff --git a/crd-catalog/stackabletech/listener-operator/listeners.stackable.tech/v1alpha1/listenerclasses.yaml b/crd-catalog/stackabletech/listener-operator/listeners.stackable.tech/v1alpha1/listenerclasses.yaml index b3cfbbdd9..8fa24fe53 100644 --- a/crd-catalog/stackabletech/listener-operator/listeners.stackable.tech/v1alpha1/listenerclasses.yaml +++ b/crd-catalog/stackabletech/listener-operator/listeners.stackable.tech/v1alpha1/listenerclasses.yaml @@ -23,6 +23,13 @@ spec: spec: description: "Defines a policy for how [Listeners](https://docs.stackable.tech/home/nightly/listener-operator/listener) should be exposed. Read the [ListenerClass documentation](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass) for more information." properties: + preferredAddressType: + default: "Hostname" + description: "Whether addresses should prefer using the IP address (`IP`) or the hostname (`Hostname`).\n\nThe other type will be used if the preferred type is not available. By default `Hostname` is used." + enum: + - "Hostname" + - "IP" + type: "string" serviceAnnotations: additionalProperties: type: "string" diff --git a/crd-catalog/stackabletech/nifi-operator/nifi.stackable.tech/v1alpha1/nificlusters.yaml b/crd-catalog/stackabletech/nifi-operator/nifi.stackable.tech/v1alpha1/nificlusters.yaml index f48d4eed9..156337f4f 100644 --- a/crd-catalog/stackabletech/nifi-operator/nifi.stackable.tech/v1alpha1/nificlusters.yaml +++ b/crd-catalog/stackabletech/nifi-operator/nifi.stackable.tech/v1alpha1/nificlusters.yaml @@ -54,6 +54,22 @@ spec: - "authenticationClass" type: "object" type: "array" + createReportingTaskJob: + default: + enabled: true + podOverrides: {} + description: "This section creates a `create-reporting-task` Kubernetes Job, which enables the export of Prometheus metrics within NiFi." + properties: + enabled: + default: true + description: "Wether the Kubernetes Job should be created, defaults to true. It can be helpful to disable the Job, e.g. when you configOverride an authentication mechanism, which the Job currently can't use to authenticate against NiFi." + type: "boolean" + podOverrides: + default: {} + description: "Here you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on the Pod of the create-reporting-task Kubernetes Job. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information." + type: "object" + x-kubernetes-preserve-unknown-fields: true + type: "object" extraVolumes: description: "Extra volumes similar to `.spec.volumes` on a Pod to mount into every container, this can be useful to for example make client certificates, keytabs or similar things available to processors. These volumes will be mounted into all pods at `/stackable/userdata/{volumename}`. See also the [external files usage guide](https://docs.stackable.tech/home/nightly/nifi/usage_guide/extra-volumes)." items: diff --git a/crd-catalog/stackabletech/secret-operator/secrets.stackable.tech/v1alpha1/secretclasses.yaml b/crd-catalog/stackabletech/secret-operator/secrets.stackable.tech/v1alpha1/secretclasses.yaml index 850ec3a07..a28c07cd1 100644 --- a/crd-catalog/stackabletech/secret-operator/secrets.stackable.tech/v1alpha1/secretclasses.yaml +++ b/crd-catalog/stackabletech/secret-operator/secrets.stackable.tech/v1alpha1/secretclasses.yaml @@ -243,6 +243,7 @@ spec: type: "string" realmName: description: "The name of the Kerberos realm. This should be provided by the Kerberos administrator." + pattern: "^[-.a-zA-Z0-9]+$" type: "string" required: - "admin" diff --git a/crd-catalog/tigera/operator/operator.tigera.io/v1/applicationlayers.yaml b/crd-catalog/tigera/operator/operator.tigera.io/v1/applicationlayers.yaml index 69fa6ae49..276858783 100644 --- a/crd-catalog/tigera/operator/operator.tigera.io/v1/applicationlayers.yaml +++ b/crd-catalog/tigera/operator/operator.tigera.io/v1/applicationlayers.yaml @@ -246,6 +246,12 @@ spec: - "type" type: "object" type: "array" + sidecarWebhook: + description: "SidecarWebhook provides the state of sidecar injection mutatinwebhookconfiguration" + enum: + - "Enabled" + - "Disabled" + type: "string" state: description: "State provides user-readable status." type: "string" diff --git a/crd-catalog/tigera/operator/operator.tigera.io/v1/installations.yaml b/crd-catalog/tigera/operator/operator.tigera.io/v1/installations.yaml index d099b3883..8d5d70a6f 100644 --- a/crd-catalog/tigera/operator/operator.tigera.io/v1/installations.yaml +++ b/crd-catalog/tigera/operator/operator.tigera.io/v1/installations.yaml @@ -701,7 +701,7 @@ spec: - "Disabled" type: "string" ipPools: - description: "IPPools contains a list of IP pools to create if none exist. At most one IP pool of each\naddress family may be specified. If omitted, a single pool will be configured if needed." + description: "IPPools contains a list of IP pools to manage. If nil, a single IPv4 IP pool\nwill be created by the operator. If an empty list is provided, the operator will not create any IP pools and will instead\nwait for IP pools to be created out-of-band.\nIP pools in this list will be reconciled by the operator and should not be modified out-of-band." items: properties: allowedUses: @@ -5447,7 +5447,7 @@ spec: - "Disabled" type: "string" ipPools: - description: "IPPools contains a list of IP pools to create if none exist. At most one IP pool of each\naddress family may be specified. If omitted, a single pool will be configured if needed." + description: "IPPools contains a list of IP pools to manage. If nil, a single IPv4 IP pool\nwill be created by the operator. If an empty list is provided, the operator will not create any IP pools and will instead\nwait for IP pools to be created out-of-band.\nIP pools in this list will be reconciled by the operator and should not be modified out-of-band." items: properties: allowedUses: diff --git a/crd-catalog/tinkerbell/rufio/bmc.tinkerbell.org/v1alpha1/jobs.yaml b/crd-catalog/tinkerbell/rufio/bmc.tinkerbell.org/v1alpha1/jobs.yaml index cba124d5d..90491dad6 100644 --- a/crd-catalog/tinkerbell/rufio/bmc.tinkerbell.org/v1alpha1/jobs.yaml +++ b/crd-catalog/tinkerbell/rufio/bmc.tinkerbell.org/v1alpha1/jobs.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.15.0" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "jobs.bmc.tinkerbell.org" spec: group: "bmc.tinkerbell.org" diff --git a/crd-catalog/tinkerbell/rufio/bmc.tinkerbell.org/v1alpha1/machines.yaml b/crd-catalog/tinkerbell/rufio/bmc.tinkerbell.org/v1alpha1/machines.yaml index 6be38f89b..5319cf296 100644 --- a/crd-catalog/tinkerbell/rufio/bmc.tinkerbell.org/v1alpha1/machines.yaml +++ b/crd-catalog/tinkerbell/rufio/bmc.tinkerbell.org/v1alpha1/machines.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.15.0" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "machines.bmc.tinkerbell.org" spec: group: "bmc.tinkerbell.org" diff --git a/crd-catalog/tinkerbell/rufio/bmc.tinkerbell.org/v1alpha1/tasks.yaml b/crd-catalog/tinkerbell/rufio/bmc.tinkerbell.org/v1alpha1/tasks.yaml index ab705b774..5afb357e7 100644 --- a/crd-catalog/tinkerbell/rufio/bmc.tinkerbell.org/v1alpha1/tasks.yaml +++ b/crd-catalog/tinkerbell/rufio/bmc.tinkerbell.org/v1alpha1/tasks.yaml @@ -2,7 +2,7 @@ apiVersion: "apiextensions.k8s.io/v1" kind: "CustomResourceDefinition" metadata: annotations: - controller-gen.kubebuilder.io/version: "v0.15.0" + controller-gen.kubebuilder.io/version: "v0.16.4" name: "tasks.bmc.tinkerbell.org" spec: group: "bmc.tinkerbell.org" diff --git a/crd-catalog/tinkerbell/tink/tinkerbell.org/v1alpha1/workflows.yaml b/crd-catalog/tinkerbell/tink/tinkerbell.org/v1alpha1/workflows.yaml index 6daea8afe..443cb7fa5 100644 --- a/crd-catalog/tinkerbell/tink/tinkerbell.org/v1alpha1/workflows.yaml +++ b/crd-catalog/tinkerbell/tink/tinkerbell.org/v1alpha1/workflows.yaml @@ -49,9 +49,16 @@ spec: bootOptions: description: "BootOptions are options that control the booting of Hardware." properties: - oneTimeNetboot: - description: "OneTimeNetboot indicates whether the controller should create a job.bmc.tinkerbell.org object for getting the associated hardware\ninto a netbooting state.\nA HardwareRef that contains a spec.BmcRef must be provided." - type: "boolean" + bootMode: + description: "BootMode is the type of booting that will be done." + enum: + - "netboot" + - "iso" + type: "string" + isoURL: + description: "ISOURL is the URL of the ISO that will be one-time booted. When this field is set, the controller will create a job.bmc.tinkerbell.org object\nfor getting the associated hardware into a CDROM booting state.\nA HardwareRef that contains a spec.BmcRef must be provided." + format: "url" + type: "string" toggleAllowNetboot: description: "ToggleAllowNetboot indicates whether the controller should toggle the field in the associated hardware for allowing PXE booting.\nThis will be enabled before a Workflow is executed and disabled after the Workflow has completed successfully.\nA HardwareRef must be provided." type: "boolean" @@ -74,18 +81,29 @@ spec: bootOptions: description: "BootOptions holds the state of any boot options." properties: - netbootJob: - description: "OneTimeNetboot holds the state of a specific job.bmc.tinkerbell.org object created.\nOnly used when BootOptions.OneTimeNetboot is true." + allowNetboot: + description: "AllowNetboot holds the state of the the controller's interactions with the allowPXE field in a Hardware object." properties: - complete: - description: "Complete indicates whether the created job.bmc.tinkerbell.org has reported its conditions as complete." + toggledFalse: type: "boolean" - existingJobDeleted: - description: "ExistingJobDeleted indicates whether any existing job.bmc.tinkerbell.org was deleted.\nThe name of each job.bmc.tinkerbell.org object created by the controller is the same, so only one can exist at a time.\nUsing the same name was chosen so that there is only ever 1 job.bmc.tinkerbell.org per Hardware/Machine.bmc.tinkerbell.org.\nThis makes clean up easier and we dont just orphan jobs every time." + toggledTrue: type: "boolean" - uid: - description: "UID is the UID of the job.bmc.tinkerbell.org object associated with this workflow.\nThis is used to uniquely identify the job.bmc.tinkerbell.org object, as\nall objects for a specific Hardware/Machine.bmc.tinkerbell.org are created with the same name." - type: "string" + type: "object" + jobs: + additionalProperties: + description: "JobStatus holds the state of a specific job.bmc.tinkerbell.org object created." + properties: + complete: + description: "Complete indicates whether the created job.bmc.tinkerbell.org has reported its conditions as complete." + type: "boolean" + existingJobDeleted: + description: "ExistingJobDeleted indicates whether any existing job.bmc.tinkerbell.org was deleted.\nThe name of each job.bmc.tinkerbell.org object created by the controller is the same, so only one can exist at a time.\nUsing the same name was chosen so that there is only ever 1 job.bmc.tinkerbell.org per Hardware/Machine.bmc.tinkerbell.org.\nThis makes clean up easier and we dont just orphan jobs every time." + type: "boolean" + uid: + description: "UID is the UID of the job.bmc.tinkerbell.org object associated with this workflow.\nThis is used to uniquely identify the job.bmc.tinkerbell.org object, as\nall objects for a specific Hardware/Machine.bmc.tinkerbell.org are created with the same name." + type: "string" + type: "object" + description: "Jobs holds the state of any job.bmc.tinkerbell.org objects created." type: "object" type: "object" conditions: diff --git a/crd-catalog/weaveworks/tf-controller/infra.contrib.fluxcd.io/v1alpha2/terraforms.yaml b/crd-catalog/weaveworks/tf-controller/infra.contrib.fluxcd.io/v1alpha2/terraforms.yaml index 3cc7279f6..d98b3182a 100644 --- a/crd-catalog/weaveworks/tf-controller/infra.contrib.fluxcd.io/v1alpha2/terraforms.yaml +++ b/crd-catalog/weaveworks/tf-controller/infra.contrib.fluxcd.io/v1alpha2/terraforms.yaml @@ -237,6 +237,9 @@ spec: interval: description: "The interval at which to reconcile the Terraform." type: "string" + maxRetryInterval: + description: "The maximum requeue duration after a previously failed reconciliation.\nOnly applicable when RetryStrategy is set to ExponentialBackoff.\nThe default value is 24 hours when not specified." + type: "string" parallelism: default: 0 description: "Parallelism limits the number of concurrent operations of Terraform apply step. Zero (0) means using the default value." @@ -275,6 +278,13 @@ spec: retryInterval: description: "The interval at which to retry a previously failed reconciliation.\nThe default value is 15 when not specified." type: "string" + retryStrategy: + default: "StaticInterval" + description: "The strategy to use when retrying a previously failed reconciliation.\nThe default strategy is StaticInterval and the retry interval is based on the RetryInterval value.\nThe ExponentialBackoff strategy uses the formula: 2^reconciliationFailures * RetryInterval with a\nmaximum requeue duration of MaxRetryInterval." + enum: + - "StaticInterval" + - "ExponentialBackoff" + type: "string" runnerPodTemplate: properties: metadata: diff --git a/crd-catalog/zalando/postgres-operator/acid.zalan.do/v1/operatorconfigurations.yaml b/crd-catalog/zalando/postgres-operator/acid.zalan.do/v1/operatorconfigurations.yaml index a618fa1e2..b3f12be59 100644 --- a/crd-catalog/zalando/postgres-operator/acid.zalan.do/v1/operatorconfigurations.yaml +++ b/crd-catalog/zalando/postgres-operator/acid.zalan.do/v1/operatorconfigurations.yaml @@ -504,28 +504,28 @@ spec: postgres_pod_resources: properties: default_cpu_limit: - pattern: "^(\\d+m|\\d+(\\.\\d{1,3})?)$" + pattern: "^(\\d+m|\\d+(\\.\\d{1,3})?)$|^$" type: "string" default_cpu_request: - pattern: "^(\\d+m|\\d+(\\.\\d{1,3})?)$" + pattern: "^(\\d+m|\\d+(\\.\\d{1,3})?)$|^$" type: "string" default_memory_limit: - pattern: "^(\\d+(e\\d+)?|\\d+(\\.\\d+)?(e\\d+)?[EPTGMK]i?)$" + pattern: "^(\\d+(e\\d+)?|\\d+(\\.\\d+)?(e\\d+)?[EPTGMK]i?)$|^$" type: "string" default_memory_request: - pattern: "^(\\d+(e\\d+)?|\\d+(\\.\\d+)?(e\\d+)?[EPTGMK]i?)$" + pattern: "^(\\d+(e\\d+)?|\\d+(\\.\\d+)?(e\\d+)?[EPTGMK]i?)$|^$" type: "string" max_cpu_request: - pattern: "^(\\d+m|\\d+(\\.\\d{1,3})?)$" + pattern: "^(\\d+m|\\d+(\\.\\d{1,3})?)$|^$" type: "string" max_memory_request: - pattern: "^(\\d+(e\\d+)?|\\d+(\\.\\d+)?(e\\d+)?[EPTGMK]i?)$" + pattern: "^(\\d+(e\\d+)?|\\d+(\\.\\d+)?(e\\d+)?[EPTGMK]i?)$|^$" type: "string" min_cpu_limit: - pattern: "^(\\d+m|\\d+(\\.\\d{1,3})?)$" + pattern: "^(\\d+m|\\d+(\\.\\d{1,3})?)$|^$" type: "string" min_memory_limit: - pattern: "^(\\d+(e\\d+)?|\\d+(\\.\\d+)?(e\\d+)?[EPTGMK]i?)$" + pattern: "^(\\d+(e\\d+)?|\\d+(\\.\\d+)?(e\\d+)?[EPTGMK]i?)$|^$" type: "string" type: "object" repair_period: diff --git a/kube-custom-resources-rs/src/anywhere_eks_amazonaws_com/v1alpha1/nutanixdatacenterconfigs.rs b/kube-custom-resources-rs/src/anywhere_eks_amazonaws_com/v1alpha1/nutanixdatacenterconfigs.rs index 19005e45b..850594447 100644 --- a/kube-custom-resources-rs/src/anywhere_eks_amazonaws_com/v1alpha1/nutanixdatacenterconfigs.rs +++ b/kube-custom-resources-rs/src/anywhere_eks_amazonaws_com/v1alpha1/nutanixdatacenterconfigs.rs @@ -55,6 +55,9 @@ pub struct NutanixDatacenterConfigFailureDomains { /// Subnets holds the list of subnets identifiers cluster's network subnets. #[serde(default, skip_serializing_if = "Option::is_none")] pub subnets: Option>, + /// Worker Machine Groups holds the list of worker machine group names that will use this failure domain. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "workerMachineGroups")] + pub worker_machine_groups: Option>, } /// Cluster is the Prism Element cluster name or uuid that is connected to the Prism Central. diff --git a/kube-custom-resources-rs/src/anywhere_eks_amazonaws_com/v1alpha1/nutanixmachineconfigs.rs b/kube-custom-resources-rs/src/anywhere_eks_amazonaws_com/v1alpha1/nutanixmachineconfigs.rs index aff8ebb44..6c0b4a5d1 100644 --- a/kube-custom-resources-rs/src/anywhere_eks_amazonaws_com/v1alpha1/nutanixmachineconfigs.rs +++ b/kube-custom-resources-rs/src/anywhere_eks_amazonaws_com/v1alpha1/nutanixmachineconfigs.rs @@ -25,6 +25,9 @@ pub struct NutanixMachineConfigSpec { pub additional_categories: Option>, /// cluster is to identify the cluster (the Prism Element under management of the Prism Central), in which the Machine's VM will be created. The cluster identifier (uuid or name) can be obtained from the Prism Central console or using the prism_central API. pub cluster: NutanixMachineConfigCluster, + /// List of GPU devices that should be added to the VMs. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub gpus: Option>, /// image is to identify the OS image uploaded to the Prism Central (PC) The image identifier (uuid or name) can be obtained from the Prism Central console or using the Prism Central API. It must include the Kubernetes version(s). For example, a template used for Kubernetes 1.27 could be ubuntu-2204-1.27. pub image: NutanixMachineConfigImage, /// memorySize is the memory size (in Quantity format) of the VM The minimum memorySize is 2Gi bytes @@ -84,6 +87,29 @@ pub enum NutanixMachineConfigClusterType { Name, } +/// NutanixGPUIdentifier holds VM GPU device configuration. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct NutanixMachineConfigGpus { + /// deviceID is the device ID of the GPU device. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "deviceID")] + pub device_id: Option, + /// vendorID is the vendor ID of the GPU device. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// type is the type of the GPU device. + #[serde(rename = "type")] + pub r#type: NutanixMachineConfigGpusType, +} + +/// NutanixGPUIdentifier holds VM GPU device configuration. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum NutanixMachineConfigGpusType { + #[serde(rename = "deviceID")] + DeviceId, + #[serde(rename = "name")] + Name, +} + /// image is to identify the OS image uploaded to the Prism Central (PC) The image identifier (uuid or name) can be obtained from the Prism Central console or using the Prism Central API. It must include the Kubernetes version(s). For example, a template used for Kubernetes 1.27 could be ubuntu-2204-1.27. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct NutanixMachineConfigImage { diff --git a/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/apis.rs b/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/apis.rs index 02925004f..05e113206 100644 --- a/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/apis.rs +++ b/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/apis.rs @@ -13,7 +13,6 @@ use self::prelude::*; /// ApiSpec defines the desired state of Api. /// -/// /// Represents an API. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "apigatewayv2.services.k8s.aws", version = "v1alpha1", kind = "API", plural = "apis")] @@ -123,7 +122,6 @@ pub struct APIStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/authorizers.rs b/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/authorizers.rs index b75ccc982..c451dbb8c 100644 --- a/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/authorizers.rs +++ b/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/authorizers.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// AuthorizerSpec defines the desired state of Authorizer. /// -/// /// Represents an authorizer. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "apigatewayv2.services.k8s.aws", version = "v1alpha1", kind = "Authorizer", plural = "authorizers")] @@ -29,7 +28,6 @@ pub struct AuthorizerSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiRef")] @@ -62,7 +60,6 @@ pub struct AuthorizerSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -123,7 +120,6 @@ pub struct AuthorizerStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/deployments.rs b/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/deployments.rs index 853158615..b00c8c1c1 100644 --- a/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/deployments.rs +++ b/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/deployments.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// DeploymentSpec defines the desired state of Deployment. /// -/// /// An immutable representation of an API that can be called by users. A Deployment /// must be associated with a Stage for it to be callable over the internet. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -30,7 +29,6 @@ pub struct DeploymentSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiRef")] @@ -46,7 +44,6 @@ pub struct DeploymentSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -104,7 +101,6 @@ pub struct DeploymentStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/routes.rs b/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/routes.rs index 3ec3aac70..6f6138a86 100644 --- a/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/routes.rs +++ b/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/routes.rs @@ -13,7 +13,6 @@ use self::prelude::*; /// RouteSpec defines the desired state of Route. /// -/// /// Represents a route. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "apigatewayv2.services.k8s.aws", version = "v1alpha1", kind = "Route", plural = "routes")] @@ -32,7 +31,6 @@ pub struct RouteSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiRef")] @@ -48,7 +46,6 @@ pub struct RouteSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "authorizerRef")] @@ -72,7 +69,6 @@ pub struct RouteSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetRef")] @@ -84,7 +80,6 @@ pub struct RouteSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -110,7 +105,6 @@ pub struct RouteApiRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -142,7 +136,6 @@ pub struct RouteRequestParameters { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -194,7 +187,6 @@ pub struct RouteStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/stages.rs b/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/stages.rs index d3136d325..7460d1dc5 100644 --- a/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/stages.rs +++ b/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/stages.rs @@ -13,7 +13,6 @@ use self::prelude::*; /// StageSpec defines the desired state of Stage. /// -/// /// Represents an API stage. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "apigatewayv2.services.k8s.aws", version = "v1alpha1", kind = "Stage", plural = "stages")] @@ -33,7 +32,6 @@ pub struct StageSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiRef")] @@ -52,7 +50,6 @@ pub struct StageSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "deploymentRef")] @@ -85,7 +82,6 @@ pub struct StageAccessLogSettings { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -127,7 +123,6 @@ pub struct StageDefaultRouteSettings { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -198,7 +193,6 @@ pub struct StageStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/vpclinks.rs b/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/vpclinks.rs index 458d98238..eedf32dc5 100644 --- a/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/vpclinks.rs +++ b/kube-custom-resources-rs/src/apigatewayv2_services_k8s_aws/v1alpha1/vpclinks.rs @@ -13,7 +13,6 @@ use self::prelude::*; /// VpcLinkSpec defines the desired state of VpcLink. /// -/// /// Represents a VPC link. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "apigatewayv2.services.k8s.aws", version = "v1alpha1", kind = "VPCLink", plural = "vpclinks")] @@ -69,7 +68,6 @@ pub struct VPCLinkStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/app_terraform_io/v1alpha2/modules.rs b/kube-custom-resources-rs/src/app_terraform_io/v1alpha2/modules.rs index 392500d61..24630bf41 100644 --- a/kube-custom-resources-rs/src/app_terraform_io/v1alpha2/modules.rs +++ b/kube-custom-resources-rs/src/app_terraform_io/v1alpha2/modules.rs @@ -126,7 +126,7 @@ pub struct ModuleStatus { /// - https://developer.hashicorp.com/terraform/cloud-docs/run/api #[serde(default, skip_serializing_if = "Option::is_none", rename = "configurationVersion")] pub configuration_version: Option, - /// Workspace Destroy Run status. + /// Workspace Destroy Run ID. #[serde(default, skip_serializing_if = "Option::is_none", rename = "destroyRunID")] pub destroy_run_id: Option, /// Real world state generation. diff --git a/kube-custom-resources-rs/src/app_terraform_io/v1alpha2/workspaces.rs b/kube-custom-resources-rs/src/app_terraform_io/v1alpha2/workspaces.rs index d992f17fd..e1951ec5c 100644 --- a/kube-custom-resources-rs/src/app_terraform_io/v1alpha2/workspaces.rs +++ b/kube-custom-resources-rs/src/app_terraform_io/v1alpha2/workspaces.rs @@ -36,6 +36,14 @@ pub struct WorkspaceSpec { /// - https://developer.hashicorp.com/terraform/cloud-docs/workspaces/settings#auto-apply-and-manual-apply #[serde(default, skip_serializing_if = "Option::is_none", rename = "applyMethod")] pub apply_method: Option, + /// The Deletion Policy specifies the behavior of the custom resource and its associated workspace when the custom resource is deleted. + /// - `retain`: When the custom resource is deleted, the associated workspace is retained. + /// - `soft`: Attempts to delete the associated workspace only if it does not contain any managed resources. + /// - `destroy`: Executes a destroy operation to remove all resources managed by the associated workspace. Once the destruction of these resources is successful, the workspace itself is deleted, followed by the removal of the custom resource. + /// - `force`: Forcefully and immediately deletes the workspace and the custom resource. + /// Default: `retain`. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "deletionPolicy")] + pub deletion_policy: Option, /// Workspace description. #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, @@ -148,6 +156,19 @@ pub struct WorkspaceAgentPool { pub name: Option, } +/// WorkspaceSpec defines the desired state of Workspace. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum WorkspaceDeletionPolicy { + #[serde(rename = "retain")] + Retain, + #[serde(rename = "soft")] + Soft, + #[serde(rename = "destroy")] + Destroy, + #[serde(rename = "force")] + Force, +} + /// Variables let you customize configurations, modify Terraform's behavior, and store information like provider credentials. /// More information: /// - https://developer.hashicorp.com/terraform/cloud-docs/workspaces/variables @@ -588,6 +609,9 @@ pub struct WorkspaceStatus { /// Default organization project ID. #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultProjectID")] pub default_project_id: Option, + /// Workspace Destroy Run ID. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "destroyRunID")] + pub destroy_run_id: Option, /// Real world state generation. #[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")] pub observed_generation: Option, diff --git a/kube-custom-resources-rs/src/applicationautoscaling_services_k8s_aws/v1alpha1/scalabletargets.rs b/kube-custom-resources-rs/src/applicationautoscaling_services_k8s_aws/v1alpha1/scalabletargets.rs index a4c1726ac..f90c913d1 100644 --- a/kube-custom-resources-rs/src/applicationautoscaling_services_k8s_aws/v1alpha1/scalabletargets.rs +++ b/kube-custom-resources-rs/src/applicationautoscaling_services_k8s_aws/v1alpha1/scalabletargets.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// ScalableTargetSpec defines the desired state of ScalableTarget. /// -/// /// Represents a scalable target. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "applicationautoscaling.services.k8s.aws", version = "v1alpha1", kind = "ScalableTarget", plural = "scalabletargets")] @@ -27,7 +26,6 @@ pub struct ScalableTargetSpec { /// maximum capacity limit in response to changing demand. This property is required /// when registering a new scalable target. /// - /// /// Although you can specify a large maximum capacity, note that service quotas /// may impose lower limits. Each service has its own default quotas for the /// maximum capacity of the resource. If you want to specify a higher limit, @@ -42,7 +40,6 @@ pub struct ScalableTargetSpec { /// the minimum capacity limit in response to changing demand. This property /// is required when registering a new scalable target. /// - /// /// For certain resources, the minimum value allowed is 0. This includes Lambda /// provisioned concurrency, Spot Fleet, ECS services, Aurora DB clusters, EMR /// clusters, and custom resources. For all other resources, the minimum value @@ -52,71 +49,55 @@ pub struct ScalableTargetSpec { /// The identifier of the resource that is associated with the scalable target. /// This string consists of the resource type and unique identifier. /// - /// /// * ECS service - The resource type is service and the unique identifier /// is the cluster name and service name. Example: service/default/sample-webapp. /// - /// /// * Spot Fleet - The resource type is spot-fleet-request and the unique /// identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. /// - /// /// * EMR cluster - The resource type is instancegroup and the unique identifier /// is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. /// - /// /// * AppStream 2.0 fleet - The resource type is fleet and the unique identifier /// is the fleet name. Example: fleet/sample-fleet. /// - /// /// * DynamoDB table - The resource type is table and the unique identifier /// is the table name. Example: table/my-table. /// - /// /// * DynamoDB global secondary index - The resource type is index and the /// unique identifier is the index name. Example: table/my-table/index/my-table-index. /// - /// /// * Aurora DB cluster - The resource type is cluster and the unique identifier /// is the cluster name. Example: cluster:my-db-cluster. /// - /// /// * SageMaker endpoint variant - The resource type is variant and the unique /// identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. /// - /// /// * Custom resources are not supported with a resource type. This parameter /// must specify the OutputValue from the CloudFormation template stack used /// to access the resources. The unique identifier is defined by the service /// provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). /// - /// /// * Amazon Comprehend document classification endpoint - The resource type /// and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. /// - /// /// * Amazon Comprehend entity recognizer endpoint - The resource type and /// unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. /// - /// /// * Lambda provisioned concurrency - The resource type is function and the /// unique identifier is the function name with a function version or alias /// name suffix that is not $LATEST. Example: function:my-function:prod or /// function:my-function:1. /// - /// /// * Amazon Keyspaces table - The resource type is table and the unique identifier /// is the table name. Example: keyspace/mykeyspace/table/mytable. /// - /// /// * Amazon MSK cluster - The resource type and unique identifier are specified /// using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. /// - /// /// * Amazon ElastiCache replication group - The resource type is replication-group /// and the unique identifier is the replication group name. Example: replication-group/mycluster. /// - /// /// * Neptune cluster - The resource type is cluster and the unique identifier /// is the cluster name. Example: cluster:mycluster. #[serde(rename = "resourceID")] @@ -125,7 +106,6 @@ pub struct ScalableTargetSpec { /// roles (such as Amazon EMR), and it must specify the ARN of an IAM role that /// allows Application Auto Scaling to modify the scalable target on your behalf. /// - /// /// If the service supports service-linked roles, Application Auto Scaling uses /// a service-linked role, which it creates if it does not yet exist. For more /// information, see Application Auto Scaling IAM roles (https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles). @@ -134,84 +114,64 @@ pub struct ScalableTargetSpec { /// The scalable dimension associated with the scalable target. This string consists /// of the service namespace, resource type, and scaling property. /// - /// /// * ecs:service:DesiredCount - The desired task count of an ECS service. /// - /// /// * elasticmapreduce:instancegroup:InstanceCount - The instance count of /// an EMR Instance Group. /// - /// /// * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot /// Fleet. /// - /// /// * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream /// 2.0 fleet. /// - /// /// * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for /// a DynamoDB table. /// - /// /// * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for /// a DynamoDB table. /// - /// /// * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for /// a DynamoDB global secondary index. /// - /// /// * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for /// a DynamoDB global secondary index. /// - /// /// * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora /// DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible /// edition. /// - /// /// * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances /// for an SageMaker model endpoint variant. /// - /// /// * custom-resource:ResourceType:Property - The scalable dimension for a /// custom resource provided by your own application or service. /// - /// /// * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The /// number of inference units for an Amazon Comprehend document classification /// endpoint. /// - /// /// * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number /// of inference units for an Amazon Comprehend entity recognizer endpoint. /// - /// /// * lambda:function:ProvisionedConcurrency - The provisioned concurrency /// for a Lambda function. /// - /// /// * cassandra:table:ReadCapacityUnits - The provisioned read capacity for /// an Amazon Keyspaces table. /// - /// /// * cassandra:table:WriteCapacityUnits - The provisioned write capacity /// for an Amazon Keyspaces table. /// - /// /// * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) /// for brokers in an Amazon MSK cluster. /// - /// /// * elasticache:replication-group:NodeGroups - The number of node groups /// for an Amazon ElastiCache replication group. /// - /// /// * elasticache:replication-group:Replicas - The number of replicas per /// node group for an Amazon ElastiCache replication group. /// - /// /// * neptune:cluster:ReadReplicaCount - The count of read replicas in an /// Amazon Neptune DB cluster. #[serde(rename = "scalableDimension")] @@ -226,22 +186,17 @@ pub struct ScalableTargetSpec { /// to true suspends the specified scaling activities. Setting it to false (default) /// resumes the specified scaling activities. /// - /// /// Suspension Outcomes /// - /// /// * For DynamicScalingInSuspended, while a suspension is in effect, all /// scale-in activities that are triggered by a scaling policy are suspended. /// - /// /// * For DynamicScalingOutSuspended, while a suspension is in effect, all /// scale-out activities that are triggered by a scaling policy are suspended. /// - /// /// * For ScheduledScalingSuspended, while a suspension is in effect, all /// scaling activities that involve scheduled actions are suspended. /// - /// /// For more information, see Suspending and resuming scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html) /// in the Application Auto Scaling User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "suspendedState")] @@ -253,22 +208,17 @@ pub struct ScalableTargetSpec { /// to true suspends the specified scaling activities. Setting it to false (default) /// resumes the specified scaling activities. /// -/// /// Suspension Outcomes /// -/// /// * For DynamicScalingInSuspended, while a suspension is in effect, all /// scale-in activities that are triggered by a scaling policy are suspended. /// -/// /// * For DynamicScalingOutSuspended, while a suspension is in effect, all /// scale-out activities that are triggered by a scaling policy are suspended. /// -/// /// * For ScheduledScalingSuspended, while a suspension is in effect, all /// scaling activities that involve scheduled actions are suspended. /// -/// /// For more information, see Suspending and resuming scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html) /// in the Application Auto Scaling User Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -314,7 +264,6 @@ pub struct ScalableTargetStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/applicationautoscaling_services_k8s_aws/v1alpha1/scalingpolicies.rs b/kube-custom-resources-rs/src/applicationautoscaling_services_k8s_aws/v1alpha1/scalingpolicies.rs index e50b370cd..19390cbb2 100644 --- a/kube-custom-resources-rs/src/applicationautoscaling_services_k8s_aws/v1alpha1/scalingpolicies.rs +++ b/kube-custom-resources-rs/src/applicationautoscaling_services_k8s_aws/v1alpha1/scalingpolicies.rs @@ -12,10 +12,8 @@ use self::prelude::*; /// ScalingPolicySpec defines the desired state of ScalingPolicy. /// -/// /// Represents a scaling policy to use with Application Auto Scaling. /// -/// /// For more information about configuring scaling policies for a specific service, /// see Getting started with Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/getting-started.html) /// in the Application Auto Scaling User Guide. @@ -33,17 +31,13 @@ pub struct ScalingPolicySpec { /// The policy type. This parameter is required if you are creating a scaling /// policy. /// - /// /// The following policy types are supported: /// - /// /// TargetTrackingScaling—Not supported for Amazon EMR /// - /// /// StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon /// Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune. /// - /// /// For more information, see Target tracking scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) /// and Step scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) /// in the Application Auto Scaling User Guide. @@ -52,71 +46,55 @@ pub struct ScalingPolicySpec { /// The identifier of the resource associated with the scaling policy. This string /// consists of the resource type and unique identifier. /// - /// /// * ECS service - The resource type is service and the unique identifier /// is the cluster name and service name. Example: service/default/sample-webapp. /// - /// /// * Spot Fleet - The resource type is spot-fleet-request and the unique /// identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. /// - /// /// * EMR cluster - The resource type is instancegroup and the unique identifier /// is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. /// - /// /// * AppStream 2.0 fleet - The resource type is fleet and the unique identifier /// is the fleet name. Example: fleet/sample-fleet. /// - /// /// * DynamoDB table - The resource type is table and the unique identifier /// is the table name. Example: table/my-table. /// - /// /// * DynamoDB global secondary index - The resource type is index and the /// unique identifier is the index name. Example: table/my-table/index/my-table-index. /// - /// /// * Aurora DB cluster - The resource type is cluster and the unique identifier /// is the cluster name. Example: cluster:my-db-cluster. /// - /// /// * SageMaker endpoint variant - The resource type is variant and the unique /// identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. /// - /// /// * Custom resources are not supported with a resource type. This parameter /// must specify the OutputValue from the CloudFormation template stack used /// to access the resources. The unique identifier is defined by the service /// provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). /// - /// /// * Amazon Comprehend document classification endpoint - The resource type /// and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. /// - /// /// * Amazon Comprehend entity recognizer endpoint - The resource type and /// unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. /// - /// /// * Lambda provisioned concurrency - The resource type is function and the /// unique identifier is the function name with a function version or alias /// name suffix that is not $LATEST. Example: function:my-function:prod or /// function:my-function:1. /// - /// /// * Amazon Keyspaces table - The resource type is table and the unique identifier /// is the table name. Example: keyspace/mykeyspace/table/mytable. /// - /// /// * Amazon MSK cluster - The resource type and unique identifier are specified /// using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. /// - /// /// * Amazon ElastiCache replication group - The resource type is replication-group /// and the unique identifier is the replication group name. Example: replication-group/mycluster. /// - /// /// * Neptune cluster - The resource type is cluster and the unique identifier /// is the cluster name. Example: cluster:mycluster. #[serde(rename = "resourceID")] @@ -124,84 +102,64 @@ pub struct ScalingPolicySpec { /// The scalable dimension. This string consists of the service namespace, resource /// type, and scaling property. /// - /// /// * ecs:service:DesiredCount - The desired task count of an ECS service. /// - /// /// * elasticmapreduce:instancegroup:InstanceCount - The instance count of /// an EMR Instance Group. /// - /// /// * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot /// Fleet. /// - /// /// * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream /// 2.0 fleet. /// - /// /// * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for /// a DynamoDB table. /// - /// /// * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for /// a DynamoDB table. /// - /// /// * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for /// a DynamoDB global secondary index. /// - /// /// * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for /// a DynamoDB global secondary index. /// - /// /// * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora /// DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible /// edition. /// - /// /// * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances /// for an SageMaker model endpoint variant. /// - /// /// * custom-resource:ResourceType:Property - The scalable dimension for a /// custom resource provided by your own application or service. /// - /// /// * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The /// number of inference units for an Amazon Comprehend document classification /// endpoint. /// - /// /// * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number /// of inference units for an Amazon Comprehend entity recognizer endpoint. /// - /// /// * lambda:function:ProvisionedConcurrency - The provisioned concurrency /// for a Lambda function. /// - /// /// * cassandra:table:ReadCapacityUnits - The provisioned read capacity for /// an Amazon Keyspaces table. /// - /// /// * cassandra:table:WriteCapacityUnits - The provisioned write capacity /// for an Amazon Keyspaces table. /// - /// /// * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) /// for brokers in an Amazon MSK cluster. /// - /// /// * elasticache:replication-group:NodeGroups - The number of node groups /// for an Amazon ElastiCache replication group. /// - /// /// * elasticache:replication-group:Replicas - The number of replicas per /// node group for an Amazon ElastiCache replication group. /// - /// /// * neptune:cluster:ReadReplicaCount - The count of read replicas in an /// Amazon Neptune DB cluster. #[serde(rename = "scalableDimension")] @@ -213,7 +171,6 @@ pub struct ScalingPolicySpec { pub service_namespace: String, /// A step scaling policy. /// - /// /// This parameter is required if you are creating a policy and the policy type /// is StepScaling. #[serde(default, skip_serializing_if = "Option::is_none", rename = "stepScalingPolicyConfiguration")] @@ -221,7 +178,6 @@ pub struct ScalingPolicySpec { /// A target tracking scaling policy. Includes support for predefined or customized /// metrics. /// - /// /// This parameter is required if you are creating a policy and the policy type /// is TargetTrackingScaling. #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetTrackingScalingPolicyConfiguration")] @@ -230,7 +186,6 @@ pub struct ScalingPolicySpec { /// A step scaling policy. /// -/// /// This parameter is required if you are creating a policy and the policy type /// is StepScaling. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -252,37 +207,29 @@ pub struct ScalingPolicyStepScalingPolicyConfiguration { /// aggregated CloudWatch metric and the breach threshold that you've defined /// for the alarm. /// -/// /// For the following examples, suppose that you have an alarm with a breach /// threshold of 50: /// -/// /// * To trigger the adjustment when the metric is greater than or equal to /// 50 and less than 60, specify a lower bound of 0 and an upper bound of /// 10. /// -/// /// * To trigger the adjustment when the metric is greater than 40 and less /// than or equal to 50, specify a lower bound of -10 and an upper bound of /// 0. /// -/// /// There are a few rules for the step adjustments for your step policy: /// -/// /// * The ranges of your step adjustments can't overlap or have a gap. /// -/// /// * At most one step adjustment can have a null lower bound. If one step /// adjustment has a negative lower bound, then there must be a step adjustment /// with a null lower bound. /// -/// /// * At most one step adjustment can have a null upper bound. If one step /// adjustment has a positive upper bound, then there must be a step adjustment /// with a null upper bound. /// -/// /// * The upper and lower bound can't be null in the same step adjustment. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ScalingPolicyStepScalingPolicyConfigurationStepAdjustments { @@ -297,7 +244,6 @@ pub struct ScalingPolicyStepScalingPolicyConfigurationStepAdjustments { /// A target tracking scaling policy. Includes support for predefined or customized /// metrics. /// -/// /// This parameter is required if you are creating a policy and the policy type /// is TargetTrackingScaling. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -305,28 +251,23 @@ pub struct ScalingPolicyTargetTrackingScalingPolicyConfiguration { /// Represents a CloudWatch metric of your choosing for a target tracking scaling /// policy to use with Application Auto Scaling. /// - /// /// For information about the available metrics for a service, see Amazon Web /// Services Services That Publish CloudWatch Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) /// in the Amazon CloudWatch User Guide. /// - /// /// To create your customized metric specification: /// - /// /// * Add values for each required parameter from CloudWatch. You can use /// an existing metric, or a new metric that you create. To use your own metric, /// you must first publish the metric to CloudWatch. For more information, /// see Publish Custom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) /// in the Amazon CloudWatch User Guide. /// - /// /// * Choose a metric that changes proportionally with capacity. The value /// of the metric should increase or decrease in inverse proportion to the /// number of capacity units. That is, the value of the metric should decrease /// when capacity increases, and increase when capacity decreases. /// - /// /// For more information about CloudWatch, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html). #[serde(default, skip_serializing_if = "Option::is_none", rename = "customizedMetricSpecification")] pub customized_metric_specification: Option, @@ -335,7 +276,6 @@ pub struct ScalingPolicyTargetTrackingScalingPolicyConfiguration { /// Represents a predefined metric for a target tracking scaling policy to use /// with Application Auto Scaling. /// - /// /// Only the Amazon Web Services that you're using send metrics to Amazon CloudWatch. /// To determine whether a desired metric already exists by looking up its namespace /// and dimension using the CloudWatch metrics dashboard in the console, follow @@ -354,28 +294,23 @@ pub struct ScalingPolicyTargetTrackingScalingPolicyConfiguration { /// Represents a CloudWatch metric of your choosing for a target tracking scaling /// policy to use with Application Auto Scaling. /// -/// /// For information about the available metrics for a service, see Amazon Web /// Services Services That Publish CloudWatch Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) /// in the Amazon CloudWatch User Guide. /// -/// /// To create your customized metric specification: /// -/// /// * Add values for each required parameter from CloudWatch. You can use /// an existing metric, or a new metric that you create. To use your own metric, /// you must first publish the metric to CloudWatch. For more information, /// see Publish Custom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) /// in the Amazon CloudWatch User Guide. /// -/// /// * Choose a metric that changes proportionally with capacity. The value /// of the metric should increase or decrease in inverse proportion to the /// number of capacity units. That is, the value of the metric should decrease /// when capacity increases, and increase when capacity decreases. /// -/// /// For more information about CloudWatch, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ScalingPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecification { @@ -403,7 +338,6 @@ pub struct ScalingPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetric /// Represents a predefined metric for a target tracking scaling policy to use /// with Application Auto Scaling. /// -/// /// Only the Amazon Web Services that you're using send metrics to Amazon CloudWatch. /// To determine whether a desired metric already exists by looking up its namespace /// and dimension using the CloudWatch metrics dashboard in the console, follow @@ -453,7 +387,6 @@ pub struct ScalingPolicyStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/apps_kubeblocks_io/v1/clusterdefinitions.rs b/kube-custom-resources-rs/src/apps_kubeblocks_io/v1/clusterdefinitions.rs index 74b6a4397..0664e63fe 100644 --- a/kube-custom-resources-rs/src/apps_kubeblocks_io/v1/clusterdefinitions.rs +++ b/kube-custom-resources-rs/src/apps_kubeblocks_io/v1/clusterdefinitions.rs @@ -26,7 +26,8 @@ pub struct ClusterDefinitionSpec { #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterDefinitionTopologies { /// Components specifies the components in the topology. - pub components: Vec, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub components: Option>, /// Default indicates whether this topology serves as the default configuration. /// When set to true, this topology is automatically used unless another is explicitly specified. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -39,6 +40,9 @@ pub struct ClusterDefinitionTopologies { /// This ordering is crucial for maintaining the correct dependencies and operational flow across components. #[serde(default, skip_serializing_if = "Option::is_none")] pub orders: Option, + /// Shardings specifies the shardings in the topology. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub shardings: Option>, } /// ClusterTopologyComponent defines a Component within a ClusterTopology. @@ -75,32 +79,60 @@ pub struct ClusterDefinitionTopologiesComponents { /// This ordering is crucial for maintaining the correct dependencies and operational flow across components. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterDefinitionTopologiesOrders { - /// Specifies the order for creating and initializing components. - /// This is designed for components that depend on one another. Components without dependencies can be grouped together. + /// Specifies the order for creating and initializing entities. + /// This is designed for entities that depend on one another. Entities without dependencies can be grouped together. /// /// - /// Components that can be provisioned independently or have no dependencies can be listed together in the same stage, + /// Entities that can be provisioned independently or have no dependencies can be listed together in the same stage, /// separated by commas. #[serde(default, skip_serializing_if = "Option::is_none")] pub provision: Option>, - /// Outlines the order for stopping and deleting components. - /// This sequence is designed for components that require a graceful shutdown or have interdependencies. + /// Outlines the order for stopping and deleting entities. + /// This sequence is designed for entities that require a graceful shutdown or have interdependencies. /// /// - /// Components that can be terminated independently or have no dependencies can be listed together in the same stage, + /// Entities that can be terminated independently or have no dependencies can be listed together in the same stage, /// separated by commas. #[serde(default, skip_serializing_if = "Option::is_none")] pub terminate: Option>, - /// Update determines the order for updating components' specifications, such as image upgrades or resource scaling. - /// This sequence is designed for components that have dependencies or require specific update procedures. + /// Update determines the order for updating entities' specifications, such as image upgrades or resource scaling. + /// This sequence is designed for entities that have dependencies or require specific update procedures. /// /// - /// Components that can be updated independently or have no dependencies can be listed together in the same stage, + /// Entities that can be updated independently or have no dependencies can be listed together in the same stage, /// separated by commas. #[serde(default, skip_serializing_if = "Option::is_none")] pub update: Option>, } +/// ClusterTopologySharding defines a sharding within a ClusterTopology. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterDefinitionTopologiesShardings { + /// Defines the unique identifier of the sharding within the cluster topology. + /// It follows IANA Service naming rules and is used as part of the Service's DNS name. + /// The name must start with a lowercase letter, can contain lowercase letters, numbers, + /// and hyphens, and must end with a lowercase letter or number. + /// + /// + /// Cannot be updated once set. + pub name: String, + /// Specifies the sharding definition that defines the characteristics and behavior of the sharding. + /// + /// + /// The system selects the ShardingDefinition CR with the latest version that matches the pattern. + /// This approach allows: + /// + /// + /// 1. Precise selection by providing the exact name of a ShardingDefinition CR. + /// 2. Flexible and automatic selection of the most up-to-date ShardingDefinition CR + /// by specifying a regular expression pattern. + /// + /// + /// Once set, this field cannot be updated. + #[serde(rename = "shardingDef")] + pub sharding_def: String, +} + /// ClusterDefinitionStatus defines the observed state of ClusterDefinition #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterDefinitionStatus { diff --git a/kube-custom-resources-rs/src/apps_kubeblocks_io/v1/clusters.rs b/kube-custom-resources-rs/src/apps_kubeblocks_io/v1/clusters.rs index 47f2ec7e2..5e1864bfb 100644 --- a/kube-custom-resources-rs/src/apps_kubeblocks_io/v1/clusters.rs +++ b/kube-custom-resources-rs/src/apps_kubeblocks_io/v1/clusters.rs @@ -52,7 +52,7 @@ pub struct ClusterSpec { /// This field allows for detailed configuration of each Component within the Cluster. /// /// - /// Note: `shardingSpecs` and `componentSpecs` cannot both be empty; at least one must be defined to configure a Cluster. + /// Note: `shardings` and `componentSpecs` cannot both be empty; at least one must be defined to configure a Cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "componentSpecs")] pub component_specs: Option>, /// Specifies runtimeClassName for all Pods managed by this Cluster. @@ -62,25 +62,25 @@ pub struct ClusterSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulingPolicy")] pub scheduling_policy: Option, /// Defines a list of additional Services that are exposed by a Cluster. - /// This field allows Services of selected Components, either from `componentSpecs` or `shardingSpecs` to be exposed, + /// This field allows Services of selected Components, either from `componentSpecs` or `shardings` to be exposed, /// alongside Services defined with ComponentService. /// /// /// Services defined here can be referenced by other clusters using the ServiceRefClusterSelector. #[serde(default, skip_serializing_if = "Option::is_none")] pub services: Option>, - /// Specifies a list of ShardingSpec objects that manage the sharding topology for Cluster Components. - /// Each ShardingSpec organizes components into shards, with each shard corresponding to a Component. + /// Specifies a list of ClusterSharding objects that manage the sharding topology for Cluster Components. + /// Each ClusterSharding organizes components into shards, with each shard corresponding to a Component. /// Components within a shard are all based on a common ClusterComponentSpec template, ensuring uniform configurations. /// /// /// This field supports dynamic resharding by facilitating the addition or removal of shards - /// through the `shards` field in ShardingSpec. + /// through the `shards` field in ClusterSharding. /// /// - /// Note: `shardingSpecs` and `componentSpecs` cannot both be empty; at least one must be defined to configure a Cluster. - #[serde(default, skip_serializing_if = "Option::is_none", rename = "shardingSpecs")] - pub sharding_specs: Option>, + /// Note: `shardings` and `componentSpecs` cannot both be empty; at least one must be defined to configure a Cluster. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub shardings: Option>, /// Specifies the behavior when a Cluster is deleted. /// It defines how resources, data, and backups associated with a Cluster are managed during termination. /// Choose a policy based on the desired level of resource cleanup and data preservation: @@ -230,7 +230,7 @@ pub struct ClusterComponentSpecs { pub labels: Option>, /// Specifies the Component's name. /// It's part of the Service DNS name and must comply with the IANA service naming rule. - /// The name is optional when ClusterComponentSpec is used as a template (e.g., in `shardingSpec`), + /// The name is optional when ClusterComponentSpec is used as a template (e.g., in `clusterSharding`), /// but required otherwise. #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, @@ -7483,62 +7483,76 @@ pub struct ClusterServicesSpecSessionAffinityConfigClientIp { pub timeout_seconds: Option, } -/// ShardingSpec defines how KubeBlocks manage dynamic provisioned shards. +/// ClusterSharding defines how KubeBlocks manage dynamic provisioned shards. /// A typical design pattern for distributed databases is to distribute data across multiple shards, /// with each shard consisting of multiple replicas. /// Therefore, KubeBlocks supports representing a shard with a Component and dynamically instantiating Components /// using a template when shards are added. /// When shards are removed, the corresponding Components are also deleted. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecs { +pub struct ClusterShardings { /// Represents the common parent part of all shard names. + /// + /// /// This identifier is included as part of the Service DNS name and must comply with IANA service naming rules. - /// It is used to generate the names of underlying Components following the pattern `$(shardingSpec.name)-$(ShardID)`. + /// It is used to generate the names of underlying Components following the pattern `$(clusterSharding.name)-$(ShardID)`. /// ShardID is a random string that is appended to the Name to generate unique identifiers for each shard. /// For example, if the sharding specification name is "my-shard" and the ShardID is "abc", the resulting Component name /// would be "my-shard-abc". /// /// - /// Note that the name defined in Component template(`shardingSpec.template.name`) will be disregarded - /// when generating the Component names of the shards. The `shardingSpec.name` field takes precedence. + /// Note that the name defined in Component template(`clusterSharding.template.name`) will be disregarded + /// when generating the Component names of the shards. The `clusterSharding.name` field takes precedence. pub name: String, + /// Specifies the ShardingDefinition custom resource (CR) that defines the sharding's characteristics and behavior. + /// + /// + /// The full name or regular expression is supported to match the ShardingDefinition. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "shardingDef")] + pub sharding_def: Option, /// Specifies the desired number of shards. + /// + /// /// Users can declare the desired number of shards through this field. /// KubeBlocks dynamically creates and deletes Components based on the difference /// between the desired and actual number of shards. /// KubeBlocks provides lifecycle management for sharding, including: /// /// - /// - Executing the postProvision Action defined in the ComponentDefinition when the number of shards increases. + /// - Executing the shardProvision Action defined in the ShardingDefinition when the number of shards increases. /// This allows for custom actions to be performed after a new shard is provisioned. - /// - Executing the preTerminate Action defined in the ComponentDefinition when the number of shards decreases. + /// - Executing the shardTerminate Action defined in the ShardingDefinition when the number of shards decreases. /// This enables custom cleanup or data migration tasks to be executed before a shard is terminated. /// Resources and data associated with the corresponding Component will also be deleted. #[serde(default, skip_serializing_if = "Option::is_none")] pub shards: Option, /// The template for generating Components for shards, where each shard consists of one Component. + /// + /// /// This field is of type ClusterComponentSpec, which encapsulates all the required details and /// definitions for creating and managing the Components. - /// KubeBlocks uses this template to generate a set of identical Components or shards. + /// KubeBlocks uses this template to generate a set of identical Components of shards. /// All the generated Components will have the same specifications and definitions as specified in the `template` field. /// /// /// This allows for the creation of multiple Components with consistent configurations, /// enabling sharding and distribution of workloads across Components. - pub template: ClusterShardingSpecsTemplate, + pub template: ClusterShardingsTemplate, } /// The template for generating Components for shards, where each shard consists of one Component. +/// +/// /// This field is of type ClusterComponentSpec, which encapsulates all the required details and /// definitions for creating and managing the Components. -/// KubeBlocks uses this template to generate a set of identical Components or shards. +/// KubeBlocks uses this template to generate a set of identical Components of shards. /// All the generated Components will have the same specifications and definitions as specified in the `template` field. /// /// /// This allows for the creation of multiple Components with consistent configurations, /// enabling sharding and distribution of workloads across Components. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplate { +pub struct ClusterShardingsTemplate { /// Specifies Annotations to override or add for underlying Pods, PVCs, Account & TLS Secrets, Services Owned by Component. #[serde(default, skip_serializing_if = "Option::is_none")] pub annotations: Option>, @@ -7555,7 +7569,7 @@ pub struct ClusterShardingSpecsTemplate { pub component_def: Option, /// Specifies the configuration content of a config template. #[serde(default, skip_serializing_if = "Option::is_none")] - pub configs: Option>, + pub configs: Option>, /// Determines whether metrics exporter information is annotated on the Component's headless Service. /// /// @@ -7573,7 +7587,7 @@ pub struct ClusterShardingSpecsTemplate { /// List of environment variables to add. /// These environment variables will be placed after the environment variables declared in the Pod. #[serde(default, skip_serializing_if = "Option::is_none")] - pub env: Option>, + pub env: Option>, /// Allows for the customization of configuration values for each instance within a Component. /// An instance represent a single replica (Pod and associated K8s resources like PVCs, Services, and ConfigMaps). /// While instances typically share a common configuration as defined in the ClusterComponentSpec, @@ -7596,19 +7610,19 @@ pub struct ClusterShardingSpecsTemplate { /// The sum of replicas across all InstanceTemplates should not exceed the total number of replicas specified for the Component. /// Any remaining replicas will be generated using the default template and will follow the default naming rules. #[serde(default, skip_serializing_if = "Option::is_none")] - pub instances: Option>, + pub instances: Option>, /// Specifies the configuration for the TLS certificates issuer. /// It allows defining the issuer name and the reference to the secret containing the TLS certificates and key. /// The secret should contain the CA certificate, TLS certificate, and private key in the specified keys. /// Required when TLS is enabled. #[serde(default, skip_serializing_if = "Option::is_none")] - pub issuer: Option, + pub issuer: Option, /// Specifies Labels to override or add for underlying Pods, PVCs, Account & TLS Secrets, Services Owned by Component. #[serde(default, skip_serializing_if = "Option::is_none")] pub labels: Option>, /// Specifies the Component's name. /// It's part of the Service DNS name and must comply with the IANA service naming rule. - /// The name is optional when ClusterComponentSpec is used as a template (e.g., in `shardingSpec`), + /// The name is optional when ClusterComponentSpec is used as a template (e.g., in `clusterSharding`), /// but required otherwise. #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, @@ -7644,16 +7658,16 @@ pub struct ClusterShardingSpecsTemplate { /// If that fails, it will fall back to the ReCreate, where pod will be recreated. /// Default value is "PreferInPlace" #[serde(default, skip_serializing_if = "Option::is_none", rename = "podUpdatePolicy")] - pub pod_update_policy: Option, + pub pod_update_policy: Option, /// Specifies the desired number of replicas in the Component for enhancing availability and durability, or load balancing. pub replicas: i32, /// Specifies the resources required by the Component. /// It allows defining the CPU, memory requirements and limits for the Component's containers. #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, /// Specifies the scheduling policy for the Component. #[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulingPolicy")] - pub scheduling_policy: Option, + pub scheduling_policy: Option, /// Specifies the name of the ServiceAccount required by the running Component. /// This ServiceAccount is used to grant necessary permissions for the Component's Pods to interact /// with other Kubernetes resources, such as modifying Pod labels or sending events. @@ -7704,7 +7718,7 @@ pub struct ClusterShardingSpecsTemplate { /// ``` /// The example above includes ServiceRefs to an external Redis Sentinel service and a PostgreSQL Cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceRefs")] - pub service_refs: Option>, + pub service_refs: Option>, /// ServiceVersion specifies the version of the Service expected to be provisioned by this Component. /// The version should follow the syntax and semantics of the "Semantic Versioning" specification (http://semver.org/). /// If no version is specified, the latest available version will be used. @@ -7712,14 +7726,14 @@ pub struct ClusterShardingSpecsTemplate { pub service_version: Option, /// Overrides services defined in referenced ComponentDefinition and expose endpoints that can be accessed by clients. #[serde(default, skip_serializing_if = "Option::is_none")] - pub services: Option>, + pub services: Option>, /// Stop the Component. /// If set, all the computing resources will be released. #[serde(default, skip_serializing_if = "Option::is_none")] pub stop: Option, /// Overrides system accounts defined in referenced ComponentDefinition. #[serde(default, skip_serializing_if = "Option::is_none", rename = "systemAccounts")] - pub system_accounts: Option>, + pub system_accounts: Option>, /// A boolean flag that indicates whether the Component should use Transport Layer Security (TLS) /// for secure communication. /// When set to true, the Component will be configured to use TLS encryption for its network connections. @@ -7734,18 +7748,18 @@ pub struct ClusterShardingSpecsTemplate { /// size, and access modes. /// These templates are used to dynamically provision persistent volumes for the Component. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeClaimTemplates")] - pub volume_claim_templates: Option>, + pub volume_claim_templates: Option>, /// List of volumes to override. #[serde(default, skip_serializing_if = "Option::is_none")] - pub volumes: Option>, + pub volumes: Option>, } /// ClusterComponentConfig represents a config with its source bound. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateConfigs { +pub struct ClusterShardingsTemplateConfigs { /// ConfigMap source for the config. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")] - pub config_map: Option, + pub config_map: Option, /// The name of the config. #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, @@ -7753,7 +7767,7 @@ pub struct ClusterShardingSpecsTemplateConfigs { /// ConfigMap source for the config. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateConfigsConfigMap { +pub struct ClusterShardingsTemplateConfigsConfigMap { /// defaultMode is optional: mode bits used to set permissions on created files by default. /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. @@ -7771,7 +7785,7 @@ pub struct ClusterShardingSpecsTemplateConfigsConfigMap { /// the volume setup will error unless it is marked optional. Paths must be /// relative and may not contain the '..' path or start with '..'. #[serde(default, skip_serializing_if = "Option::is_none")] - pub items: Option>, + pub items: Option>, /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -7784,7 +7798,7 @@ pub struct ClusterShardingSpecsTemplateConfigsConfigMap { /// Maps a string key to a path within a volume. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateConfigsConfigMapItems { +pub struct ClusterShardingsTemplateConfigsConfigMapItems { /// key is the key to project. pub key: String, /// mode is Optional: mode bits used to set permissions on this file. @@ -7804,7 +7818,7 @@ pub struct ClusterShardingSpecsTemplateConfigsConfigMapItems { /// EnvVar represents an environment variable present in a Container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateEnv { +pub struct ClusterShardingsTemplateEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, /// Variable references $(VAR_NAME) are expanded @@ -7820,31 +7834,31 @@ pub struct ClusterShardingSpecsTemplateEnv { pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] - pub value_from: Option, + pub value_from: Option, } /// Source for the environment variable's value. Cannot be used if value is not empty. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateEnvValueFrom { +pub struct ClusterShardingsTemplateEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] - pub config_map_key_ref: Option, + pub config_map_key_ref: Option, /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] - pub field_ref: Option, + pub field_ref: Option, /// Selects a resource of the container: only resources limits and requests /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] - pub resource_field_ref: Option, + pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] - pub secret_key_ref: Option, + pub secret_key_ref: Option, } /// Selects a key of a ConfigMap. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateEnvValueFromConfigMapKeyRef { +pub struct ClusterShardingsTemplateEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, /// Name of the referent. @@ -7860,7 +7874,7 @@ pub struct ClusterShardingSpecsTemplateEnvValueFromConfigMapKeyRef { /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateEnvValueFromFieldRef { +pub struct ClusterShardingsTemplateEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] pub api_version: Option, @@ -7872,7 +7886,7 @@ pub struct ClusterShardingSpecsTemplateEnvValueFromFieldRef { /// Selects a resource of the container: only resources limits and requests /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateEnvValueFromResourceFieldRef { +pub struct ClusterShardingsTemplateEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars #[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")] pub container_name: Option, @@ -7885,7 +7899,7 @@ pub struct ClusterShardingSpecsTemplateEnvValueFromResourceFieldRef { /// Selects a key of a secret in the pod's namespace #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateEnvValueFromSecretKeyRef { +pub struct ClusterShardingsTemplateEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, /// Name of the referent. @@ -7900,7 +7914,7 @@ pub struct ClusterShardingSpecsTemplateEnvValueFromSecretKeyRef { /// InstanceTemplate allows customization of individual replica configurations in a Component. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstances { +pub struct ClusterShardingsTemplateInstances { /// Specifies a map of key-value pairs to be merged into the Pod's existing annotations. /// Existing keys will have their values overwritten, while new keys will be added to the annotations. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -7908,7 +7922,7 @@ pub struct ClusterShardingSpecsTemplateInstances { /// Defines Env to override. /// Add new or override existing envs. #[serde(default, skip_serializing_if = "Option::is_none")] - pub env: Option>, + pub env: Option>, /// Specifies an override for the first container's image in the Pod. #[serde(default, skip_serializing_if = "Option::is_none")] pub image: Option, @@ -7930,27 +7944,27 @@ pub struct ClusterShardingSpecsTemplateInstances { /// Specifies an override for the resource requirements of the first container in the Pod. /// This field allows for customizing resource allocation (CPU, memory, etc.) for the container. #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, /// Specifies the scheduling policy for the Component. #[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulingPolicy")] - pub scheduling_policy: Option, + pub scheduling_policy: Option, /// Defines VolumeClaimTemplates to override. /// Add new or override existing volume claim templates. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeClaimTemplates")] - pub volume_claim_templates: Option>, + pub volume_claim_templates: Option>, /// Defines VolumeMounts to override. /// Add new or override existing volume mounts of the first container in the Pod. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")] - pub volume_mounts: Option>, + pub volume_mounts: Option>, /// Defines Volumes to override. /// Add new or override existing volumes. #[serde(default, skip_serializing_if = "Option::is_none")] - pub volumes: Option>, + pub volumes: Option>, } /// EnvVar represents an environment variable present in a Container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesEnv { +pub struct ClusterShardingsTemplateInstancesEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, /// Variable references $(VAR_NAME) are expanded @@ -7966,31 +7980,31 @@ pub struct ClusterShardingSpecsTemplateInstancesEnv { pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] - pub value_from: Option, + pub value_from: Option, } /// Source for the environment variable's value. Cannot be used if value is not empty. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesEnvValueFrom { +pub struct ClusterShardingsTemplateInstancesEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] - pub config_map_key_ref: Option, + pub config_map_key_ref: Option, /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] - pub field_ref: Option, + pub field_ref: Option, /// Selects a resource of the container: only resources limits and requests /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] - pub resource_field_ref: Option, + pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] - pub secret_key_ref: Option, + pub secret_key_ref: Option, } /// Selects a key of a ConfigMap. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesEnvValueFromConfigMapKeyRef { +pub struct ClusterShardingsTemplateInstancesEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, /// Name of the referent. @@ -8006,7 +8020,7 @@ pub struct ClusterShardingSpecsTemplateInstancesEnvValueFromConfigMapKeyRef { /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesEnvValueFromFieldRef { +pub struct ClusterShardingsTemplateInstancesEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] pub api_version: Option, @@ -8018,7 +8032,7 @@ pub struct ClusterShardingSpecsTemplateInstancesEnvValueFromFieldRef { /// Selects a resource of the container: only resources limits and requests /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesEnvValueFromResourceFieldRef { +pub struct ClusterShardingsTemplateInstancesEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars #[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")] pub container_name: Option, @@ -8031,7 +8045,7 @@ pub struct ClusterShardingSpecsTemplateInstancesEnvValueFromResourceFieldRef { /// Selects a key of a secret in the pod's namespace #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesEnvValueFromSecretKeyRef { +pub struct ClusterShardingsTemplateInstancesEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, /// Name of the referent. @@ -8047,7 +8061,7 @@ pub struct ClusterShardingSpecsTemplateInstancesEnvValueFromSecretKeyRef { /// Specifies an override for the resource requirements of the first container in the Pod. /// This field allows for customizing resource allocation (CPU, memory, etc.) for the container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesResources { +pub struct ClusterShardingsTemplateInstancesResources { /// Claims lists the names of resources, defined in spec.resourceClaims, /// that are used by this container. /// @@ -8058,7 +8072,7 @@ pub struct ClusterShardingSpecsTemplateInstancesResources { /// /// This field is immutable. It can only be set for containers. #[serde(default, skip_serializing_if = "Option::is_none")] - pub claims: Option>, + pub claims: Option>, /// Limits describes the maximum amount of compute resources allowed. /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] @@ -8073,7 +8087,7 @@ pub struct ClusterShardingSpecsTemplateInstancesResources { /// ResourceClaim references one entry in PodSpec.ResourceClaims. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesResourcesClaims { +pub struct ClusterShardingsTemplateInstancesResourcesClaims { /// Name must match the name of one entry in pod.spec.resourceClaims of /// the Pod where this field is used. It makes that resource available /// inside a container. @@ -8082,10 +8096,10 @@ pub struct ClusterShardingSpecsTemplateInstancesResourcesClaims { /// Specifies the scheduling policy for the Component. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicy { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicy { /// Specifies a group of affinity scheduling rules of the Cluster, including NodeAffinity, PodAffinity, and PodAntiAffinity. #[serde(default, skip_serializing_if = "Option::is_none")] - pub affinity: Option, + pub affinity: Option, /// NodeName is a request to schedule this Pod onto a specific node. If it is non-empty, /// the scheduler simply schedules this Pod onto that node, assuming that it fits resource /// requirements. @@ -8111,31 +8125,31 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicy { /// /// Pods with matching tolerations are allowed to be scheduled on tainted nodes, typically reserved for specific purposes. #[serde(default, skip_serializing_if = "Option::is_none")] - pub tolerations: Option>, + pub tolerations: Option>, /// TopologySpreadConstraints describes how a group of Pods ought to spread across topology /// domains. Scheduler will schedule Pods in a way which abides by the constraints. /// All topologySpreadConstraints are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "topologySpreadConstraints")] - pub topology_spread_constraints: Option>, + pub topology_spread_constraints: Option>, } /// Specifies a group of affinity scheduling rules of the Cluster, including NodeAffinity, PodAffinity, and PodAntiAffinity. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinity { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinity { /// Describes node affinity scheduling rules for the pod. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] - pub node_affinity: Option, + pub node_affinity: Option, /// Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAffinity")] - pub pod_affinity: Option, + pub pod_affinity: Option, /// Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] - pub pod_anti_affinity: Option, + pub pod_anti_affinity: Option, } /// Describes node affinity scheduling rules for the pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffinity { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityNodeAffinity { /// The scheduler will prefer to schedule pods to nodes that satisfy /// the affinity expressions specified by this field, but it may choose /// a node that violates one or more of the expressions. The node that is @@ -8146,41 +8160,41 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffi /// "weight" to the sum if the node matches the corresponding matchExpressions; the /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] - pub preferred_during_scheduling_ignored_during_execution: Option>, + pub preferred_during_scheduling_ignored_during_execution: Option>, /// If the affinity requirements specified by this field are not met at /// scheduling time, the pod will not be scheduled onto the node. /// If the affinity requirements specified by this field cease to be met /// at some point during pod execution (e.g. due to an update), the system /// may or may not try to eventually evict the pod from its node. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] - pub required_during_scheduling_ignored_during_execution: Option, + pub required_during_scheduling_ignored_during_execution: Option, } /// An empty preferred scheduling term matches all objects with implicit weight 0 /// (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { /// A node selector term, associated with the corresponding weight. - pub preference: ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, + pub preference: ClusterShardingsTemplateInstancesSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, /// Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. pub weight: i32, } /// A node selector term, associated with the corresponding weight. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { /// A list of node selector requirements by node's labels. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// A list of node selector requirements by node's fields. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } /// A node selector requirement is a selector that contains values, a key, and an operator /// that relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { /// The label key that the selector applies to. pub key: String, /// Represents a key's relationship to a set of values. @@ -8198,7 +8212,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffi /// A node selector requirement is a selector that contains values, a key, and an operator /// that relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { /// The label key that the selector applies to. pub key: String, /// Represents a key's relationship to a set of values. @@ -8219,29 +8233,29 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffi /// at some point during pod execution (e.g. due to an update), the system /// may or may not try to eventually evict the pod from its node. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// Required. A list of node selector terms. The terms are ORed. #[serde(rename = "nodeSelectorTerms")] - pub node_selector_terms: Vec, + pub node_selector_terms: Vec, } /// A null or empty node selector term matches no objects. The requirements of /// them are ANDed. /// The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { /// A list of node selector requirements by node's labels. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// A list of node selector requirements by node's fields. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } /// A node selector requirement is a selector that contains values, a key, and an operator /// that relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { /// The label key that the selector applies to. pub key: String, /// Represents a key's relationship to a set of values. @@ -8259,7 +8273,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffi /// A node selector requirement is a selector that contains values, a key, and an operator /// that relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { /// The label key that the selector applies to. pub key: String, /// Represents a key's relationship to a set of values. @@ -8276,7 +8290,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityNodeAffi /// Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffinity { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAffinity { /// The scheduler will prefer to schedule pods to nodes that satisfy /// the affinity expressions specified by this field, but it may choose /// a node that violates one or more of the expressions. The node that is @@ -8287,7 +8301,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] - pub preferred_during_scheduling_ignored_during_execution: Option>, + pub preferred_during_scheduling_ignored_during_execution: Option>, /// If the affinity requirements specified by this field are not met at /// scheduling time, the pod will not be scheduled onto the node. /// If the affinity requirements specified by this field cease to be met @@ -8296,15 +8310,15 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// When there are multiple elements, the lists of nodes corresponding to each /// podAffinityTerm are intersected, i.e. all terms must be satisfied. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] - pub required_during_scheduling_ignored_during_execution: Option>, + pub required_during_scheduling_ignored_during_execution: Option>, } /// The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution { /// Required. A pod affinity term, associated with the corresponding weight. #[serde(rename = "podAffinityTerm")] - pub pod_affinity_term: ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, + pub pod_affinity_term: ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, /// weight associated with matching the corresponding podAffinityTerm, /// in the range 1-100. pub weight: i32, @@ -8312,11 +8326,11 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// Required. A pod affinity term, associated with the corresponding weight. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] - pub label_selector: Option, + pub label_selector: Option, /// MatchLabelKeys is a set of pod label keys to select which pods will /// be taken into consideration. The keys are used to lookup values from the /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` @@ -8345,7 +8359,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] - pub namespace_selector: Option, + pub namespace_selector: Option, /// namespaces specifies a static list of namespace names that the term applies to. /// The term is applied to the union of the namespaces listed in this field /// and the ones selected by namespaceSelector. @@ -8364,10 +8378,10 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -8378,7 +8392,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -8398,10 +8412,10 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -8412,7 +8426,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -8433,11 +8447,11 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// the label with key matches that of any node on which /// a pod of the set of pods is running #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] - pub label_selector: Option, + pub label_selector: Option, /// MatchLabelKeys is a set of pod label keys to select which pods will /// be taken into consideration. The keys are used to lookup values from the /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` @@ -8466,7 +8480,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] - pub namespace_selector: Option, + pub namespace_selector: Option, /// namespaces specifies a static list of namespace names that the term applies to. /// The term is applied to the union of the namespaces listed in this field /// and the ones selected by namespaceSelector. @@ -8485,10 +8499,10 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -8499,7 +8513,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -8519,10 +8533,10 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -8533,7 +8547,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -8549,7 +8563,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAffin /// Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinity { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinity { /// The scheduler will prefer to schedule pods to nodes that satisfy /// the anti-affinity expressions specified by this field, but it may choose /// a node that violates one or more of the expressions. The node that is @@ -8560,7 +8574,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] - pub preferred_during_scheduling_ignored_during_execution: Option>, + pub preferred_during_scheduling_ignored_during_execution: Option>, /// If the anti-affinity requirements specified by this field are not met at /// scheduling time, the pod will not be scheduled onto the node. /// If the anti-affinity requirements specified by this field cease to be met @@ -8569,15 +8583,15 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// When there are multiple elements, the lists of nodes corresponding to each /// podAffinityTerm are intersected, i.e. all terms must be satisfied. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] - pub required_during_scheduling_ignored_during_execution: Option>, + pub required_during_scheduling_ignored_during_execution: Option>, } /// The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution { /// Required. A pod affinity term, associated with the corresponding weight. #[serde(rename = "podAffinityTerm")] - pub pod_affinity_term: ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, + pub pod_affinity_term: ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, /// weight associated with matching the corresponding podAffinityTerm, /// in the range 1-100. pub weight: i32, @@ -8585,11 +8599,11 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// Required. A pod affinity term, associated with the corresponding weight. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] - pub label_selector: Option, + pub label_selector: Option, /// MatchLabelKeys is a set of pod label keys to select which pods will /// be taken into consideration. The keys are used to lookup values from the /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` @@ -8618,7 +8632,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] - pub namespace_selector: Option, + pub namespace_selector: Option, /// namespaces specifies a static list of namespace names that the term applies to. /// The term is applied to the union of the namespaces listed in this field /// and the ones selected by namespaceSelector. @@ -8637,10 +8651,10 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -8651,7 +8665,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -8671,10 +8685,10 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -8685,7 +8699,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -8706,11 +8720,11 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// the label with key matches that of any node on which /// a pod of the set of pods is running #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] - pub label_selector: Option, + pub label_selector: Option, /// MatchLabelKeys is a set of pod label keys to select which pods will /// be taken into consideration. The keys are used to lookup values from the /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` @@ -8739,7 +8753,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] - pub namespace_selector: Option, + pub namespace_selector: Option, /// namespaces specifies a static list of namespace names that the term applies to. /// The term is applied to the union of the namespaces listed in this field /// and the ones selected by namespaceSelector. @@ -8758,10 +8772,10 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -8772,7 +8786,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -8792,10 +8806,10 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -8806,7 +8820,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -8823,7 +8837,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyAffinityPodAntiA /// The pod this Toleration is attached to tolerates any taint that matches /// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyTolerations { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyTolerations { /// Effect indicates the taint effect to match. Empty means match all taint effects. /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -8852,12 +8866,12 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyTolerations { /// TopologySpreadConstraint specifies how to spread matching pods among the given topology. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyTopologySpreadConstraints { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyTopologySpreadConstraints { /// LabelSelector is used to find matching pods. /// Pods that match this label selector are counted to determine the number of pods /// in their corresponding topology domain. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] - pub label_selector: Option, + pub label_selector: Option, /// MatchLabelKeys is a set of pod label keys to select the pods over which /// spreading will be calculated. The keys are used to lookup values from the /// incoming pod labels, those key-value labels are ANDed with labelSelector @@ -8974,10 +8988,10 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyTopologySpreadCo /// Pods that match this label selector are counted to determine the number of pods /// in their corresponding topology domain. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyTopologySpreadConstraintsLabelSelector { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyTopologySpreadConstraintsLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -8988,7 +9002,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyTopologySpreadCo /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyTopologySpreadConstraintsLabelSelectorMatchExpressions { +pub struct ClusterShardingsTemplateInstancesSchedulingPolicyTopologySpreadConstraintsLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -9003,7 +9017,7 @@ pub struct ClusterShardingSpecsTemplateInstancesSchedulingPolicyTopologySpreadCo } #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumeClaimTemplates { +pub struct ClusterShardingsTemplateInstancesVolumeClaimTemplates { /// Refers to the name of a volumeMount defined in either: /// /// @@ -9020,7 +9034,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumeClaimTemplates { /// When a Pod is created for this ClusterComponent, a new PVC will be created based on the specification /// defined in the `spec` field. The PVC will be associated with the volume mount specified by the `name` field. #[serde(default, skip_serializing_if = "Option::is_none")] - pub spec: Option, + pub spec: Option, } /// Defines the desired characteristics of a PersistentVolumeClaim that will be created for the volume @@ -9030,7 +9044,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumeClaimTemplates { /// When a Pod is created for this ClusterComponent, a new PVC will be created based on the specification /// defined in the `spec` field. The PVC will be associated with the volume mount specified by the `name` field. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumeClaimTemplatesSpec { +pub struct ClusterShardingsTemplateInstancesVolumeClaimTemplatesSpec { /// Contains the desired access modes the volume should have. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")] @@ -9040,7 +9054,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumeClaimTemplatesSpec { /// are lower than the previous value but must still be higher than the capacity recorded in the status field of the claim. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources. #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, /// The name of the StorageClass required by the claim. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")] @@ -9055,7 +9069,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumeClaimTemplatesSpec { /// are lower than the previous value but must still be higher than the capacity recorded in the status field of the claim. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumeClaimTemplatesSpecResources { +pub struct ClusterShardingsTemplateInstancesVolumeClaimTemplatesSpecResources { /// Limits describes the maximum amount of compute resources allowed. /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] @@ -9070,7 +9084,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumeClaimTemplatesSpecResource /// VolumeMount describes a mounting of a Volume within a container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumeMounts { +pub struct ClusterShardingsTemplateInstancesVolumeMounts { /// Path within the container at which the volume should be mounted. Must /// not contain ':'. #[serde(rename = "mountPath")] @@ -9101,38 +9115,38 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumeMounts { /// Volume represents a named volume in a pod that may be accessed by any container in the pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumes { +pub struct ClusterShardingsTemplateInstancesVolumes { /// awsElasticBlockStore represents an AWS Disk resource that is attached to a /// kubelet's host machine and then exposed to the pod. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore #[serde(default, skip_serializing_if = "Option::is_none", rename = "awsElasticBlockStore")] - pub aws_elastic_block_store: Option, + pub aws_elastic_block_store: Option, /// azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. #[serde(default, skip_serializing_if = "Option::is_none", rename = "azureDisk")] - pub azure_disk: Option, + pub azure_disk: Option, /// azureFile represents an Azure File Service mount on the host and bind mount to the pod. #[serde(default, skip_serializing_if = "Option::is_none", rename = "azureFile")] - pub azure_file: Option, + pub azure_file: Option, /// cephFS represents a Ceph FS mount on the host that shares a pod's lifetime #[serde(default, skip_serializing_if = "Option::is_none")] - pub cephfs: Option, + pub cephfs: Option, /// cinder represents a cinder volume attached and mounted on kubelets host machine. /// More info: https://examples.k8s.io/mysql-cinder-pd/README.md #[serde(default, skip_serializing_if = "Option::is_none")] - pub cinder: Option, + pub cinder: Option, /// configMap represents a configMap that should populate this volume #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")] - pub config_map: Option, + pub config_map: Option, /// csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). #[serde(default, skip_serializing_if = "Option::is_none")] - pub csi: Option, + pub csi: Option, /// downwardAPI represents downward API about the pod that should populate this volume #[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")] - pub downward_api: Option, + pub downward_api: Option, /// emptyDir represents a temporary directory that shares a pod's lifetime. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir #[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")] - pub empty_dir: Option, + pub empty_dir: Option, /// ephemeral represents a volume that is handled by a cluster storage driver. /// The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, /// and deleted when the pod is removed. @@ -9162,32 +9176,32 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumes { /// A pod can use both types of ephemeral volumes and /// persistent volumes at the same time. #[serde(default, skip_serializing_if = "Option::is_none")] - pub ephemeral: Option, + pub ephemeral: Option, /// fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. #[serde(default, skip_serializing_if = "Option::is_none")] - pub fc: Option, + pub fc: Option, /// flexVolume represents a generic volume resource that is /// provisioned/attached using an exec based plugin. #[serde(default, skip_serializing_if = "Option::is_none", rename = "flexVolume")] - pub flex_volume: Option, + pub flex_volume: Option, /// flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running #[serde(default, skip_serializing_if = "Option::is_none")] - pub flocker: Option, + pub flocker: Option, /// gcePersistentDisk represents a GCE Disk resource that is attached to a /// kubelet's host machine and then exposed to the pod. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk #[serde(default, skip_serializing_if = "Option::is_none", rename = "gcePersistentDisk")] - pub gce_persistent_disk: Option, + pub gce_persistent_disk: Option, /// gitRepo represents a git repository at a particular revision. /// DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an /// EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir /// into the Pod's container. #[serde(default, skip_serializing_if = "Option::is_none", rename = "gitRepo")] - pub git_repo: Option, + pub git_repo: Option, /// glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. /// More info: https://examples.k8s.io/volumes/glusterfs/README.md #[serde(default, skip_serializing_if = "Option::is_none")] - pub glusterfs: Option, + pub glusterfs: Option, /// hostPath represents a pre-existing file or directory on the host /// machine that is directly exposed to the container. This is generally /// used for system agents or other privileged things that are allowed @@ -9197,12 +9211,12 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumes { /// TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not /// mount host directories as read/write. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPath")] - pub host_path: Option, + pub host_path: Option, /// iscsi represents an ISCSI Disk resource that is attached to a /// kubelet's host machine and then exposed to the pod. /// More info: https://examples.k8s.io/volumes/iscsi/README.md #[serde(default, skip_serializing_if = "Option::is_none")] - pub iscsi: Option, + pub iscsi: Option, /// name of the volume. /// Must be a DNS_LABEL and unique within the pod. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names @@ -9210,48 +9224,48 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumes { /// nfs represents an NFS mount on the host that shares a pod's lifetime /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs #[serde(default, skip_serializing_if = "Option::is_none")] - pub nfs: Option, + pub nfs: Option, /// persistentVolumeClaimVolumeSource represents a reference to a /// PersistentVolumeClaim in the same namespace. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentVolumeClaim")] - pub persistent_volume_claim: Option, + pub persistent_volume_claim: Option, /// photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine #[serde(default, skip_serializing_if = "Option::is_none", rename = "photonPersistentDisk")] - pub photon_persistent_disk: Option, + pub photon_persistent_disk: Option, /// portworxVolume represents a portworx volume attached and mounted on kubelets host machine #[serde(default, skip_serializing_if = "Option::is_none", rename = "portworxVolume")] - pub portworx_volume: Option, + pub portworx_volume: Option, /// projected items for all in one resources secrets, configmaps, and downward API #[serde(default, skip_serializing_if = "Option::is_none")] - pub projected: Option, + pub projected: Option, /// quobyte represents a Quobyte mount on the host that shares a pod's lifetime #[serde(default, skip_serializing_if = "Option::is_none")] - pub quobyte: Option, + pub quobyte: Option, /// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. /// More info: https://examples.k8s.io/volumes/rbd/README.md #[serde(default, skip_serializing_if = "Option::is_none")] - pub rbd: Option, + pub rbd: Option, /// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "scaleIO")] - pub scale_io: Option, + pub scale_io: Option, /// secret represents a secret that should populate this volume. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#secret #[serde(default, skip_serializing_if = "Option::is_none")] - pub secret: Option, + pub secret: Option, /// storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. #[serde(default, skip_serializing_if = "Option::is_none")] - pub storageos: Option, + pub storageos: Option, /// vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine #[serde(default, skip_serializing_if = "Option::is_none", rename = "vsphereVolume")] - pub vsphere_volume: Option, + pub vsphere_volume: Option, } /// awsElasticBlockStore represents an AWS Disk resource that is attached to a /// kubelet's host machine and then exposed to the pod. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesAwsElasticBlockStore { +pub struct ClusterShardingsTemplateInstancesVolumesAwsElasticBlockStore { /// fsType is the filesystem type of the volume that you want to mount. /// Tip: Ensure that the filesystem type is supported by the host operating system. /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -9277,7 +9291,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesAwsElasticBlockStore { /// azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesAzureDisk { +pub struct ClusterShardingsTemplateInstancesVolumesAzureDisk { /// cachingMode is the Host Caching mode: None, Read Only, Read Write. #[serde(default, skip_serializing_if = "Option::is_none", rename = "cachingMode")] pub caching_mode: Option, @@ -9303,7 +9317,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesAzureDisk { /// azureFile represents an Azure File Service mount on the host and bind mount to the pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesAzureFile { +pub struct ClusterShardingsTemplateInstancesVolumesAzureFile { /// readOnly defaults to false (read/write). ReadOnly here will force /// the ReadOnly setting in VolumeMounts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] @@ -9318,7 +9332,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesAzureFile { /// cephFS represents a Ceph FS mount on the host that shares a pod's lifetime #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesCephfs { +pub struct ClusterShardingsTemplateInstancesVolumesCephfs { /// monitors is Required: Monitors is a collection of Ceph monitors /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it pub monitors: Vec, @@ -9337,7 +9351,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesCephfs { /// secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] - pub secret_ref: Option, + pub secret_ref: Option, /// user is optional: User is the rados user name, default is admin /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none")] @@ -9347,7 +9361,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesCephfs { /// secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesCephfsSecretRef { +pub struct ClusterShardingsTemplateInstancesVolumesCephfsSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -9358,7 +9372,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesCephfsSecretRef { /// cinder represents a cinder volume attached and mounted on kubelets host machine. /// More info: https://examples.k8s.io/mysql-cinder-pd/README.md #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesCinder { +pub struct ClusterShardingsTemplateInstancesVolumesCinder { /// fsType is the filesystem type to mount. /// Must be a filesystem type supported by the host operating system. /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -9373,7 +9387,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesCinder { /// secretRef is optional: points to a secret object containing parameters used to connect /// to OpenStack. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] - pub secret_ref: Option, + pub secret_ref: Option, /// volumeID used to identify the volume in cinder. /// More info: https://examples.k8s.io/mysql-cinder-pd/README.md #[serde(rename = "volumeID")] @@ -9383,7 +9397,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesCinder { /// secretRef is optional: points to a secret object containing parameters used to connect /// to OpenStack. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesCinderSecretRef { +pub struct ClusterShardingsTemplateInstancesVolumesCinderSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -9393,7 +9407,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesCinderSecretRef { /// configMap represents a configMap that should populate this volume #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesConfigMap { +pub struct ClusterShardingsTemplateInstancesVolumesConfigMap { /// defaultMode is optional: mode bits used to set permissions on created files by default. /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. @@ -9411,7 +9425,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesConfigMap { /// the volume setup will error unless it is marked optional. Paths must be /// relative and may not contain the '..' path or start with '..'. #[serde(default, skip_serializing_if = "Option::is_none")] - pub items: Option>, + pub items: Option>, /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -9424,7 +9438,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesConfigMap { /// Maps a string key to a path within a volume. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesConfigMapItems { +pub struct ClusterShardingsTemplateInstancesVolumesConfigMapItems { /// key is the key to project. pub key: String, /// mode is Optional: mode bits used to set permissions on this file. @@ -9444,7 +9458,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesConfigMapItems { /// csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesCsi { +pub struct ClusterShardingsTemplateInstancesVolumesCsi { /// driver is the name of the CSI driver that handles this volume. /// Consult with your admin for the correct name as registered in the cluster. pub driver: String, @@ -9459,7 +9473,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesCsi { /// This field is optional, and may be empty if no secret is required. If the /// secret object contains more than one secret, all secret references are passed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePublishSecretRef")] - pub node_publish_secret_ref: Option, + pub node_publish_secret_ref: Option, /// readOnly specifies a read-only configuration for the volume. /// Defaults to false (read/write). #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] @@ -9476,7 +9490,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesCsi { /// This field is optional, and may be empty if no secret is required. If the /// secret object contains more than one secret, all secret references are passed. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesCsiNodePublishSecretRef { +pub struct ClusterShardingsTemplateInstancesVolumesCsiNodePublishSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -9486,7 +9500,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesCsiNodePublishSecretRef { /// downwardAPI represents downward API about the pod that should populate this volume #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesDownwardApi { +pub struct ClusterShardingsTemplateInstancesVolumesDownwardApi { /// Optional: mode bits to use on created files by default. Must be a /// Optional: mode bits used to set permissions on created files by default. /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. @@ -9499,15 +9513,15 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesDownwardApi { pub default_mode: Option, /// Items is a list of downward API volume file #[serde(default, skip_serializing_if = "Option::is_none")] - pub items: Option>, + pub items: Option>, } /// DownwardAPIVolumeFile represents information to create the file containing the pod field #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesDownwardApiItems { +pub struct ClusterShardingsTemplateInstancesVolumesDownwardApiItems { /// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] - pub field_ref: Option, + pub field_ref: Option, /// Optional: mode bits used to set permissions on this file, must be an octal value /// between 0000 and 0777 or a decimal value between 0 and 511. /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. @@ -9521,12 +9535,12 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesDownwardApiItems { /// Selects a resource of the container: only resources limits and requests /// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] - pub resource_field_ref: Option, + pub resource_field_ref: Option, } /// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesDownwardApiItemsFieldRef { +pub struct ClusterShardingsTemplateInstancesVolumesDownwardApiItemsFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] pub api_version: Option, @@ -9538,7 +9552,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesDownwardApiItemsFieldRef /// Selects a resource of the container: only resources limits and requests /// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesDownwardApiItemsResourceFieldRef { +pub struct ClusterShardingsTemplateInstancesVolumesDownwardApiItemsResourceFieldRef { /// Container name: required for volumes, optional for env vars #[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")] pub container_name: Option, @@ -9552,7 +9566,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesDownwardApiItemsResourceF /// emptyDir represents a temporary directory that shares a pod's lifetime. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesEmptyDir { +pub struct ClusterShardingsTemplateInstancesVolumesEmptyDir { /// medium represents what type of storage medium should back this directory. /// The default is "" which means to use the node's default medium. /// Must be an empty string (default) or Memory. @@ -9598,7 +9612,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesEmptyDir { /// A pod can use both types of ephemeral volumes and /// persistent volumes at the same time. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeral { +pub struct ClusterShardingsTemplateInstancesVolumesEphemeral { /// Will be used to create a stand-alone PVC to provision the volume. /// The pod in which this EphemeralVolumeSource is embedded will be the /// owner of the PVC, i.e. the PVC will be deleted together with the @@ -9624,7 +9638,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeral { /// /// Required, must not be nil. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeClaimTemplate")] - pub volume_claim_template: Option, + pub volume_claim_template: Option, } /// Will be used to create a stand-alone PVC to provision the volume. @@ -9652,24 +9666,24 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeral { /// /// Required, must not be nil. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTemplate { +pub struct ClusterShardingsTemplateInstancesVolumesEphemeralVolumeClaimTemplate { /// May contain labels and annotations that will be copied into the PVC /// when creating it. No other fields are allowed and will be rejected during /// validation. #[serde(default, skip_serializing_if = "Option::is_none")] - pub metadata: Option, + pub metadata: Option, /// The specification for the PersistentVolumeClaim. The entire content is /// copied unchanged into the PVC that gets created from this /// template. The same fields as in a PersistentVolumeClaim /// are also valid here. - pub spec: ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTemplateSpec, + pub spec: ClusterShardingsTemplateInstancesVolumesEphemeralVolumeClaimTemplateSpec, } /// May contain labels and annotations that will be copied into the PVC /// when creating it. No other fields are allowed and will be rejected during /// validation. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTemplateMetadata { +pub struct ClusterShardingsTemplateInstancesVolumesEphemeralVolumeClaimTemplateMetadata { #[serde(default, skip_serializing_if = "Option::is_none")] pub annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -9687,7 +9701,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTempl /// template. The same fields as in a PersistentVolumeClaim /// are also valid here. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTemplateSpec { +pub struct ClusterShardingsTemplateInstancesVolumesEphemeralVolumeClaimTemplateSpec { /// accessModes contains the desired access modes the volume should have. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")] @@ -9701,7 +9715,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTempl /// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. /// If the namespace is specified, then dataSourceRef will not be copied to dataSource. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")] - pub data_source: Option, + pub data_source: Option, /// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty /// volume is desired. This may be any object from a non-empty API group (non /// core object) or a PersistentVolumeClaim object. @@ -9726,17 +9740,17 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTempl /// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. /// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")] - pub data_source_ref: Option, + pub data_source_ref: Option, /// resources represents the minimum resources the volume should have. /// If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements /// that are lower than previous value but must still be higher than capacity recorded in the /// status field of the claim. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, /// selector is a label query over volumes to consider for binding. #[serde(default, skip_serializing_if = "Option::is_none")] - pub selector: Option, + pub selector: Option, /// storageClassName is the name of the StorageClass required by the claim. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")] @@ -9773,7 +9787,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTempl /// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. /// If the namespace is specified, then dataSourceRef will not be copied to dataSource. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTemplateSpecDataSource { +pub struct ClusterShardingsTemplateInstancesVolumesEphemeralVolumeClaimTemplateSpecDataSource { /// APIGroup is the group for the resource being referenced. /// If APIGroup is not specified, the specified Kind must be in the core API group. /// For any other third-party types, APIGroup is required. @@ -9809,7 +9823,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTempl /// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. /// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef { +pub struct ClusterShardingsTemplateInstancesVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef { /// APIGroup is the group for the resource being referenced. /// If APIGroup is not specified, the specified Kind must be in the core API group. /// For any other third-party types, APIGroup is required. @@ -9832,7 +9846,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTempl /// status field of the claim. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTemplateSpecResources { +pub struct ClusterShardingsTemplateInstancesVolumesEphemeralVolumeClaimTemplateSpecResources { /// Limits describes the maximum amount of compute resources allowed. /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] @@ -9847,10 +9861,10 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTempl /// selector is a label query over volumes to consider for binding. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTemplateSpecSelector { +pub struct ClusterShardingsTemplateInstancesVolumesEphemeralVolumeClaimTemplateSpecSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -9861,7 +9875,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTempl /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions { +pub struct ClusterShardingsTemplateInstancesVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -9877,7 +9891,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesEphemeralVolumeClaimTempl /// fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesFc { +pub struct ClusterShardingsTemplateInstancesVolumesFc { /// fsType is the filesystem type to mount. /// Must be a filesystem type supported by the host operating system. /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -9903,7 +9917,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesFc { /// flexVolume represents a generic volume resource that is /// provisioned/attached using an exec based plugin. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesFlexVolume { +pub struct ClusterShardingsTemplateInstancesVolumesFlexVolume { /// driver is the name of the driver to use for this volume. pub driver: String, /// fsType is the filesystem type to mount. @@ -9924,7 +9938,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesFlexVolume { /// contains more than one secret, all secrets are passed to the plugin /// scripts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] - pub secret_ref: Option, + pub secret_ref: Option, } /// secretRef is Optional: secretRef is reference to the secret object containing @@ -9933,7 +9947,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesFlexVolume { /// contains more than one secret, all secrets are passed to the plugin /// scripts. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesFlexVolumeSecretRef { +pub struct ClusterShardingsTemplateInstancesVolumesFlexVolumeSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -9943,7 +9957,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesFlexVolumeSecretRef { /// flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesFlocker { +pub struct ClusterShardingsTemplateInstancesVolumesFlocker { /// datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker /// should be considered as deprecated #[serde(default, skip_serializing_if = "Option::is_none", rename = "datasetName")] @@ -9957,7 +9971,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesFlocker { /// kubelet's host machine and then exposed to the pod. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesGcePersistentDisk { +pub struct ClusterShardingsTemplateInstancesVolumesGcePersistentDisk { /// fsType is filesystem type of the volume that you want to mount. /// Tip: Ensure that the filesystem type is supported by the host operating system. /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -9988,7 +10002,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesGcePersistentDisk { /// EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir /// into the Pod's container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesGitRepo { +pub struct ClusterShardingsTemplateInstancesVolumesGitRepo { /// directory is the target directory name. /// Must not contain or start with '..'. If '.' is supplied, the volume directory will be the /// git repository. Otherwise, if specified, the volume will contain the git repository in @@ -10005,7 +10019,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesGitRepo { /// glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. /// More info: https://examples.k8s.io/volumes/glusterfs/README.md #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesGlusterfs { +pub struct ClusterShardingsTemplateInstancesVolumesGlusterfs { /// endpoints is the endpoint name that details Glusterfs topology. /// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod pub endpoints: String, @@ -10028,7 +10042,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesGlusterfs { /// TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not /// mount host directories as read/write. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesHostPath { +pub struct ClusterShardingsTemplateInstancesVolumesHostPath { /// path of the directory on the host. /// If the path is a symlink, it will follow the link to the real path. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath @@ -10044,7 +10058,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesHostPath { /// kubelet's host machine and then exposed to the pod. /// More info: https://examples.k8s.io/volumes/iscsi/README.md #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesIscsi { +pub struct ClusterShardingsTemplateInstancesVolumesIscsi { /// chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication #[serde(default, skip_serializing_if = "Option::is_none", rename = "chapAuthDiscovery")] pub chap_auth_discovery: Option, @@ -10081,7 +10095,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesIscsi { pub read_only: Option, /// secretRef is the CHAP Secret for iSCSI target and initiator authentication #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] - pub secret_ref: Option, + pub secret_ref: Option, /// targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port /// is other than default (typically TCP ports 860 and 3260). #[serde(rename = "targetPortal")] @@ -10090,7 +10104,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesIscsi { /// secretRef is the CHAP Secret for iSCSI target and initiator authentication #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesIscsiSecretRef { +pub struct ClusterShardingsTemplateInstancesVolumesIscsiSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -10101,7 +10115,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesIscsiSecretRef { /// nfs represents an NFS mount on the host that shares a pod's lifetime /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesNfs { +pub struct ClusterShardingsTemplateInstancesVolumesNfs { /// path that is exported by the NFS server. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs pub path: String, @@ -10119,7 +10133,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesNfs { /// PersistentVolumeClaim in the same namespace. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesPersistentVolumeClaim { +pub struct ClusterShardingsTemplateInstancesVolumesPersistentVolumeClaim { /// claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[serde(rename = "claimName")] @@ -10132,7 +10146,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesPersistentVolumeClaim { /// photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesPhotonPersistentDisk { +pub struct ClusterShardingsTemplateInstancesVolumesPhotonPersistentDisk { /// fsType is the filesystem type to mount. /// Must be a filesystem type supported by the host operating system. /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -10145,7 +10159,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesPhotonPersistentDisk { /// portworxVolume represents a portworx volume attached and mounted on kubelets host machine #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesPortworxVolume { +pub struct ClusterShardingsTemplateInstancesVolumesPortworxVolume { /// fSType represents the filesystem type to mount /// Must be a filesystem type supported by the host operating system. /// Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. @@ -10162,7 +10176,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesPortworxVolume { /// projected items for all in one resources secrets, configmaps, and downward API #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesProjected { +pub struct ClusterShardingsTemplateInstancesVolumesProjected { /// defaultMode are the mode bits used to set permissions on created files by default. /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. @@ -10173,12 +10187,12 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjected { pub default_mode: Option, /// sources is the list of volume projections #[serde(default, skip_serializing_if = "Option::is_none")] - pub sources: Option>, + pub sources: Option>, } /// Projection that may be projected along with other supported volume types #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSources { +pub struct ClusterShardingsTemplateInstancesVolumesProjectedSources { /// ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field /// of ClusterTrustBundle objects in an auto-updating file. /// @@ -10196,19 +10210,19 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSources { /// The ordering of certificates within the file is arbitrary, and Kubelet /// may change the order over time. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterTrustBundle")] - pub cluster_trust_bundle: Option, + pub cluster_trust_bundle: Option, /// configMap information about the configMap data to project #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")] - pub config_map: Option, + pub config_map: Option, /// downwardAPI information about the downwardAPI data to project #[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")] - pub downward_api: Option, + pub downward_api: Option, /// secret information about the secret data to project #[serde(default, skip_serializing_if = "Option::is_none")] - pub secret: Option, + pub secret: Option, /// serviceAccountToken is information about the serviceAccountToken data to project #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountToken")] - pub service_account_token: Option, + pub service_account_token: Option, } /// ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field @@ -10228,13 +10242,13 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSources { /// The ordering of certificates within the file is arbitrary, and Kubelet /// may change the order over time. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesClusterTrustBundle { +pub struct ClusterShardingsTemplateInstancesVolumesProjectedSourcesClusterTrustBundle { /// Select all ClusterTrustBundles that match this label selector. Only has /// effect if signerName is set. Mutually-exclusive with name. If unset, /// interpreted as "match nothing". If set but empty, interpreted as "match /// everything". #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] - pub label_selector: Option, + pub label_selector: Option, /// Select a single ClusterTrustBundle by object name. Mutually-exclusive /// with signerName and labelSelector. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -10260,10 +10274,10 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesClusterTr /// interpreted as "match nothing". If set but empty, interpreted as "match /// everything". #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesClusterTrustBundleLabelSelector { +pub struct ClusterShardingsTemplateInstancesVolumesProjectedSourcesClusterTrustBundleLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -10274,7 +10288,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesClusterTr /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions { +pub struct ClusterShardingsTemplateInstancesVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -10290,7 +10304,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesClusterTr /// configMap information about the configMap data to project #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesConfigMap { +pub struct ClusterShardingsTemplateInstancesVolumesProjectedSourcesConfigMap { /// items if unspecified, each key-value pair in the Data field of the referenced /// ConfigMap will be projected into the volume as a file whose name is the /// key and content is the value. If specified, the listed keys will be @@ -10299,7 +10313,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesConfigMap /// the volume setup will error unless it is marked optional. Paths must be /// relative and may not contain the '..' path or start with '..'. #[serde(default, skip_serializing_if = "Option::is_none")] - pub items: Option>, + pub items: Option>, /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -10312,7 +10326,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesConfigMap /// Maps a string key to a path within a volume. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesConfigMapItems { +pub struct ClusterShardingsTemplateInstancesVolumesProjectedSourcesConfigMapItems { /// key is the key to project. pub key: String, /// mode is Optional: mode bits used to set permissions on this file. @@ -10332,18 +10346,18 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesConfigMap /// downwardAPI information about the downwardAPI data to project #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesDownwardApi { +pub struct ClusterShardingsTemplateInstancesVolumesProjectedSourcesDownwardApi { /// Items is a list of DownwardAPIVolume file #[serde(default, skip_serializing_if = "Option::is_none")] - pub items: Option>, + pub items: Option>, } /// DownwardAPIVolumeFile represents information to create the file containing the pod field #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesDownwardApiItems { +pub struct ClusterShardingsTemplateInstancesVolumesProjectedSourcesDownwardApiItems { /// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] - pub field_ref: Option, + pub field_ref: Option, /// Optional: mode bits used to set permissions on this file, must be an octal value /// between 0000 and 0777 or a decimal value between 0 and 511. /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. @@ -10357,12 +10371,12 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesDownwardA /// Selects a resource of the container: only resources limits and requests /// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] - pub resource_field_ref: Option, + pub resource_field_ref: Option, } /// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesDownwardApiItemsFieldRef { +pub struct ClusterShardingsTemplateInstancesVolumesProjectedSourcesDownwardApiItemsFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] pub api_version: Option, @@ -10374,7 +10388,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesDownwardA /// Selects a resource of the container: only resources limits and requests /// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesDownwardApiItemsResourceFieldRef { +pub struct ClusterShardingsTemplateInstancesVolumesProjectedSourcesDownwardApiItemsResourceFieldRef { /// Container name: required for volumes, optional for env vars #[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")] pub container_name: Option, @@ -10387,7 +10401,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesDownwardA /// secret information about the secret data to project #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesSecret { +pub struct ClusterShardingsTemplateInstancesVolumesProjectedSourcesSecret { /// items if unspecified, each key-value pair in the Data field of the referenced /// Secret will be projected into the volume as a file whose name is the /// key and content is the value. If specified, the listed keys will be @@ -10396,7 +10410,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesSecret { /// the volume setup will error unless it is marked optional. Paths must be /// relative and may not contain the '..' path or start with '..'. #[serde(default, skip_serializing_if = "Option::is_none")] - pub items: Option>, + pub items: Option>, /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -10409,7 +10423,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesSecret { /// Maps a string key to a path within a volume. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesSecretItems { +pub struct ClusterShardingsTemplateInstancesVolumesProjectedSourcesSecretItems { /// key is the key to project. pub key: String, /// mode is Optional: mode bits used to set permissions on this file. @@ -10429,7 +10443,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesSecretIte /// serviceAccountToken is information about the serviceAccountToken data to project #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesServiceAccountToken { +pub struct ClusterShardingsTemplateInstancesVolumesProjectedSourcesServiceAccountToken { /// audience is the intended audience of the token. A recipient of a token /// must identify itself with an identifier specified in the audience of the /// token, and otherwise should reject the token. The audience defaults to the @@ -10451,7 +10465,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesProjectedSourcesServiceAc /// quobyte represents a Quobyte mount on the host that shares a pod's lifetime #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesQuobyte { +pub struct ClusterShardingsTemplateInstancesVolumesQuobyte { /// group to map volume access to /// Default is no group #[serde(default, skip_serializing_if = "Option::is_none")] @@ -10479,7 +10493,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesQuobyte { /// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. /// More info: https://examples.k8s.io/volumes/rbd/README.md #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesRbd { +pub struct ClusterShardingsTemplateInstancesVolumesRbd { /// fsType is the filesystem type of the volume that you want to mount. /// Tip: Ensure that the filesystem type is supported by the host operating system. /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -10513,7 +10527,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesRbd { /// Default is nil. /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] - pub secret_ref: Option, + pub secret_ref: Option, /// user is the rados user name. /// Default is admin. /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it @@ -10526,7 +10540,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesRbd { /// Default is nil. /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesRbdSecretRef { +pub struct ClusterShardingsTemplateInstancesVolumesRbdSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -10536,7 +10550,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesRbdSecretRef { /// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesScaleIo { +pub struct ClusterShardingsTemplateInstancesVolumesScaleIo { /// fsType is the filesystem type to mount. /// Must be a filesystem type supported by the host operating system. /// Ex. "ext4", "xfs", "ntfs". @@ -10555,7 +10569,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesScaleIo { /// secretRef references to the secret for ScaleIO user and other /// sensitive information. If this is not provided, Login operation will fail. #[serde(rename = "secretRef")] - pub secret_ref: ClusterShardingSpecsTemplateInstancesVolumesScaleIoSecretRef, + pub secret_ref: ClusterShardingsTemplateInstancesVolumesScaleIoSecretRef, /// sslEnabled Flag enable/disable SSL communication with Gateway, default false #[serde(default, skip_serializing_if = "Option::is_none", rename = "sslEnabled")] pub ssl_enabled: Option, @@ -10577,7 +10591,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesScaleIo { /// secretRef references to the secret for ScaleIO user and other /// sensitive information. If this is not provided, Login operation will fail. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesScaleIoSecretRef { +pub struct ClusterShardingsTemplateInstancesVolumesScaleIoSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -10588,7 +10602,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesScaleIoSecretRef { /// secret represents a secret that should populate this volume. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#secret #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesSecret { +pub struct ClusterShardingsTemplateInstancesVolumesSecret { /// defaultMode is Optional: mode bits used to set permissions on created files by default. /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. /// YAML accepts both octal and decimal values, JSON requires decimal values @@ -10606,7 +10620,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesSecret { /// the volume setup will error unless it is marked optional. Paths must be /// relative and may not contain the '..' path or start with '..'. #[serde(default, skip_serializing_if = "Option::is_none")] - pub items: Option>, + pub items: Option>, /// optional field specify whether the Secret or its keys must be defined #[serde(default, skip_serializing_if = "Option::is_none")] pub optional: Option, @@ -10618,7 +10632,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesSecret { /// Maps a string key to a path within a volume. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesSecretItems { +pub struct ClusterShardingsTemplateInstancesVolumesSecretItems { /// key is the key to project. pub key: String, /// mode is Optional: mode bits used to set permissions on this file. @@ -10638,7 +10652,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesSecretItems { /// storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesStorageos { +pub struct ClusterShardingsTemplateInstancesVolumesStorageos { /// fsType is the filesystem type to mount. /// Must be a filesystem type supported by the host operating system. /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -10651,7 +10665,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesStorageos { /// secretRef specifies the secret to use for obtaining the StorageOS API /// credentials. If not specified, default values will be attempted. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] - pub secret_ref: Option, + pub secret_ref: Option, /// volumeName is the human-readable name of the StorageOS volume. Volume /// names are only unique within a namespace. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")] @@ -10669,7 +10683,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesStorageos { /// secretRef specifies the secret to use for obtaining the StorageOS API /// credentials. If not specified, default values will be attempted. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesStorageosSecretRef { +pub struct ClusterShardingsTemplateInstancesVolumesStorageosSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -10679,7 +10693,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesStorageosSecretRef { /// vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateInstancesVolumesVsphereVolume { +pub struct ClusterShardingsTemplateInstancesVolumesVsphereVolume { /// fsType is filesystem type to mount. /// Must be a filesystem type supported by the host operating system. /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -10701,7 +10715,7 @@ pub struct ClusterShardingSpecsTemplateInstancesVolumesVsphereVolume { /// The secret should contain the CA certificate, TLS certificate, and private key in the specified keys. /// Required when TLS is enabled. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateIssuer { +pub struct ClusterShardingsTemplateIssuer { /// The issuer for TLS certificates. /// It only allows two enum values: `KubeBlocks` and `UserProvided`. /// @@ -10714,13 +10728,13 @@ pub struct ClusterShardingSpecsTemplateIssuer { /// SecretRef is the reference to the secret that contains user-provided certificates. /// It is required when the issuer is set to `UserProvided`. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] - pub secret_ref: Option, + pub secret_ref: Option, } /// SecretRef is the reference to the secret that contains user-provided certificates. /// It is required when the issuer is set to `UserProvided`. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateIssuerSecretRef { +pub struct ClusterShardingsTemplateIssuerSecretRef { /// Key of CA cert in Secret pub ca: String, /// Key of Cert in Secret @@ -10732,16 +10746,18 @@ pub struct ClusterShardingSpecsTemplateIssuerSecretRef { } /// The template for generating Components for shards, where each shard consists of one Component. +/// +/// /// This field is of type ClusterComponentSpec, which encapsulates all the required details and /// definitions for creating and managing the Components. -/// KubeBlocks uses this template to generate a set of identical Components or shards. +/// KubeBlocks uses this template to generate a set of identical Components of shards. /// All the generated Components will have the same specifications and definitions as specified in the `template` field. /// /// /// This allows for the creation of multiple Components with consistent configurations, /// enabling sharding and distribution of workloads across Components. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub enum ClusterShardingSpecsTemplatePodUpdatePolicy { +pub enum ClusterShardingsTemplatePodUpdatePolicy { StrictInPlace, PreferInPlace, } @@ -10749,7 +10765,7 @@ pub enum ClusterShardingSpecsTemplatePodUpdatePolicy { /// Specifies the resources required by the Component. /// It allows defining the CPU, memory requirements and limits for the Component's containers. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateResources { +pub struct ClusterShardingsTemplateResources { /// Claims lists the names of resources, defined in spec.resourceClaims, /// that are used by this container. /// @@ -10760,7 +10776,7 @@ pub struct ClusterShardingSpecsTemplateResources { /// /// This field is immutable. It can only be set for containers. #[serde(default, skip_serializing_if = "Option::is_none")] - pub claims: Option>, + pub claims: Option>, /// Limits describes the maximum amount of compute resources allowed. /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] @@ -10775,7 +10791,7 @@ pub struct ClusterShardingSpecsTemplateResources { /// ResourceClaim references one entry in PodSpec.ResourceClaims. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateResourcesClaims { +pub struct ClusterShardingsTemplateResourcesClaims { /// Name must match the name of one entry in pod.spec.resourceClaims of /// the Pod where this field is used. It makes that resource available /// inside a container. @@ -10784,10 +10800,10 @@ pub struct ClusterShardingSpecsTemplateResourcesClaims { /// Specifies the scheduling policy for the Component. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicy { +pub struct ClusterShardingsTemplateSchedulingPolicy { /// Specifies a group of affinity scheduling rules of the Cluster, including NodeAffinity, PodAffinity, and PodAntiAffinity. #[serde(default, skip_serializing_if = "Option::is_none")] - pub affinity: Option, + pub affinity: Option, /// NodeName is a request to schedule this Pod onto a specific node. If it is non-empty, /// the scheduler simply schedules this Pod onto that node, assuming that it fits resource /// requirements. @@ -10813,31 +10829,31 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicy { /// /// Pods with matching tolerations are allowed to be scheduled on tainted nodes, typically reserved for specific purposes. #[serde(default, skip_serializing_if = "Option::is_none")] - pub tolerations: Option>, + pub tolerations: Option>, /// TopologySpreadConstraints describes how a group of Pods ought to spread across topology /// domains. Scheduler will schedule Pods in a way which abides by the constraints. /// All topologySpreadConstraints are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "topologySpreadConstraints")] - pub topology_spread_constraints: Option>, + pub topology_spread_constraints: Option>, } /// Specifies a group of affinity scheduling rules of the Cluster, including NodeAffinity, PodAffinity, and PodAntiAffinity. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinity { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinity { /// Describes node affinity scheduling rules for the pod. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] - pub node_affinity: Option, + pub node_affinity: Option, /// Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAffinity")] - pub pod_affinity: Option, + pub pod_affinity: Option, /// Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] - pub pod_anti_affinity: Option, + pub pod_anti_affinity: Option, } /// Describes node affinity scheduling rules for the pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinity { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityNodeAffinity { /// The scheduler will prefer to schedule pods to nodes that satisfy /// the affinity expressions specified by this field, but it may choose /// a node that violates one or more of the expressions. The node that is @@ -10848,41 +10864,41 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinity { /// "weight" to the sum if the node matches the corresponding matchExpressions; the /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] - pub preferred_during_scheduling_ignored_during_execution: Option>, + pub preferred_during_scheduling_ignored_during_execution: Option>, /// If the affinity requirements specified by this field are not met at /// scheduling time, the pod will not be scheduled onto the node. /// If the affinity requirements specified by this field cease to be met /// at some point during pod execution (e.g. due to an update), the system /// may or may not try to eventually evict the pod from its node. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] - pub required_during_scheduling_ignored_during_execution: Option, + pub required_during_scheduling_ignored_during_execution: Option, } /// An empty preferred scheduling term matches all objects with implicit weight 0 /// (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { /// A node selector term, associated with the corresponding weight. - pub preference: ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, + pub preference: ClusterShardingsTemplateSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, /// Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. pub weight: i32, } /// A node selector term, associated with the corresponding weight. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { /// A list of node selector requirements by node's labels. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// A list of node selector requirements by node's fields. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } /// A node selector requirement is a selector that contains values, a key, and an operator /// that relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { /// The label key that the selector applies to. pub key: String, /// Represents a key's relationship to a set of values. @@ -10900,7 +10916,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinityPrefe /// A node selector requirement is a selector that contains values, a key, and an operator /// that relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { /// The label key that the selector applies to. pub key: String, /// Represents a key's relationship to a set of values. @@ -10921,29 +10937,29 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinityPrefe /// at some point during pod execution (e.g. due to an update), the system /// may or may not try to eventually evict the pod from its node. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// Required. A list of node selector terms. The terms are ORed. #[serde(rename = "nodeSelectorTerms")] - pub node_selector_terms: Vec, + pub node_selector_terms: Vec, } /// A null or empty node selector term matches no objects. The requirements of /// them are ANDed. /// The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { /// A list of node selector requirements by node's labels. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// A list of node selector requirements by node's fields. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } /// A node selector requirement is a selector that contains values, a key, and an operator /// that relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { /// The label key that the selector applies to. pub key: String, /// Represents a key's relationship to a set of values. @@ -10961,7 +10977,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinityRequi /// A node selector requirement is a selector that contains values, a key, and an operator /// that relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { /// The label key that the selector applies to. pub key: String, /// Represents a key's relationship to a set of values. @@ -10978,7 +10994,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityNodeAffinityRequi /// Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinity { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAffinity { /// The scheduler will prefer to schedule pods to nodes that satisfy /// the affinity expressions specified by this field, but it may choose /// a node that violates one or more of the expressions. The node that is @@ -10989,7 +11005,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinity { /// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] - pub preferred_during_scheduling_ignored_during_execution: Option>, + pub preferred_during_scheduling_ignored_during_execution: Option>, /// If the affinity requirements specified by this field are not met at /// scheduling time, the pod will not be scheduled onto the node. /// If the affinity requirements specified by this field cease to be met @@ -10998,15 +11014,15 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinity { /// When there are multiple elements, the lists of nodes corresponding to each /// podAffinityTerm are intersected, i.e. all terms must be satisfied. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] - pub required_during_scheduling_ignored_during_execution: Option>, + pub required_during_scheduling_ignored_during_execution: Option>, } /// The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution { /// Required. A pod affinity term, associated with the corresponding weight. #[serde(rename = "podAffinityTerm")] - pub pod_affinity_term: ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, + pub pod_affinity_term: ClusterShardingsTemplateSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, /// weight associated with matching the corresponding podAffinityTerm, /// in the range 1-100. pub weight: i32, @@ -11014,11 +11030,11 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityPrefer /// Required. A pod affinity term, associated with the corresponding weight. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] - pub label_selector: Option, + pub label_selector: Option, /// MatchLabelKeys is a set of pod label keys to select which pods will /// be taken into consideration. The keys are used to lookup values from the /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` @@ -11047,7 +11063,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityPrefer /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] - pub namespace_selector: Option, + pub namespace_selector: Option, /// namespaces specifies a static list of namespace names that the term applies to. /// The term is applied to the union of the namespaces listed in this field /// and the ones selected by namespaceSelector. @@ -11066,10 +11082,10 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityPrefer /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -11080,7 +11096,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityPrefer /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -11100,10 +11116,10 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityPrefer /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -11114,7 +11130,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityPrefer /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -11135,11 +11151,11 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityPrefer /// the label with key matches that of any node on which /// a pod of the set of pods is running #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] - pub label_selector: Option, + pub label_selector: Option, /// MatchLabelKeys is a set of pod label keys to select which pods will /// be taken into consideration. The keys are used to lookup values from the /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` @@ -11168,7 +11184,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityRequir /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] - pub namespace_selector: Option, + pub namespace_selector: Option, /// namespaces specifies a static list of namespace names that the term applies to. /// The term is applied to the union of the namespaces listed in this field /// and the ones selected by namespaceSelector. @@ -11187,10 +11203,10 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityRequir /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -11201,7 +11217,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityRequir /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -11221,10 +11237,10 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityRequir /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -11235,7 +11251,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityRequir /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -11251,7 +11267,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAffinityRequir /// Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinity { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAntiAffinity { /// The scheduler will prefer to schedule pods to nodes that satisfy /// the anti-affinity expressions specified by this field, but it may choose /// a node that violates one or more of the expressions. The node that is @@ -11262,7 +11278,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinity { /// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] - pub preferred_during_scheduling_ignored_during_execution: Option>, + pub preferred_during_scheduling_ignored_during_execution: Option>, /// If the anti-affinity requirements specified by this field are not met at /// scheduling time, the pod will not be scheduled onto the node. /// If the anti-affinity requirements specified by this field cease to be met @@ -11271,15 +11287,15 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinity { /// When there are multiple elements, the lists of nodes corresponding to each /// podAffinityTerm are intersected, i.e. all terms must be satisfied. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] - pub required_during_scheduling_ignored_during_execution: Option>, + pub required_during_scheduling_ignored_during_execution: Option>, } /// The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution { /// Required. A pod affinity term, associated with the corresponding weight. #[serde(rename = "podAffinityTerm")] - pub pod_affinity_term: ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, + pub pod_affinity_term: ClusterShardingsTemplateSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, /// weight associated with matching the corresponding podAffinityTerm, /// in the range 1-100. pub weight: i32, @@ -11287,11 +11303,11 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityPr /// Required. A pod affinity term, associated with the corresponding weight. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] - pub label_selector: Option, + pub label_selector: Option, /// MatchLabelKeys is a set of pod label keys to select which pods will /// be taken into consideration. The keys are used to lookup values from the /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` @@ -11320,7 +11336,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityPr /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] - pub namespace_selector: Option, + pub namespace_selector: Option, /// namespaces specifies a static list of namespace names that the term applies to. /// The term is applied to the union of the namespaces listed in this field /// and the ones selected by namespaceSelector. @@ -11339,10 +11355,10 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityPr /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -11353,7 +11369,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityPr /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -11373,10 +11389,10 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityPr /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -11387,7 +11403,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityPr /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -11408,11 +11424,11 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityPr /// the label with key matches that of any node on which /// a pod of the set of pods is running #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] - pub label_selector: Option, + pub label_selector: Option, /// MatchLabelKeys is a set of pod label keys to select which pods will /// be taken into consideration. The keys are used to lookup values from the /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` @@ -11441,7 +11457,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityRe /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] - pub namespace_selector: Option, + pub namespace_selector: Option, /// namespaces specifies a static list of namespace names that the term applies to. /// The term is applied to the union of the namespaces listed in this field /// and the ones selected by namespaceSelector. @@ -11460,10 +11476,10 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityRe /// A label query over a set of resources, in this case pods. /// If it's null, this PodAffinityTerm matches with no Pods. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -11474,7 +11490,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityRe /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -11494,10 +11510,10 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityRe /// null selector and null or empty namespaces list means "this pod's namespace". /// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -11508,7 +11524,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityRe /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { +pub struct ClusterShardingsTemplateSchedulingPolicyAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -11525,7 +11541,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyAffinityPodAntiAffinityRe /// The pod this Toleration is attached to tolerates any taint that matches /// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyTolerations { +pub struct ClusterShardingsTemplateSchedulingPolicyTolerations { /// Effect indicates the taint effect to match. Empty means match all taint effects. /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -11554,12 +11570,12 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyTolerations { /// TopologySpreadConstraint specifies how to spread matching pods among the given topology. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyTopologySpreadConstraints { +pub struct ClusterShardingsTemplateSchedulingPolicyTopologySpreadConstraints { /// LabelSelector is used to find matching pods. /// Pods that match this label selector are counted to determine the number of pods /// in their corresponding topology domain. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] - pub label_selector: Option, + pub label_selector: Option, /// MatchLabelKeys is a set of pod label keys to select the pods over which /// spreading will be calculated. The keys are used to lookup values from the /// incoming pod labels, those key-value labels are ANDed with labelSelector @@ -11676,10 +11692,10 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyTopologySpreadConstraints /// Pods that match this label selector are counted to determine the number of pods /// in their corresponding topology domain. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyTopologySpreadConstraintsLabelSelector { +pub struct ClusterShardingsTemplateSchedulingPolicyTopologySpreadConstraintsLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -11690,7 +11706,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyTopologySpreadConstraints /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSchedulingPolicyTopologySpreadConstraintsLabelSelectorMatchExpressions { +pub struct ClusterShardingsTemplateSchedulingPolicyTopologySpreadConstraintsLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -11705,7 +11721,7 @@ pub struct ClusterShardingSpecsTemplateSchedulingPolicyTopologySpreadConstraints } #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateServiceRefs { +pub struct ClusterShardingsTemplateServiceRefs { /// Specifies the name of the KubeBlocks Cluster being referenced. /// This is used when services from another KubeBlocks Cluster are consumed. /// @@ -11732,7 +11748,7 @@ pub struct ClusterShardingSpecsTemplateServiceRefs { /// References a service provided by another KubeBlocks Cluster. /// It specifies the ClusterService and the account credentials needed for access. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterServiceSelector")] - pub cluster_service_selector: Option, + pub cluster_service_selector: Option, /// Specifies the identifier of the service reference declaration. /// It corresponds to the serviceRefDeclaration name defined in either: /// @@ -11762,26 +11778,26 @@ pub struct ClusterShardingSpecsTemplateServiceRefs { /// References a service provided by another KubeBlocks Cluster. /// It specifies the ClusterService and the account credentials needed for access. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateServiceRefsClusterServiceSelector { +pub struct ClusterShardingsTemplateServiceRefsClusterServiceSelector { /// The name of the Cluster being referenced. pub cluster: String, /// Specifies the SystemAccount to authenticate and establish a connection with the referenced Cluster. /// The SystemAccount should be defined in `componentDefinition.spec.systemAccounts` /// of the Component providing the service in the referenced Cluster. #[serde(default, skip_serializing_if = "Option::is_none")] - pub credential: Option, + pub credential: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "podFQDNs")] - pub pod_fqd_ns: Option, + pub pod_fqd_ns: Option, /// Identifies a ClusterService from the list of Services defined in `cluster.spec.services` of the referenced Cluster. #[serde(default, skip_serializing_if = "Option::is_none")] - pub service: Option, + pub service: Option, } /// Specifies the SystemAccount to authenticate and establish a connection with the referenced Cluster. /// The SystemAccount should be defined in `componentDefinition.spec.systemAccounts` /// of the Component providing the service in the referenced Cluster. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateServiceRefsClusterServiceSelectorCredential { +pub struct ClusterShardingsTemplateServiceRefsClusterServiceSelectorCredential { /// The name of the Component where the credential resides in. pub component: String, /// The name of the credential (SystemAccount) to reference. @@ -11789,7 +11805,7 @@ pub struct ClusterShardingSpecsTemplateServiceRefsClusterServiceSelectorCredenti } #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateServiceRefsClusterServiceSelectorPodFqdNs { +pub struct ClusterShardingsTemplateServiceRefsClusterServiceSelectorPodFqdNs { /// The name of the Component where the pods reside in. pub component: String, /// The role of the pods to reference. @@ -11799,7 +11815,7 @@ pub struct ClusterShardingSpecsTemplateServiceRefsClusterServiceSelectorPodFqdNs /// Identifies a ClusterService from the list of Services defined in `cluster.spec.services` of the referenced Cluster. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateServiceRefsClusterServiceSelectorService { +pub struct ClusterShardingsTemplateServiceRefsClusterServiceSelectorService { /// The name of the Component where the Service resides in. /// /// @@ -11828,7 +11844,7 @@ pub struct ClusterShardingSpecsTemplateServiceRefsClusterServiceSelectorService } #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateServices { +pub struct ClusterShardingsTemplateServices { /// If ServiceType is LoadBalancer, cloud provider related parameters can be put here. /// More info: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -11856,11 +11872,11 @@ pub struct ClusterShardingSpecsTemplateServices { /// For more info, see: /// https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types. #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceType")] - pub service_type: Option, + pub service_type: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub enum ClusterShardingSpecsTemplateServicesServiceType { +pub enum ClusterShardingsTemplateServicesServiceType { #[serde(rename = "ClusterIP")] ClusterIp, NodePort, @@ -11868,7 +11884,7 @@ pub enum ClusterShardingSpecsTemplateServicesServiceType { } #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSystemAccounts { +pub struct ClusterShardingsTemplateSystemAccounts { /// The name of the system account. pub name: String, /// Specifies the policy for generating the account's password. @@ -11876,13 +11892,13 @@ pub struct ClusterShardingSpecsTemplateSystemAccounts { /// /// This field is immutable once set. #[serde(default, skip_serializing_if = "Option::is_none", rename = "passwordConfig")] - pub password_config: Option, + pub password_config: Option, /// Refers to the secret from which data will be copied to create the new account. /// /// /// This field is immutable once set. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] - pub secret_ref: Option, + pub secret_ref: Option, } /// Specifies the policy for generating the account's password. @@ -11890,13 +11906,13 @@ pub struct ClusterShardingSpecsTemplateSystemAccounts { /// /// This field is immutable once set. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSystemAccountsPasswordConfig { +pub struct ClusterShardingsTemplateSystemAccountsPasswordConfig { /// The length of the password. #[serde(default, skip_serializing_if = "Option::is_none")] pub length: Option, /// The case of the letters in the password. #[serde(default, skip_serializing_if = "Option::is_none", rename = "letterCase")] - pub letter_case: Option, + pub letter_case: Option, /// The number of digits in the password. #[serde(default, skip_serializing_if = "Option::is_none", rename = "numDigits")] pub num_digits: Option, @@ -11914,7 +11930,7 @@ pub struct ClusterShardingSpecsTemplateSystemAccountsPasswordConfig { /// /// This field is immutable once set. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub enum ClusterShardingSpecsTemplateSystemAccountsPasswordConfigLetterCase { +pub enum ClusterShardingsTemplateSystemAccountsPasswordConfigLetterCase { LowerCases, UpperCases, MixedCases, @@ -11925,7 +11941,7 @@ pub enum ClusterShardingSpecsTemplateSystemAccountsPasswordConfigLetterCase { /// /// This field is immutable once set. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateSystemAccountsSecretRef { +pub struct ClusterShardingsTemplateSystemAccountsSecretRef { /// The unique identifier of the secret. pub name: String, /// The namespace where the secret is located. @@ -11933,7 +11949,7 @@ pub struct ClusterShardingSpecsTemplateSystemAccountsSecretRef { } #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumeClaimTemplates { +pub struct ClusterShardingsTemplateVolumeClaimTemplates { /// Refers to the name of a volumeMount defined in either: /// /// @@ -11950,7 +11966,7 @@ pub struct ClusterShardingSpecsTemplateVolumeClaimTemplates { /// When a Pod is created for this ClusterComponent, a new PVC will be created based on the specification /// defined in the `spec` field. The PVC will be associated with the volume mount specified by the `name` field. #[serde(default, skip_serializing_if = "Option::is_none")] - pub spec: Option, + pub spec: Option, } /// Defines the desired characteristics of a PersistentVolumeClaim that will be created for the volume @@ -11960,7 +11976,7 @@ pub struct ClusterShardingSpecsTemplateVolumeClaimTemplates { /// When a Pod is created for this ClusterComponent, a new PVC will be created based on the specification /// defined in the `spec` field. The PVC will be associated with the volume mount specified by the `name` field. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumeClaimTemplatesSpec { +pub struct ClusterShardingsTemplateVolumeClaimTemplatesSpec { /// Contains the desired access modes the volume should have. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")] @@ -11970,7 +11986,7 @@ pub struct ClusterShardingSpecsTemplateVolumeClaimTemplatesSpec { /// are lower than the previous value but must still be higher than the capacity recorded in the status field of the claim. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources. #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, /// The name of the StorageClass required by the claim. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")] @@ -11985,7 +12001,7 @@ pub struct ClusterShardingSpecsTemplateVolumeClaimTemplatesSpec { /// are lower than the previous value but must still be higher than the capacity recorded in the status field of the claim. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumeClaimTemplatesSpecResources { +pub struct ClusterShardingsTemplateVolumeClaimTemplatesSpecResources { /// Limits describes the maximum amount of compute resources allowed. /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] @@ -12000,38 +12016,38 @@ pub struct ClusterShardingSpecsTemplateVolumeClaimTemplatesSpecResources { /// Volume represents a named volume in a pod that may be accessed by any container in the pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumes { +pub struct ClusterShardingsTemplateVolumes { /// awsElasticBlockStore represents an AWS Disk resource that is attached to a /// kubelet's host machine and then exposed to the pod. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore #[serde(default, skip_serializing_if = "Option::is_none", rename = "awsElasticBlockStore")] - pub aws_elastic_block_store: Option, + pub aws_elastic_block_store: Option, /// azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. #[serde(default, skip_serializing_if = "Option::is_none", rename = "azureDisk")] - pub azure_disk: Option, + pub azure_disk: Option, /// azureFile represents an Azure File Service mount on the host and bind mount to the pod. #[serde(default, skip_serializing_if = "Option::is_none", rename = "azureFile")] - pub azure_file: Option, + pub azure_file: Option, /// cephFS represents a Ceph FS mount on the host that shares a pod's lifetime #[serde(default, skip_serializing_if = "Option::is_none")] - pub cephfs: Option, + pub cephfs: Option, /// cinder represents a cinder volume attached and mounted on kubelets host machine. /// More info: https://examples.k8s.io/mysql-cinder-pd/README.md #[serde(default, skip_serializing_if = "Option::is_none")] - pub cinder: Option, + pub cinder: Option, /// configMap represents a configMap that should populate this volume #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")] - pub config_map: Option, + pub config_map: Option, /// csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). #[serde(default, skip_serializing_if = "Option::is_none")] - pub csi: Option, + pub csi: Option, /// downwardAPI represents downward API about the pod that should populate this volume #[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")] - pub downward_api: Option, + pub downward_api: Option, /// emptyDir represents a temporary directory that shares a pod's lifetime. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir #[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")] - pub empty_dir: Option, + pub empty_dir: Option, /// ephemeral represents a volume that is handled by a cluster storage driver. /// The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, /// and deleted when the pod is removed. @@ -12061,32 +12077,32 @@ pub struct ClusterShardingSpecsTemplateVolumes { /// A pod can use both types of ephemeral volumes and /// persistent volumes at the same time. #[serde(default, skip_serializing_if = "Option::is_none")] - pub ephemeral: Option, + pub ephemeral: Option, /// fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. #[serde(default, skip_serializing_if = "Option::is_none")] - pub fc: Option, + pub fc: Option, /// flexVolume represents a generic volume resource that is /// provisioned/attached using an exec based plugin. #[serde(default, skip_serializing_if = "Option::is_none", rename = "flexVolume")] - pub flex_volume: Option, + pub flex_volume: Option, /// flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running #[serde(default, skip_serializing_if = "Option::is_none")] - pub flocker: Option, + pub flocker: Option, /// gcePersistentDisk represents a GCE Disk resource that is attached to a /// kubelet's host machine and then exposed to the pod. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk #[serde(default, skip_serializing_if = "Option::is_none", rename = "gcePersistentDisk")] - pub gce_persistent_disk: Option, + pub gce_persistent_disk: Option, /// gitRepo represents a git repository at a particular revision. /// DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an /// EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir /// into the Pod's container. #[serde(default, skip_serializing_if = "Option::is_none", rename = "gitRepo")] - pub git_repo: Option, + pub git_repo: Option, /// glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. /// More info: https://examples.k8s.io/volumes/glusterfs/README.md #[serde(default, skip_serializing_if = "Option::is_none")] - pub glusterfs: Option, + pub glusterfs: Option, /// hostPath represents a pre-existing file or directory on the host /// machine that is directly exposed to the container. This is generally /// used for system agents or other privileged things that are allowed @@ -12096,12 +12112,12 @@ pub struct ClusterShardingSpecsTemplateVolumes { /// TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not /// mount host directories as read/write. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPath")] - pub host_path: Option, + pub host_path: Option, /// iscsi represents an ISCSI Disk resource that is attached to a /// kubelet's host machine and then exposed to the pod. /// More info: https://examples.k8s.io/volumes/iscsi/README.md #[serde(default, skip_serializing_if = "Option::is_none")] - pub iscsi: Option, + pub iscsi: Option, /// name of the volume. /// Must be a DNS_LABEL and unique within the pod. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names @@ -12109,48 +12125,48 @@ pub struct ClusterShardingSpecsTemplateVolumes { /// nfs represents an NFS mount on the host that shares a pod's lifetime /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs #[serde(default, skip_serializing_if = "Option::is_none")] - pub nfs: Option, + pub nfs: Option, /// persistentVolumeClaimVolumeSource represents a reference to a /// PersistentVolumeClaim in the same namespace. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentVolumeClaim")] - pub persistent_volume_claim: Option, + pub persistent_volume_claim: Option, /// photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine #[serde(default, skip_serializing_if = "Option::is_none", rename = "photonPersistentDisk")] - pub photon_persistent_disk: Option, + pub photon_persistent_disk: Option, /// portworxVolume represents a portworx volume attached and mounted on kubelets host machine #[serde(default, skip_serializing_if = "Option::is_none", rename = "portworxVolume")] - pub portworx_volume: Option, + pub portworx_volume: Option, /// projected items for all in one resources secrets, configmaps, and downward API #[serde(default, skip_serializing_if = "Option::is_none")] - pub projected: Option, + pub projected: Option, /// quobyte represents a Quobyte mount on the host that shares a pod's lifetime #[serde(default, skip_serializing_if = "Option::is_none")] - pub quobyte: Option, + pub quobyte: Option, /// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. /// More info: https://examples.k8s.io/volumes/rbd/README.md #[serde(default, skip_serializing_if = "Option::is_none")] - pub rbd: Option, + pub rbd: Option, /// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "scaleIO")] - pub scale_io: Option, + pub scale_io: Option, /// secret represents a secret that should populate this volume. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#secret #[serde(default, skip_serializing_if = "Option::is_none")] - pub secret: Option, + pub secret: Option, /// storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. #[serde(default, skip_serializing_if = "Option::is_none")] - pub storageos: Option, + pub storageos: Option, /// vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine #[serde(default, skip_serializing_if = "Option::is_none", rename = "vsphereVolume")] - pub vsphere_volume: Option, + pub vsphere_volume: Option, } /// awsElasticBlockStore represents an AWS Disk resource that is attached to a /// kubelet's host machine and then exposed to the pod. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesAwsElasticBlockStore { +pub struct ClusterShardingsTemplateVolumesAwsElasticBlockStore { /// fsType is the filesystem type of the volume that you want to mount. /// Tip: Ensure that the filesystem type is supported by the host operating system. /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -12176,7 +12192,7 @@ pub struct ClusterShardingSpecsTemplateVolumesAwsElasticBlockStore { /// azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesAzureDisk { +pub struct ClusterShardingsTemplateVolumesAzureDisk { /// cachingMode is the Host Caching mode: None, Read Only, Read Write. #[serde(default, skip_serializing_if = "Option::is_none", rename = "cachingMode")] pub caching_mode: Option, @@ -12202,7 +12218,7 @@ pub struct ClusterShardingSpecsTemplateVolumesAzureDisk { /// azureFile represents an Azure File Service mount on the host and bind mount to the pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesAzureFile { +pub struct ClusterShardingsTemplateVolumesAzureFile { /// readOnly defaults to false (read/write). ReadOnly here will force /// the ReadOnly setting in VolumeMounts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] @@ -12217,7 +12233,7 @@ pub struct ClusterShardingSpecsTemplateVolumesAzureFile { /// cephFS represents a Ceph FS mount on the host that shares a pod's lifetime #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesCephfs { +pub struct ClusterShardingsTemplateVolumesCephfs { /// monitors is Required: Monitors is a collection of Ceph monitors /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it pub monitors: Vec, @@ -12236,7 +12252,7 @@ pub struct ClusterShardingSpecsTemplateVolumesCephfs { /// secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] - pub secret_ref: Option, + pub secret_ref: Option, /// user is optional: User is the rados user name, default is admin /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none")] @@ -12246,7 +12262,7 @@ pub struct ClusterShardingSpecsTemplateVolumesCephfs { /// secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesCephfsSecretRef { +pub struct ClusterShardingsTemplateVolumesCephfsSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -12257,7 +12273,7 @@ pub struct ClusterShardingSpecsTemplateVolumesCephfsSecretRef { /// cinder represents a cinder volume attached and mounted on kubelets host machine. /// More info: https://examples.k8s.io/mysql-cinder-pd/README.md #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesCinder { +pub struct ClusterShardingsTemplateVolumesCinder { /// fsType is the filesystem type to mount. /// Must be a filesystem type supported by the host operating system. /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -12272,7 +12288,7 @@ pub struct ClusterShardingSpecsTemplateVolumesCinder { /// secretRef is optional: points to a secret object containing parameters used to connect /// to OpenStack. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] - pub secret_ref: Option, + pub secret_ref: Option, /// volumeID used to identify the volume in cinder. /// More info: https://examples.k8s.io/mysql-cinder-pd/README.md #[serde(rename = "volumeID")] @@ -12282,7 +12298,7 @@ pub struct ClusterShardingSpecsTemplateVolumesCinder { /// secretRef is optional: points to a secret object containing parameters used to connect /// to OpenStack. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesCinderSecretRef { +pub struct ClusterShardingsTemplateVolumesCinderSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -12292,7 +12308,7 @@ pub struct ClusterShardingSpecsTemplateVolumesCinderSecretRef { /// configMap represents a configMap that should populate this volume #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesConfigMap { +pub struct ClusterShardingsTemplateVolumesConfigMap { /// defaultMode is optional: mode bits used to set permissions on created files by default. /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. @@ -12310,7 +12326,7 @@ pub struct ClusterShardingSpecsTemplateVolumesConfigMap { /// the volume setup will error unless it is marked optional. Paths must be /// relative and may not contain the '..' path or start with '..'. #[serde(default, skip_serializing_if = "Option::is_none")] - pub items: Option>, + pub items: Option>, /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -12323,7 +12339,7 @@ pub struct ClusterShardingSpecsTemplateVolumesConfigMap { /// Maps a string key to a path within a volume. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesConfigMapItems { +pub struct ClusterShardingsTemplateVolumesConfigMapItems { /// key is the key to project. pub key: String, /// mode is Optional: mode bits used to set permissions on this file. @@ -12343,7 +12359,7 @@ pub struct ClusterShardingSpecsTemplateVolumesConfigMapItems { /// csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesCsi { +pub struct ClusterShardingsTemplateVolumesCsi { /// driver is the name of the CSI driver that handles this volume. /// Consult with your admin for the correct name as registered in the cluster. pub driver: String, @@ -12358,7 +12374,7 @@ pub struct ClusterShardingSpecsTemplateVolumesCsi { /// This field is optional, and may be empty if no secret is required. If the /// secret object contains more than one secret, all secret references are passed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePublishSecretRef")] - pub node_publish_secret_ref: Option, + pub node_publish_secret_ref: Option, /// readOnly specifies a read-only configuration for the volume. /// Defaults to false (read/write). #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] @@ -12375,7 +12391,7 @@ pub struct ClusterShardingSpecsTemplateVolumesCsi { /// This field is optional, and may be empty if no secret is required. If the /// secret object contains more than one secret, all secret references are passed. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesCsiNodePublishSecretRef { +pub struct ClusterShardingsTemplateVolumesCsiNodePublishSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -12385,7 +12401,7 @@ pub struct ClusterShardingSpecsTemplateVolumesCsiNodePublishSecretRef { /// downwardAPI represents downward API about the pod that should populate this volume #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesDownwardApi { +pub struct ClusterShardingsTemplateVolumesDownwardApi { /// Optional: mode bits to use on created files by default. Must be a /// Optional: mode bits used to set permissions on created files by default. /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. @@ -12398,15 +12414,15 @@ pub struct ClusterShardingSpecsTemplateVolumesDownwardApi { pub default_mode: Option, /// Items is a list of downward API volume file #[serde(default, skip_serializing_if = "Option::is_none")] - pub items: Option>, + pub items: Option>, } /// DownwardAPIVolumeFile represents information to create the file containing the pod field #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesDownwardApiItems { +pub struct ClusterShardingsTemplateVolumesDownwardApiItems { /// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] - pub field_ref: Option, + pub field_ref: Option, /// Optional: mode bits used to set permissions on this file, must be an octal value /// between 0000 and 0777 or a decimal value between 0 and 511. /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. @@ -12420,12 +12436,12 @@ pub struct ClusterShardingSpecsTemplateVolumesDownwardApiItems { /// Selects a resource of the container: only resources limits and requests /// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] - pub resource_field_ref: Option, + pub resource_field_ref: Option, } /// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesDownwardApiItemsFieldRef { +pub struct ClusterShardingsTemplateVolumesDownwardApiItemsFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] pub api_version: Option, @@ -12437,7 +12453,7 @@ pub struct ClusterShardingSpecsTemplateVolumesDownwardApiItemsFieldRef { /// Selects a resource of the container: only resources limits and requests /// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesDownwardApiItemsResourceFieldRef { +pub struct ClusterShardingsTemplateVolumesDownwardApiItemsResourceFieldRef { /// Container name: required for volumes, optional for env vars #[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")] pub container_name: Option, @@ -12451,7 +12467,7 @@ pub struct ClusterShardingSpecsTemplateVolumesDownwardApiItemsResourceFieldRef { /// emptyDir represents a temporary directory that shares a pod's lifetime. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesEmptyDir { +pub struct ClusterShardingsTemplateVolumesEmptyDir { /// medium represents what type of storage medium should back this directory. /// The default is "" which means to use the node's default medium. /// Must be an empty string (default) or Memory. @@ -12497,7 +12513,7 @@ pub struct ClusterShardingSpecsTemplateVolumesEmptyDir { /// A pod can use both types of ephemeral volumes and /// persistent volumes at the same time. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesEphemeral { +pub struct ClusterShardingsTemplateVolumesEphemeral { /// Will be used to create a stand-alone PVC to provision the volume. /// The pod in which this EphemeralVolumeSource is embedded will be the /// owner of the PVC, i.e. the PVC will be deleted together with the @@ -12523,7 +12539,7 @@ pub struct ClusterShardingSpecsTemplateVolumesEphemeral { /// /// Required, must not be nil. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeClaimTemplate")] - pub volume_claim_template: Option, + pub volume_claim_template: Option, } /// Will be used to create a stand-alone PVC to provision the volume. @@ -12551,24 +12567,24 @@ pub struct ClusterShardingSpecsTemplateVolumesEphemeral { /// /// Required, must not be nil. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplate { +pub struct ClusterShardingsTemplateVolumesEphemeralVolumeClaimTemplate { /// May contain labels and annotations that will be copied into the PVC /// when creating it. No other fields are allowed and will be rejected during /// validation. #[serde(default, skip_serializing_if = "Option::is_none")] - pub metadata: Option, + pub metadata: Option, /// The specification for the PersistentVolumeClaim. The entire content is /// copied unchanged into the PVC that gets created from this /// template. The same fields as in a PersistentVolumeClaim /// are also valid here. - pub spec: ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpec, + pub spec: ClusterShardingsTemplateVolumesEphemeralVolumeClaimTemplateSpec, } /// May contain labels and annotations that will be copied into the PVC /// when creating it. No other fields are allowed and will be rejected during /// validation. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateMetadata { +pub struct ClusterShardingsTemplateVolumesEphemeralVolumeClaimTemplateMetadata { #[serde(default, skip_serializing_if = "Option::is_none")] pub annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -12586,7 +12602,7 @@ pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateMetada /// template. The same fields as in a PersistentVolumeClaim /// are also valid here. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpec { +pub struct ClusterShardingsTemplateVolumesEphemeralVolumeClaimTemplateSpec { /// accessModes contains the desired access modes the volume should have. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")] @@ -12600,7 +12616,7 @@ pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpec { /// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. /// If the namespace is specified, then dataSourceRef will not be copied to dataSource. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")] - pub data_source: Option, + pub data_source: Option, /// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty /// volume is desired. This may be any object from a non-empty API group (non /// core object) or a PersistentVolumeClaim object. @@ -12625,17 +12641,17 @@ pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpec { /// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. /// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")] - pub data_source_ref: Option, + pub data_source_ref: Option, /// resources represents the minimum resources the volume should have. /// If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements /// that are lower than previous value but must still be higher than capacity recorded in the /// status field of the claim. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, /// selector is a label query over volumes to consider for binding. #[serde(default, skip_serializing_if = "Option::is_none")] - pub selector: Option, + pub selector: Option, /// storageClassName is the name of the StorageClass required by the claim. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")] @@ -12672,7 +12688,7 @@ pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpec { /// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. /// If the namespace is specified, then dataSourceRef will not be copied to dataSource. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpecDataSource { +pub struct ClusterShardingsTemplateVolumesEphemeralVolumeClaimTemplateSpecDataSource { /// APIGroup is the group for the resource being referenced. /// If APIGroup is not specified, the specified Kind must be in the core API group. /// For any other third-party types, APIGroup is required. @@ -12708,7 +12724,7 @@ pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpecDa /// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. /// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef { +pub struct ClusterShardingsTemplateVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef { /// APIGroup is the group for the resource being referenced. /// If APIGroup is not specified, the specified Kind must be in the core API group. /// For any other third-party types, APIGroup is required. @@ -12731,7 +12747,7 @@ pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpecDa /// status field of the claim. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpecResources { +pub struct ClusterShardingsTemplateVolumesEphemeralVolumeClaimTemplateSpecResources { /// Limits describes the maximum amount of compute resources allowed. /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] @@ -12746,10 +12762,10 @@ pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpecRe /// selector is a label query over volumes to consider for binding. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpecSelector { +pub struct ClusterShardingsTemplateVolumesEphemeralVolumeClaimTemplateSpecSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -12760,7 +12776,7 @@ pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpecSe /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions { +pub struct ClusterShardingsTemplateVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -12776,7 +12792,7 @@ pub struct ClusterShardingSpecsTemplateVolumesEphemeralVolumeClaimTemplateSpecSe /// fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesFc { +pub struct ClusterShardingsTemplateVolumesFc { /// fsType is the filesystem type to mount. /// Must be a filesystem type supported by the host operating system. /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -12802,7 +12818,7 @@ pub struct ClusterShardingSpecsTemplateVolumesFc { /// flexVolume represents a generic volume resource that is /// provisioned/attached using an exec based plugin. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesFlexVolume { +pub struct ClusterShardingsTemplateVolumesFlexVolume { /// driver is the name of the driver to use for this volume. pub driver: String, /// fsType is the filesystem type to mount. @@ -12823,7 +12839,7 @@ pub struct ClusterShardingSpecsTemplateVolumesFlexVolume { /// contains more than one secret, all secrets are passed to the plugin /// scripts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] - pub secret_ref: Option, + pub secret_ref: Option, } /// secretRef is Optional: secretRef is reference to the secret object containing @@ -12832,7 +12848,7 @@ pub struct ClusterShardingSpecsTemplateVolumesFlexVolume { /// contains more than one secret, all secrets are passed to the plugin /// scripts. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesFlexVolumeSecretRef { +pub struct ClusterShardingsTemplateVolumesFlexVolumeSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -12842,7 +12858,7 @@ pub struct ClusterShardingSpecsTemplateVolumesFlexVolumeSecretRef { /// flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesFlocker { +pub struct ClusterShardingsTemplateVolumesFlocker { /// datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker /// should be considered as deprecated #[serde(default, skip_serializing_if = "Option::is_none", rename = "datasetName")] @@ -12856,7 +12872,7 @@ pub struct ClusterShardingSpecsTemplateVolumesFlocker { /// kubelet's host machine and then exposed to the pod. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesGcePersistentDisk { +pub struct ClusterShardingsTemplateVolumesGcePersistentDisk { /// fsType is filesystem type of the volume that you want to mount. /// Tip: Ensure that the filesystem type is supported by the host operating system. /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -12887,7 +12903,7 @@ pub struct ClusterShardingSpecsTemplateVolumesGcePersistentDisk { /// EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir /// into the Pod's container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesGitRepo { +pub struct ClusterShardingsTemplateVolumesGitRepo { /// directory is the target directory name. /// Must not contain or start with '..'. If '.' is supplied, the volume directory will be the /// git repository. Otherwise, if specified, the volume will contain the git repository in @@ -12904,7 +12920,7 @@ pub struct ClusterShardingSpecsTemplateVolumesGitRepo { /// glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. /// More info: https://examples.k8s.io/volumes/glusterfs/README.md #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesGlusterfs { +pub struct ClusterShardingsTemplateVolumesGlusterfs { /// endpoints is the endpoint name that details Glusterfs topology. /// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod pub endpoints: String, @@ -12927,7 +12943,7 @@ pub struct ClusterShardingSpecsTemplateVolumesGlusterfs { /// TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not /// mount host directories as read/write. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesHostPath { +pub struct ClusterShardingsTemplateVolumesHostPath { /// path of the directory on the host. /// If the path is a symlink, it will follow the link to the real path. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath @@ -12943,7 +12959,7 @@ pub struct ClusterShardingSpecsTemplateVolumesHostPath { /// kubelet's host machine and then exposed to the pod. /// More info: https://examples.k8s.io/volumes/iscsi/README.md #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesIscsi { +pub struct ClusterShardingsTemplateVolumesIscsi { /// chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication #[serde(default, skip_serializing_if = "Option::is_none", rename = "chapAuthDiscovery")] pub chap_auth_discovery: Option, @@ -12980,7 +12996,7 @@ pub struct ClusterShardingSpecsTemplateVolumesIscsi { pub read_only: Option, /// secretRef is the CHAP Secret for iSCSI target and initiator authentication #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] - pub secret_ref: Option, + pub secret_ref: Option, /// targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port /// is other than default (typically TCP ports 860 and 3260). #[serde(rename = "targetPortal")] @@ -12989,7 +13005,7 @@ pub struct ClusterShardingSpecsTemplateVolumesIscsi { /// secretRef is the CHAP Secret for iSCSI target and initiator authentication #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesIscsiSecretRef { +pub struct ClusterShardingsTemplateVolumesIscsiSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -13000,7 +13016,7 @@ pub struct ClusterShardingSpecsTemplateVolumesIscsiSecretRef { /// nfs represents an NFS mount on the host that shares a pod's lifetime /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesNfs { +pub struct ClusterShardingsTemplateVolumesNfs { /// path that is exported by the NFS server. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs pub path: String, @@ -13018,7 +13034,7 @@ pub struct ClusterShardingSpecsTemplateVolumesNfs { /// PersistentVolumeClaim in the same namespace. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesPersistentVolumeClaim { +pub struct ClusterShardingsTemplateVolumesPersistentVolumeClaim { /// claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[serde(rename = "claimName")] @@ -13031,7 +13047,7 @@ pub struct ClusterShardingSpecsTemplateVolumesPersistentVolumeClaim { /// photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesPhotonPersistentDisk { +pub struct ClusterShardingsTemplateVolumesPhotonPersistentDisk { /// fsType is the filesystem type to mount. /// Must be a filesystem type supported by the host operating system. /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -13044,7 +13060,7 @@ pub struct ClusterShardingSpecsTemplateVolumesPhotonPersistentDisk { /// portworxVolume represents a portworx volume attached and mounted on kubelets host machine #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesPortworxVolume { +pub struct ClusterShardingsTemplateVolumesPortworxVolume { /// fSType represents the filesystem type to mount /// Must be a filesystem type supported by the host operating system. /// Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. @@ -13061,7 +13077,7 @@ pub struct ClusterShardingSpecsTemplateVolumesPortworxVolume { /// projected items for all in one resources secrets, configmaps, and downward API #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesProjected { +pub struct ClusterShardingsTemplateVolumesProjected { /// defaultMode are the mode bits used to set permissions on created files by default. /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. @@ -13072,12 +13088,12 @@ pub struct ClusterShardingSpecsTemplateVolumesProjected { pub default_mode: Option, /// sources is the list of volume projections #[serde(default, skip_serializing_if = "Option::is_none")] - pub sources: Option>, + pub sources: Option>, } /// Projection that may be projected along with other supported volume types #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesProjectedSources { +pub struct ClusterShardingsTemplateVolumesProjectedSources { /// ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field /// of ClusterTrustBundle objects in an auto-updating file. /// @@ -13095,19 +13111,19 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSources { /// The ordering of certificates within the file is arbitrary, and Kubelet /// may change the order over time. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterTrustBundle")] - pub cluster_trust_bundle: Option, + pub cluster_trust_bundle: Option, /// configMap information about the configMap data to project #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")] - pub config_map: Option, + pub config_map: Option, /// downwardAPI information about the downwardAPI data to project #[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")] - pub downward_api: Option, + pub downward_api: Option, /// secret information about the secret data to project #[serde(default, skip_serializing_if = "Option::is_none")] - pub secret: Option, + pub secret: Option, /// serviceAccountToken is information about the serviceAccountToken data to project #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountToken")] - pub service_account_token: Option, + pub service_account_token: Option, } /// ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field @@ -13127,13 +13143,13 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSources { /// The ordering of certificates within the file is arbitrary, and Kubelet /// may change the order over time. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesClusterTrustBundle { +pub struct ClusterShardingsTemplateVolumesProjectedSourcesClusterTrustBundle { /// Select all ClusterTrustBundles that match this label selector. Only has /// effect if signerName is set. Mutually-exclusive with name. If unset, /// interpreted as "match nothing". If set but empty, interpreted as "match /// everything". #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] - pub label_selector: Option, + pub label_selector: Option, /// Select a single ClusterTrustBundle by object name. Mutually-exclusive /// with signerName and labelSelector. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -13159,10 +13175,10 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesClusterTrustBundle /// interpreted as "match nothing". If set but empty, interpreted as "match /// everything". #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesClusterTrustBundleLabelSelector { +pub struct ClusterShardingsTemplateVolumesProjectedSourcesClusterTrustBundleLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -13173,7 +13189,7 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesClusterTrustBundle /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions { +pub struct ClusterShardingsTemplateVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -13189,7 +13205,7 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesClusterTrustBundle /// configMap information about the configMap data to project #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesConfigMap { +pub struct ClusterShardingsTemplateVolumesProjectedSourcesConfigMap { /// items if unspecified, each key-value pair in the Data field of the referenced /// ConfigMap will be projected into the volume as a file whose name is the /// key and content is the value. If specified, the listed keys will be @@ -13198,7 +13214,7 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesConfigMap { /// the volume setup will error unless it is marked optional. Paths must be /// relative and may not contain the '..' path or start with '..'. #[serde(default, skip_serializing_if = "Option::is_none")] - pub items: Option>, + pub items: Option>, /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -13211,7 +13227,7 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesConfigMap { /// Maps a string key to a path within a volume. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesConfigMapItems { +pub struct ClusterShardingsTemplateVolumesProjectedSourcesConfigMapItems { /// key is the key to project. pub key: String, /// mode is Optional: mode bits used to set permissions on this file. @@ -13231,18 +13247,18 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesConfigMapItems { /// downwardAPI information about the downwardAPI data to project #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesDownwardApi { +pub struct ClusterShardingsTemplateVolumesProjectedSourcesDownwardApi { /// Items is a list of DownwardAPIVolume file #[serde(default, skip_serializing_if = "Option::is_none")] - pub items: Option>, + pub items: Option>, } /// DownwardAPIVolumeFile represents information to create the file containing the pod field #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesDownwardApiItems { +pub struct ClusterShardingsTemplateVolumesProjectedSourcesDownwardApiItems { /// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] - pub field_ref: Option, + pub field_ref: Option, /// Optional: mode bits used to set permissions on this file, must be an octal value /// between 0000 and 0777 or a decimal value between 0 and 511. /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. @@ -13256,12 +13272,12 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesDownwardApiItems { /// Selects a resource of the container: only resources limits and requests /// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] - pub resource_field_ref: Option, + pub resource_field_ref: Option, } /// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesDownwardApiItemsFieldRef { +pub struct ClusterShardingsTemplateVolumesProjectedSourcesDownwardApiItemsFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] pub api_version: Option, @@ -13273,7 +13289,7 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesDownwardApiItemsFi /// Selects a resource of the container: only resources limits and requests /// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesDownwardApiItemsResourceFieldRef { +pub struct ClusterShardingsTemplateVolumesProjectedSourcesDownwardApiItemsResourceFieldRef { /// Container name: required for volumes, optional for env vars #[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")] pub container_name: Option, @@ -13286,7 +13302,7 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesDownwardApiItemsRe /// secret information about the secret data to project #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesSecret { +pub struct ClusterShardingsTemplateVolumesProjectedSourcesSecret { /// items if unspecified, each key-value pair in the Data field of the referenced /// Secret will be projected into the volume as a file whose name is the /// key and content is the value. If specified, the listed keys will be @@ -13295,7 +13311,7 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesSecret { /// the volume setup will error unless it is marked optional. Paths must be /// relative and may not contain the '..' path or start with '..'. #[serde(default, skip_serializing_if = "Option::is_none")] - pub items: Option>, + pub items: Option>, /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -13308,7 +13324,7 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesSecret { /// Maps a string key to a path within a volume. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesSecretItems { +pub struct ClusterShardingsTemplateVolumesProjectedSourcesSecretItems { /// key is the key to project. pub key: String, /// mode is Optional: mode bits used to set permissions on this file. @@ -13328,7 +13344,7 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesSecretItems { /// serviceAccountToken is information about the serviceAccountToken data to project #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesServiceAccountToken { +pub struct ClusterShardingsTemplateVolumesProjectedSourcesServiceAccountToken { /// audience is the intended audience of the token. A recipient of a token /// must identify itself with an identifier specified in the audience of the /// token, and otherwise should reject the token. The audience defaults to the @@ -13350,7 +13366,7 @@ pub struct ClusterShardingSpecsTemplateVolumesProjectedSourcesServiceAccountToke /// quobyte represents a Quobyte mount on the host that shares a pod's lifetime #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesQuobyte { +pub struct ClusterShardingsTemplateVolumesQuobyte { /// group to map volume access to /// Default is no group #[serde(default, skip_serializing_if = "Option::is_none")] @@ -13378,7 +13394,7 @@ pub struct ClusterShardingSpecsTemplateVolumesQuobyte { /// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. /// More info: https://examples.k8s.io/volumes/rbd/README.md #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesRbd { +pub struct ClusterShardingsTemplateVolumesRbd { /// fsType is the filesystem type of the volume that you want to mount. /// Tip: Ensure that the filesystem type is supported by the host operating system. /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -13412,7 +13428,7 @@ pub struct ClusterShardingSpecsTemplateVolumesRbd { /// Default is nil. /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] - pub secret_ref: Option, + pub secret_ref: Option, /// user is the rados user name. /// Default is admin. /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it @@ -13425,7 +13441,7 @@ pub struct ClusterShardingSpecsTemplateVolumesRbd { /// Default is nil. /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesRbdSecretRef { +pub struct ClusterShardingsTemplateVolumesRbdSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -13435,7 +13451,7 @@ pub struct ClusterShardingSpecsTemplateVolumesRbdSecretRef { /// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesScaleIo { +pub struct ClusterShardingsTemplateVolumesScaleIo { /// fsType is the filesystem type to mount. /// Must be a filesystem type supported by the host operating system. /// Ex. "ext4", "xfs", "ntfs". @@ -13454,7 +13470,7 @@ pub struct ClusterShardingSpecsTemplateVolumesScaleIo { /// secretRef references to the secret for ScaleIO user and other /// sensitive information. If this is not provided, Login operation will fail. #[serde(rename = "secretRef")] - pub secret_ref: ClusterShardingSpecsTemplateVolumesScaleIoSecretRef, + pub secret_ref: ClusterShardingsTemplateVolumesScaleIoSecretRef, /// sslEnabled Flag enable/disable SSL communication with Gateway, default false #[serde(default, skip_serializing_if = "Option::is_none", rename = "sslEnabled")] pub ssl_enabled: Option, @@ -13476,7 +13492,7 @@ pub struct ClusterShardingSpecsTemplateVolumesScaleIo { /// secretRef references to the secret for ScaleIO user and other /// sensitive information. If this is not provided, Login operation will fail. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesScaleIoSecretRef { +pub struct ClusterShardingsTemplateVolumesScaleIoSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -13487,7 +13503,7 @@ pub struct ClusterShardingSpecsTemplateVolumesScaleIoSecretRef { /// secret represents a secret that should populate this volume. /// More info: https://kubernetes.io/docs/concepts/storage/volumes#secret #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesSecret { +pub struct ClusterShardingsTemplateVolumesSecret { /// defaultMode is Optional: mode bits used to set permissions on created files by default. /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. /// YAML accepts both octal and decimal values, JSON requires decimal values @@ -13505,7 +13521,7 @@ pub struct ClusterShardingSpecsTemplateVolumesSecret { /// the volume setup will error unless it is marked optional. Paths must be /// relative and may not contain the '..' path or start with '..'. #[serde(default, skip_serializing_if = "Option::is_none")] - pub items: Option>, + pub items: Option>, /// optional field specify whether the Secret or its keys must be defined #[serde(default, skip_serializing_if = "Option::is_none")] pub optional: Option, @@ -13517,7 +13533,7 @@ pub struct ClusterShardingSpecsTemplateVolumesSecret { /// Maps a string key to a path within a volume. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesSecretItems { +pub struct ClusterShardingsTemplateVolumesSecretItems { /// key is the key to project. pub key: String, /// mode is Optional: mode bits used to set permissions on this file. @@ -13537,7 +13553,7 @@ pub struct ClusterShardingSpecsTemplateVolumesSecretItems { /// storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesStorageos { +pub struct ClusterShardingsTemplateVolumesStorageos { /// fsType is the filesystem type to mount. /// Must be a filesystem type supported by the host operating system. /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -13550,7 +13566,7 @@ pub struct ClusterShardingSpecsTemplateVolumesStorageos { /// secretRef specifies the secret to use for obtaining the StorageOS API /// credentials. If not specified, default values will be attempted. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] - pub secret_ref: Option, + pub secret_ref: Option, /// volumeName is the human-readable name of the StorageOS volume. Volume /// names are only unique within a namespace. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")] @@ -13568,7 +13584,7 @@ pub struct ClusterShardingSpecsTemplateVolumesStorageos { /// secretRef specifies the secret to use for obtaining the StorageOS API /// credentials. If not specified, default values will be attempted. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesStorageosSecretRef { +pub struct ClusterShardingsTemplateVolumesStorageosSecretRef { /// Name of the referent. /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// TODO: Add other useful fields. apiVersion, kind, uid? @@ -13578,7 +13594,7 @@ pub struct ClusterShardingSpecsTemplateVolumesStorageosSecretRef { /// vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct ClusterShardingSpecsTemplateVolumesVsphereVolume { +pub struct ClusterShardingsTemplateVolumesVsphereVolume { /// fsType is filesystem type to mount. /// Must be a filesystem type supported by the host operating system. /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. @@ -13606,9 +13622,6 @@ pub enum ClusterTerminationPolicy { /// ClusterStatus defines the observed state of the Cluster. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterStatus { - /// Represents the generation number of the referenced ClusterDefinition. - #[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterDefGeneration")] - pub cluster_def_generation: Option, /// Records the current status information of all Components within the Cluster. #[serde(default, skip_serializing_if = "Option::is_none")] pub components: Option>, @@ -13631,6 +13644,9 @@ pub struct ClusterStatus { /// `Creating`, `Running`, `Updating`, `Stopping`, `Stopped`, `Deleting`, `Failed`, `Abnormal`. #[serde(default, skip_serializing_if = "Option::is_none")] pub phase: Option, + /// Records the current status information of all shardings within the Cluster. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub shardings: Option>, } /// Records the current status information of all Components within the Cluster. @@ -13671,3 +13687,28 @@ pub enum ClusterStatusPhase { Abnormal, } +/// Records the current status information of all shardings within the Cluster. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterStatusShardings { + /// Records detailed information about the Component in its current phase. + /// The keys are either podName, deployName, or statefulSetName, formatted as 'ObjectKind/Name'. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub message: Option>, + /// Specifies the current state of the Component. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub phase: Option, +} + +/// Records the current status information of all shardings within the Cluster. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum ClusterStatusShardingsPhase { + Creating, + Running, + Updating, + Stopping, + Stopped, + Deleting, + Failed, + Abnormal, +} + diff --git a/kube-custom-resources-rs/src/argoproj_io/v1alpha1/argocds.rs b/kube-custom-resources-rs/src/argoproj_io/v1alpha1/argocds.rs index 7a36bb7a5..65d49ed3d 100644 --- a/kube-custom-resources-rs/src/argoproj_io/v1alpha1/argocds.rs +++ b/kube-custom-resources-rs/src/argoproj_io/v1alpha1/argocds.rs @@ -5579,6 +5579,9 @@ pub struct ArgoCDServer { /// Autoscale defines the autoscale options for the Argo CD Server component. #[serde(default, skip_serializing_if = "Option::is_none")] pub autoscale: Option, + /// EnableRolloutsUI will add the Argo Rollouts UI extension in ArgoCD Dashboard. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableRolloutsUI")] + pub enable_rollouts_ui: Option, /// Env lets you specify environment for API server pods #[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, diff --git a/kube-custom-resources-rs/src/argoproj_io/v1beta1/argocds.rs b/kube-custom-resources-rs/src/argoproj_io/v1beta1/argocds.rs index 88c9e4df1..6d0944288 100644 --- a/kube-custom-resources-rs/src/argoproj_io/v1beta1/argocds.rs +++ b/kube-custom-resources-rs/src/argoproj_io/v1beta1/argocds.rs @@ -201,6 +201,12 @@ pub struct ArgoCDApplicationSet { /// Version is the Argo CD ApplicationSet image tag. (optional) #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, + /// VolumeMounts adds volumeMounts to the Argo CD ApplicationSet Controller container. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")] + pub volume_mounts: Option>, + /// Volumes adds volumes to the Argo CD ApplicationSet Controller container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub volumes: Option>, /// WebhookServerSpec defines the options for the ApplicationSet Webhook Server component. #[serde(default, skip_serializing_if = "Option::is_none", rename = "webhookServer")] pub webhook_server: Option, @@ -337,6 +343,1535 @@ pub struct ArgoCDApplicationSetResourcesClaims { pub name: String, } +/// VolumeMount describes a mounting of a Volume within a container. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumeMounts { + /// Path within the container at which the volume should be mounted. Must + /// not contain ':'. + #[serde(rename = "mountPath")] + pub mount_path: String, + /// mountPropagation determines how mounts are propagated from the host + /// to container and the other way around. + /// When not set, MountPropagationNone is used. + /// This field is beta in 1.10. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")] + pub mount_propagation: Option, + /// This must match the Name of a Volume. + pub name: String, + /// Mounted read-only if true, read-write otherwise (false or unspecified). + /// Defaults to false. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// Path within the volume from which the container's volume should be mounted. + /// Defaults to "" (volume's root). + #[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")] + pub sub_path: Option, + /// Expanded path within the volume from which the container's volume should be mounted. + /// Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + /// Defaults to "" (volume's root). + /// SubPathExpr and SubPath are mutually exclusive. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")] + pub sub_path_expr: Option, +} + +/// Volume represents a named volume in a pod that may be accessed by any container in the pod. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumes { + /// awsElasticBlockStore represents an AWS Disk resource that is attached to a + /// kubelet's host machine and then exposed to the pod. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + #[serde(default, skip_serializing_if = "Option::is_none", rename = "awsElasticBlockStore")] + pub aws_elastic_block_store: Option, + /// azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "azureDisk")] + pub azure_disk: Option, + /// azureFile represents an Azure File Service mount on the host and bind mount to the pod. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "azureFile")] + pub azure_file: Option, + /// cephFS represents a Ceph FS mount on the host that shares a pod's lifetime + #[serde(default, skip_serializing_if = "Option::is_none")] + pub cephfs: Option, + /// cinder represents a cinder volume attached and mounted on kubelets host machine. + /// More info: https://examples.k8s.io/mysql-cinder-pd/README.md + #[serde(default, skip_serializing_if = "Option::is_none")] + pub cinder: Option, + /// configMap represents a configMap that should populate this volume + #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")] + pub config_map: Option, + /// csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). + #[serde(default, skip_serializing_if = "Option::is_none")] + pub csi: Option, + /// downwardAPI represents downward API about the pod that should populate this volume + #[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")] + pub downward_api: Option, + /// emptyDir represents a temporary directory that shares a pod's lifetime. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + #[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")] + pub empty_dir: Option, + /// ephemeral represents a volume that is handled by a cluster storage driver. + /// The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, + /// and deleted when the pod is removed. + /// + /// + /// Use this if: + /// a) the volume is only needed while the pod runs, + /// b) features of normal volumes like restoring from snapshot or capacity + /// tracking are needed, + /// c) the storage driver is specified through a storage class, and + /// d) the storage driver supports dynamic volume provisioning through + /// a PersistentVolumeClaim (see EphemeralVolumeSource for more + /// information on the connection between this volume type + /// and PersistentVolumeClaim). + /// + /// + /// Use PersistentVolumeClaim or one of the vendor-specific + /// APIs for volumes that persist for longer than the lifecycle + /// of an individual pod. + /// + /// + /// Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to + /// be used that way - see the documentation of the driver for + /// more information. + /// + /// + /// A pod can use both types of ephemeral volumes and + /// persistent volumes at the same time. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub ephemeral: Option, + /// fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub fc: Option, + /// flexVolume represents a generic volume resource that is + /// provisioned/attached using an exec based plugin. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "flexVolume")] + pub flex_volume: Option, + /// flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running + #[serde(default, skip_serializing_if = "Option::is_none")] + pub flocker: Option, + /// gcePersistentDisk represents a GCE Disk resource that is attached to a + /// kubelet's host machine and then exposed to the pod. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + #[serde(default, skip_serializing_if = "Option::is_none", rename = "gcePersistentDisk")] + pub gce_persistent_disk: Option, + /// gitRepo represents a git repository at a particular revision. + /// DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an + /// EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir + /// into the Pod's container. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "gitRepo")] + pub git_repo: Option, + /// glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. + /// More info: https://examples.k8s.io/volumes/glusterfs/README.md + #[serde(default, skip_serializing_if = "Option::is_none")] + pub glusterfs: Option, + /// hostPath represents a pre-existing file or directory on the host + /// machine that is directly exposed to the container. This is generally + /// used for system agents or other privileged things that are allowed + /// to see the host machine. Most containers will NOT need this. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + /// --- + /// TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not + /// mount host directories as read/write. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPath")] + pub host_path: Option, + /// iscsi represents an ISCSI Disk resource that is attached to a + /// kubelet's host machine and then exposed to the pod. + /// More info: https://examples.k8s.io/volumes/iscsi/README.md + #[serde(default, skip_serializing_if = "Option::is_none")] + pub iscsi: Option, + /// name of the volume. + /// Must be a DNS_LABEL and unique within the pod. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + pub name: String, + /// nfs represents an NFS mount on the host that shares a pod's lifetime + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + #[serde(default, skip_serializing_if = "Option::is_none")] + pub nfs: Option, + /// persistentVolumeClaimVolumeSource represents a reference to a + /// PersistentVolumeClaim in the same namespace. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + #[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentVolumeClaim")] + pub persistent_volume_claim: Option, + /// photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine + #[serde(default, skip_serializing_if = "Option::is_none", rename = "photonPersistentDisk")] + pub photon_persistent_disk: Option, + /// portworxVolume represents a portworx volume attached and mounted on kubelets host machine + #[serde(default, skip_serializing_if = "Option::is_none", rename = "portworxVolume")] + pub portworx_volume: Option, + /// projected items for all in one resources secrets, configmaps, and downward API + #[serde(default, skip_serializing_if = "Option::is_none")] + pub projected: Option, + /// quobyte represents a Quobyte mount on the host that shares a pod's lifetime + #[serde(default, skip_serializing_if = "Option::is_none")] + pub quobyte: Option, + /// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. + /// More info: https://examples.k8s.io/volumes/rbd/README.md + #[serde(default, skip_serializing_if = "Option::is_none")] + pub rbd: Option, + /// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "scaleIO")] + pub scale_io: Option, + /// secret represents a secret that should populate this volume. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + #[serde(default, skip_serializing_if = "Option::is_none")] + pub secret: Option, + /// storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub storageos: Option, + /// vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine + #[serde(default, skip_serializing_if = "Option::is_none", rename = "vsphereVolume")] + pub vsphere_volume: Option, +} + +/// awsElasticBlockStore represents an AWS Disk resource that is attached to a +/// kubelet's host machine and then exposed to the pod. +/// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesAwsElasticBlockStore { + /// fsType is the filesystem type of the volume that you want to mount. + /// Tip: Ensure that the filesystem type is supported by the host operating system. + /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + /// TODO: how do we prevent errors in the filesystem from compromising the machine + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] + pub fs_type: Option, + /// partition is the partition in the volume that you want to mount. + /// If omitted, the default is to mount by volume name. + /// Examples: For volume /dev/sda1, you specify the partition as "1". + /// Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). + #[serde(default, skip_serializing_if = "Option::is_none")] + pub partition: Option, + /// readOnly value true will force the readOnly setting in VolumeMounts. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + #[serde(rename = "volumeID")] + pub volume_id: String, +} + +/// azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesAzureDisk { + /// cachingMode is the Host Caching mode: None, Read Only, Read Write. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "cachingMode")] + pub caching_mode: Option, + /// diskName is the Name of the data disk in the blob storage + #[serde(rename = "diskName")] + pub disk_name: String, + /// diskURI is the URI of data disk in the blob storage + #[serde(rename = "diskURI")] + pub disk_uri: String, + /// fsType is Filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] + pub fs_type: Option, + /// kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared + #[serde(default, skip_serializing_if = "Option::is_none")] + pub kind: Option, + /// readOnly Defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, +} + +/// azureFile represents an Azure File Service mount on the host and bind mount to the pod. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesAzureFile { + /// readOnly defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// secretName is the name of secret that contains Azure Storage Account Name and Key + #[serde(rename = "secretName")] + pub secret_name: String, + /// shareName is the azure share Name + #[serde(rename = "shareName")] + pub share_name: String, +} + +/// cephFS represents a Ceph FS mount on the host that shares a pod's lifetime +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesCephfs { + /// monitors is Required: Monitors is a collection of Ceph monitors + /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + pub monitors: Vec, + /// path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / + #[serde(default, skip_serializing_if = "Option::is_none")] + pub path: Option, + /// readOnly is Optional: Defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. + /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret + /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretFile")] + pub secret_file: Option, + /// secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. + /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] + pub secret_ref: Option, + /// user is optional: User is the rados user name, default is admin + /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + #[serde(default, skip_serializing_if = "Option::is_none")] + pub user: Option, +} + +/// secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. +/// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesCephfsSecretRef { + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +/// cinder represents a cinder volume attached and mounted on kubelets host machine. +/// More info: https://examples.k8s.io/mysql-cinder-pd/README.md +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesCinder { + /// fsType is the filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// More info: https://examples.k8s.io/mysql-cinder-pd/README.md + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] + pub fs_type: Option, + /// readOnly defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. + /// More info: https://examples.k8s.io/mysql-cinder-pd/README.md + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// secretRef is optional: points to a secret object containing parameters used to connect + /// to OpenStack. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] + pub secret_ref: Option, + /// volumeID used to identify the volume in cinder. + /// More info: https://examples.k8s.io/mysql-cinder-pd/README.md + #[serde(rename = "volumeID")] + pub volume_id: String, +} + +/// secretRef is optional: points to a secret object containing parameters used to connect +/// to OpenStack. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesCinderSecretRef { + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +/// configMap represents a configMap that should populate this volume +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesConfigMap { + /// defaultMode is optional: mode bits used to set permissions on created files by default. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// Defaults to 0644. + /// Directories within the path are not affected by this setting. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] + pub default_mode: Option, + /// items if unspecified, each key-value pair in the Data field of the referenced + /// ConfigMap will be projected into the volume as a file whose name is the + /// key and content is the value. If specified, the listed keys will be + /// projected into the specified paths, and unlisted keys will not be + /// present. If a key is specified which is not present in the ConfigMap, + /// the volume setup will error unless it is marked optional. Paths must be + /// relative and may not contain the '..' path or start with '..'. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub items: Option>, + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// optional specify whether the ConfigMap or its keys must be defined + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +/// Maps a string key to a path within a volume. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesConfigMapItems { + /// key is the key to project. + pub key: String, + /// mode is Optional: mode bits used to set permissions on this file. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// If not specified, the volume defaultMode will be used. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// path is the relative path of the file to map the key to. + /// May not be an absolute path. + /// May not contain the path element '..'. + /// May not start with the string '..'. + pub path: String, +} + +/// csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesCsi { + /// driver is the name of the CSI driver that handles this volume. + /// Consult with your admin for the correct name as registered in the cluster. + pub driver: String, + /// fsType to mount. Ex. "ext4", "xfs", "ntfs". + /// If not provided, the empty value is passed to the associated CSI driver + /// which will determine the default filesystem to apply. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] + pub fs_type: Option, + /// nodePublishSecretRef is a reference to the secret object containing + /// sensitive information to pass to the CSI driver to complete the CSI + /// NodePublishVolume and NodeUnpublishVolume calls. + /// This field is optional, and may be empty if no secret is required. If the + /// secret object contains more than one secret, all secret references are passed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePublishSecretRef")] + pub node_publish_secret_ref: Option, + /// readOnly specifies a read-only configuration for the volume. + /// Defaults to false (read/write). + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// volumeAttributes stores driver-specific properties that are passed to the CSI + /// driver. Consult your driver's documentation for supported values. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributes")] + pub volume_attributes: Option>, +} + +/// nodePublishSecretRef is a reference to the secret object containing +/// sensitive information to pass to the CSI driver to complete the CSI +/// NodePublishVolume and NodeUnpublishVolume calls. +/// This field is optional, and may be empty if no secret is required. If the +/// secret object contains more than one secret, all secret references are passed. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesCsiNodePublishSecretRef { + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +/// downwardAPI represents downward API about the pod that should populate this volume +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesDownwardApi { + /// Optional: mode bits to use on created files by default. Must be a + /// Optional: mode bits used to set permissions on created files by default. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// Defaults to 0644. + /// Directories within the path are not affected by this setting. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] + pub default_mode: Option, + /// Items is a list of downward API volume file + #[serde(default, skip_serializing_if = "Option::is_none")] + pub items: Option>, +} + +/// DownwardAPIVolumeFile represents information to create the file containing the pod field +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesDownwardApiItems { + /// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] + pub field_ref: Option, + /// Optional: mode bits used to set permissions on this file, must be an octal value + /// between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// If not specified, the volume defaultMode will be used. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + pub path: String, + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] + pub resource_field_ref: Option, +} + +/// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesDownwardApiItemsFieldRef { + /// Version of the schema the FieldPath is written in terms of, defaults to "v1". + #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] + pub api_version: Option, + /// Path of the field to select in the specified API version. + #[serde(rename = "fieldPath")] + pub field_path: String, +} + +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesDownwardApiItemsResourceFieldRef { + /// Container name: required for volumes, optional for env vars + #[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")] + pub container_name: Option, + /// Specifies the output format of the exposed resources, defaults to "1" + #[serde(default, skip_serializing_if = "Option::is_none")] + pub divisor: Option, + /// Required: resource to select + pub resource: String, +} + +/// emptyDir represents a temporary directory that shares a pod's lifetime. +/// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesEmptyDir { + /// medium represents what type of storage medium should back this directory. + /// The default is "" which means to use the node's default medium. + /// Must be an empty string (default) or Memory. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + #[serde(default, skip_serializing_if = "Option::is_none")] + pub medium: Option, + /// sizeLimit is the total amount of local storage required for this EmptyDir volume. + /// The size limit is also applicable for memory medium. + /// The maximum usage on memory medium EmptyDir would be the minimum value between + /// the SizeLimit specified here and the sum of memory limits of all containers in a pod. + /// The default is nil which means that the limit is undefined. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + #[serde(default, skip_serializing_if = "Option::is_none", rename = "sizeLimit")] + pub size_limit: Option, +} + +/// ephemeral represents a volume that is handled by a cluster storage driver. +/// The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, +/// and deleted when the pod is removed. +/// +/// +/// Use this if: +/// a) the volume is only needed while the pod runs, +/// b) features of normal volumes like restoring from snapshot or capacity +/// tracking are needed, +/// c) the storage driver is specified through a storage class, and +/// d) the storage driver supports dynamic volume provisioning through +/// a PersistentVolumeClaim (see EphemeralVolumeSource for more +/// information on the connection between this volume type +/// and PersistentVolumeClaim). +/// +/// +/// Use PersistentVolumeClaim or one of the vendor-specific +/// APIs for volumes that persist for longer than the lifecycle +/// of an individual pod. +/// +/// +/// Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to +/// be used that way - see the documentation of the driver for +/// more information. +/// +/// +/// A pod can use both types of ephemeral volumes and +/// persistent volumes at the same time. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesEphemeral { + /// Will be used to create a stand-alone PVC to provision the volume. + /// The pod in which this EphemeralVolumeSource is embedded will be the + /// owner of the PVC, i.e. the PVC will be deleted together with the + /// pod. The name of the PVC will be `-` where + /// `` is the name from the `PodSpec.Volumes` array + /// entry. Pod validation will reject the pod if the concatenated name + /// is not valid for a PVC (for example, too long). + /// + /// + /// An existing PVC with that name that is not owned by the pod + /// will *not* be used for the pod to avoid using an unrelated + /// volume by mistake. Starting the pod is then blocked until + /// the unrelated PVC is removed. If such a pre-created PVC is + /// meant to be used by the pod, the PVC has to updated with an + /// owner reference to the pod once the pod exists. Normally + /// this should not be necessary, but it may be useful when + /// manually reconstructing a broken cluster. + /// + /// + /// This field is read-only and no changes will be made by Kubernetes + /// to the PVC after it has been created. + /// + /// + /// Required, must not be nil. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeClaimTemplate")] + pub volume_claim_template: Option, +} + +/// Will be used to create a stand-alone PVC to provision the volume. +/// The pod in which this EphemeralVolumeSource is embedded will be the +/// owner of the PVC, i.e. the PVC will be deleted together with the +/// pod. The name of the PVC will be `-` where +/// `` is the name from the `PodSpec.Volumes` array +/// entry. Pod validation will reject the pod if the concatenated name +/// is not valid for a PVC (for example, too long). +/// +/// +/// An existing PVC with that name that is not owned by the pod +/// will *not* be used for the pod to avoid using an unrelated +/// volume by mistake. Starting the pod is then blocked until +/// the unrelated PVC is removed. If such a pre-created PVC is +/// meant to be used by the pod, the PVC has to updated with an +/// owner reference to the pod once the pod exists. Normally +/// this should not be necessary, but it may be useful when +/// manually reconstructing a broken cluster. +/// +/// +/// This field is read-only and no changes will be made by Kubernetes +/// to the PVC after it has been created. +/// +/// +/// Required, must not be nil. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesEphemeralVolumeClaimTemplate { + /// May contain labels and annotations that will be copied into the PVC + /// when creating it. No other fields are allowed and will be rejected during + /// validation. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub metadata: Option, + /// The specification for the PersistentVolumeClaim. The entire content is + /// copied unchanged into the PVC that gets created from this + /// template. The same fields as in a PersistentVolumeClaim + /// are also valid here. + pub spec: ArgoCDApplicationSetVolumesEphemeralVolumeClaimTemplateSpec, +} + +/// May contain labels and annotations that will be copied into the PVC +/// when creating it. No other fields are allowed and will be rejected during +/// validation. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesEphemeralVolumeClaimTemplateMetadata { +} + +/// The specification for the PersistentVolumeClaim. The entire content is +/// copied unchanged into the PVC that gets created from this +/// template. The same fields as in a PersistentVolumeClaim +/// are also valid here. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesEphemeralVolumeClaimTemplateSpec { + /// accessModes contains the desired access modes the volume should have. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")] + pub access_modes: Option>, + /// dataSource field can be used to specify either: + /// * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + /// * An existing PVC (PersistentVolumeClaim) + /// If the provisioner or an external controller can support the specified data source, + /// it will create a new volume based on the contents of the specified data source. + /// When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, + /// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. + /// If the namespace is specified, then dataSourceRef will not be copied to dataSource. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")] + pub data_source: Option, + /// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty + /// volume is desired. This may be any object from a non-empty API group (non + /// core object) or a PersistentVolumeClaim object. + /// When this field is specified, volume binding will only succeed if the type of + /// the specified object matches some installed volume populator or dynamic + /// provisioner. + /// This field will replace the functionality of the dataSource field and as such + /// if both fields are non-empty, they must have the same value. For backwards + /// compatibility, when namespace isn't specified in dataSourceRef, + /// both fields (dataSource and dataSourceRef) will be set to the same + /// value automatically if one of them is empty and the other is non-empty. + /// When namespace is specified in dataSourceRef, + /// dataSource isn't set to the same value and must be empty. + /// There are three important differences between dataSource and dataSourceRef: + /// * While dataSource only allows two specific types of objects, dataSourceRef + /// allows any non-core object, as well as PersistentVolumeClaim objects. + /// * While dataSource ignores disallowed values (dropping them), dataSourceRef + /// preserves all values, and generates an error if a disallowed value is + /// specified. + /// * While dataSource only allows local objects, dataSourceRef allows objects + /// in any namespaces. + /// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. + /// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")] + pub data_source_ref: Option, + /// resources represents the minimum resources the volume should have. + /// If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements + /// that are lower than previous value but must still be higher than capacity recorded in the + /// status field of the claim. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + #[serde(default, skip_serializing_if = "Option::is_none")] + pub resources: Option, + /// selector is a label query over volumes to consider for binding. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub selector: Option, + /// storageClassName is the name of the StorageClass required by the claim. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")] + pub storage_class_name: Option, + /// volumeMode defines what type of volume is required by the claim. + /// Value of Filesystem is implied when not included in claim spec. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMode")] + pub volume_mode: Option, + /// volumeName is the binding reference to the PersistentVolume backing this claim. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")] + pub volume_name: Option, +} + +/// dataSource field can be used to specify either: +/// * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) +/// * An existing PVC (PersistentVolumeClaim) +/// If the provisioner or an external controller can support the specified data source, +/// it will create a new volume based on the contents of the specified data source. +/// When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, +/// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. +/// If the namespace is specified, then dataSourceRef will not be copied to dataSource. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesEphemeralVolumeClaimTemplateSpecDataSource { + /// APIGroup is the group for the resource being referenced. + /// If APIGroup is not specified, the specified Kind must be in the core API group. + /// For any other third-party types, APIGroup is required. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")] + pub api_group: Option, + /// Kind is the type of resource being referenced + pub kind: String, + /// Name is the name of resource being referenced + pub name: String, +} + +/// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty +/// volume is desired. This may be any object from a non-empty API group (non +/// core object) or a PersistentVolumeClaim object. +/// When this field is specified, volume binding will only succeed if the type of +/// the specified object matches some installed volume populator or dynamic +/// provisioner. +/// This field will replace the functionality of the dataSource field and as such +/// if both fields are non-empty, they must have the same value. For backwards +/// compatibility, when namespace isn't specified in dataSourceRef, +/// both fields (dataSource and dataSourceRef) will be set to the same +/// value automatically if one of them is empty and the other is non-empty. +/// When namespace is specified in dataSourceRef, +/// dataSource isn't set to the same value and must be empty. +/// There are three important differences between dataSource and dataSourceRef: +/// * While dataSource only allows two specific types of objects, dataSourceRef +/// allows any non-core object, as well as PersistentVolumeClaim objects. +/// * While dataSource ignores disallowed values (dropping them), dataSourceRef +/// preserves all values, and generates an error if a disallowed value is +/// specified. +/// * While dataSource only allows local objects, dataSourceRef allows objects +/// in any namespaces. +/// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. +/// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef { + /// APIGroup is the group for the resource being referenced. + /// If APIGroup is not specified, the specified Kind must be in the core API group. + /// For any other third-party types, APIGroup is required. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")] + pub api_group: Option, + /// Kind is the type of resource being referenced + pub kind: String, + /// Name is the name of resource being referenced + pub name: String, + /// Namespace is the namespace of resource being referenced + /// Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. + /// (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub namespace: Option, +} + +/// resources represents the minimum resources the volume should have. +/// If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements +/// that are lower than previous value but must still be higher than capacity recorded in the +/// status field of the claim. +/// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesEphemeralVolumeClaimTemplateSpecResources { + /// Claims lists the names of resources, defined in spec.resourceClaims, + /// that are used by this container. + /// + /// + /// This is an alpha field and requires enabling the + /// DynamicResourceAllocation feature gate. + /// + /// + /// This field is immutable. It can only be set for containers. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub claims: Option>, + /// Limits describes the maximum amount of compute resources allowed. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + #[serde(default, skip_serializing_if = "Option::is_none")] + pub limits: Option>, + /// Requests describes the minimum amount of compute resources required. + /// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + /// otherwise to an implementation-defined value. Requests cannot exceed Limits. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + #[serde(default, skip_serializing_if = "Option::is_none")] + pub requests: Option>, +} + +/// ResourceClaim references one entry in PodSpec.ResourceClaims. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesEphemeralVolumeClaimTemplateSpecResourcesClaims { + /// Name must match the name of one entry in pod.spec.resourceClaims of + /// the Pod where this field is used. It makes that resource available + /// inside a container. + pub name: String, +} + +/// selector is a label query over volumes to consider for binding. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesEphemeralVolumeClaimTemplateSpecSelector { + /// matchExpressions is a list of label selector requirements. The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] + pub match_labels: Option>, +} + +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions { + /// key is the label key that the selector applies to. + pub key: String, + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. + pub operator: String, + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesFc { + /// fsType is the filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// TODO: how do we prevent errors in the filesystem from compromising the machine + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] + pub fs_type: Option, + /// lun is Optional: FC target lun number + #[serde(default, skip_serializing_if = "Option::is_none")] + pub lun: Option, + /// readOnly is Optional: Defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// targetWWNs is Optional: FC target worldwide names (WWNs) + #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetWWNs")] + pub target_ww_ns: Option>, + /// wwids Optional: FC volume world wide identifiers (wwids) + /// Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub wwids: Option>, +} + +/// flexVolume represents a generic volume resource that is +/// provisioned/attached using an exec based plugin. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesFlexVolume { + /// driver is the name of the driver to use for this volume. + pub driver: String, + /// fsType is the filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] + pub fs_type: Option, + /// options is Optional: this field holds extra command options if any. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub options: Option>, + /// readOnly is Optional: defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// secretRef is Optional: secretRef is reference to the secret object containing + /// sensitive information to pass to the plugin scripts. This may be + /// empty if no secret object is specified. If the secret object + /// contains more than one secret, all secrets are passed to the plugin + /// scripts. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] + pub secret_ref: Option, +} + +/// secretRef is Optional: secretRef is reference to the secret object containing +/// sensitive information to pass to the plugin scripts. This may be +/// empty if no secret object is specified. If the secret object +/// contains more than one secret, all secrets are passed to the plugin +/// scripts. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesFlexVolumeSecretRef { + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +/// flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesFlocker { + /// datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker + /// should be considered as deprecated + #[serde(default, skip_serializing_if = "Option::is_none", rename = "datasetName")] + pub dataset_name: Option, + /// datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset + #[serde(default, skip_serializing_if = "Option::is_none", rename = "datasetUUID")] + pub dataset_uuid: Option, +} + +/// gcePersistentDisk represents a GCE Disk resource that is attached to a +/// kubelet's host machine and then exposed to the pod. +/// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesGcePersistentDisk { + /// fsType is filesystem type of the volume that you want to mount. + /// Tip: Ensure that the filesystem type is supported by the host operating system. + /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + /// TODO: how do we prevent errors in the filesystem from compromising the machine + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] + pub fs_type: Option, + /// partition is the partition in the volume that you want to mount. + /// If omitted, the default is to mount by volume name. + /// Examples: For volume /dev/sda1, you specify the partition as "1". + /// Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + #[serde(default, skip_serializing_if = "Option::is_none")] + pub partition: Option, + /// pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + #[serde(rename = "pdName")] + pub pd_name: String, + /// readOnly here will force the ReadOnly setting in VolumeMounts. + /// Defaults to false. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, +} + +/// gitRepo represents a git repository at a particular revision. +/// DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an +/// EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir +/// into the Pod's container. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesGitRepo { + /// directory is the target directory name. + /// Must not contain or start with '..'. If '.' is supplied, the volume directory will be the + /// git repository. Otherwise, if specified, the volume will contain the git repository in + /// the subdirectory with the given name. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub directory: Option, + /// repository is the URL + pub repository: String, + /// revision is the commit hash for the specified revision. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub revision: Option, +} + +/// glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. +/// More info: https://examples.k8s.io/volumes/glusterfs/README.md +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesGlusterfs { + /// endpoints is the endpoint name that details Glusterfs topology. + /// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + pub endpoints: String, + /// path is the Glusterfs volume path. + /// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + pub path: String, + /// readOnly here will force the Glusterfs volume to be mounted with read-only permissions. + /// Defaults to false. + /// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, +} + +/// hostPath represents a pre-existing file or directory on the host +/// machine that is directly exposed to the container. This is generally +/// used for system agents or other privileged things that are allowed +/// to see the host machine. Most containers will NOT need this. +/// More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath +/// --- +/// TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not +/// mount host directories as read/write. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesHostPath { + /// path of the directory on the host. + /// If the path is a symlink, it will follow the link to the real path. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + pub path: String, + /// type for HostPath Volume + /// Defaults to "" + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, +} + +/// iscsi represents an ISCSI Disk resource that is attached to a +/// kubelet's host machine and then exposed to the pod. +/// More info: https://examples.k8s.io/volumes/iscsi/README.md +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesIscsi { + /// chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication + #[serde(default, skip_serializing_if = "Option::is_none", rename = "chapAuthDiscovery")] + pub chap_auth_discovery: Option, + /// chapAuthSession defines whether support iSCSI Session CHAP authentication + #[serde(default, skip_serializing_if = "Option::is_none", rename = "chapAuthSession")] + pub chap_auth_session: Option, + /// fsType is the filesystem type of the volume that you want to mount. + /// Tip: Ensure that the filesystem type is supported by the host operating system. + /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi + /// TODO: how do we prevent errors in the filesystem from compromising the machine + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] + pub fs_type: Option, + /// initiatorName is the custom iSCSI Initiator Name. + /// If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface + /// : will be created for the connection. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "initiatorName")] + pub initiator_name: Option, + /// iqn is the target iSCSI Qualified Name. + pub iqn: String, + /// iscsiInterface is the interface Name that uses an iSCSI transport. + /// Defaults to 'default' (tcp). + #[serde(default, skip_serializing_if = "Option::is_none", rename = "iscsiInterface")] + pub iscsi_interface: Option, + /// lun represents iSCSI Target Lun number. + pub lun: i32, + /// portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port + /// is other than default (typically TCP ports 860 and 3260). + #[serde(default, skip_serializing_if = "Option::is_none")] + pub portals: Option>, + /// readOnly here will force the ReadOnly setting in VolumeMounts. + /// Defaults to false. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// secretRef is the CHAP Secret for iSCSI target and initiator authentication + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] + pub secret_ref: Option, + /// targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port + /// is other than default (typically TCP ports 860 and 3260). + #[serde(rename = "targetPortal")] + pub target_portal: String, +} + +/// secretRef is the CHAP Secret for iSCSI target and initiator authentication +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesIscsiSecretRef { + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +/// nfs represents an NFS mount on the host that shares a pod's lifetime +/// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesNfs { + /// path that is exported by the NFS server. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + pub path: String, + /// readOnly here will force the NFS export to be mounted with read-only permissions. + /// Defaults to false. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// server is the hostname or IP address of the NFS server. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + pub server: String, +} + +/// persistentVolumeClaimVolumeSource represents a reference to a +/// PersistentVolumeClaim in the same namespace. +/// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesPersistentVolumeClaim { + /// claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + #[serde(rename = "claimName")] + pub claim_name: String, + /// readOnly Will force the ReadOnly setting in VolumeMounts. + /// Default false. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, +} + +/// photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesPhotonPersistentDisk { + /// fsType is the filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] + pub fs_type: Option, + /// pdID is the ID that identifies Photon Controller persistent disk + #[serde(rename = "pdID")] + pub pd_id: String, +} + +/// portworxVolume represents a portworx volume attached and mounted on kubelets host machine +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesPortworxVolume { + /// fSType represents the filesystem type to mount + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] + pub fs_type: Option, + /// readOnly defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// volumeID uniquely identifies a Portworx volume + #[serde(rename = "volumeID")] + pub volume_id: String, +} + +/// projected items for all in one resources secrets, configmaps, and downward API +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesProjected { + /// defaultMode are the mode bits used to set permissions on created files by default. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// Directories within the path are not affected by this setting. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] + pub default_mode: Option, + /// sources is the list of volume projections + #[serde(default, skip_serializing_if = "Option::is_none")] + pub sources: Option>, +} + +/// Projection that may be projected along with other supported volume types +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesProjectedSources { + /// configMap information about the configMap data to project + #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")] + pub config_map: Option, + /// downwardAPI information about the downwardAPI data to project + #[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")] + pub downward_api: Option, + /// secret information about the secret data to project + #[serde(default, skip_serializing_if = "Option::is_none")] + pub secret: Option, + /// serviceAccountToken is information about the serviceAccountToken data to project + #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountToken")] + pub service_account_token: Option, +} + +/// configMap information about the configMap data to project +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesProjectedSourcesConfigMap { + /// items if unspecified, each key-value pair in the Data field of the referenced + /// ConfigMap will be projected into the volume as a file whose name is the + /// key and content is the value. If specified, the listed keys will be + /// projected into the specified paths, and unlisted keys will not be + /// present. If a key is specified which is not present in the ConfigMap, + /// the volume setup will error unless it is marked optional. Paths must be + /// relative and may not contain the '..' path or start with '..'. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub items: Option>, + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// optional specify whether the ConfigMap or its keys must be defined + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +/// Maps a string key to a path within a volume. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesProjectedSourcesConfigMapItems { + /// key is the key to project. + pub key: String, + /// mode is Optional: mode bits used to set permissions on this file. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// If not specified, the volume defaultMode will be used. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// path is the relative path of the file to map the key to. + /// May not be an absolute path. + /// May not contain the path element '..'. + /// May not start with the string '..'. + pub path: String, +} + +/// downwardAPI information about the downwardAPI data to project +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesProjectedSourcesDownwardApi { + /// Items is a list of DownwardAPIVolume file + #[serde(default, skip_serializing_if = "Option::is_none")] + pub items: Option>, +} + +/// DownwardAPIVolumeFile represents information to create the file containing the pod field +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesProjectedSourcesDownwardApiItems { + /// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] + pub field_ref: Option, + /// Optional: mode bits used to set permissions on this file, must be an octal value + /// between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// If not specified, the volume defaultMode will be used. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' + pub path: String, + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] + pub resource_field_ref: Option, +} + +/// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesProjectedSourcesDownwardApiItemsFieldRef { + /// Version of the schema the FieldPath is written in terms of, defaults to "v1". + #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] + pub api_version: Option, + /// Path of the field to select in the specified API version. + #[serde(rename = "fieldPath")] + pub field_path: String, +} + +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesProjectedSourcesDownwardApiItemsResourceFieldRef { + /// Container name: required for volumes, optional for env vars + #[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")] + pub container_name: Option, + /// Specifies the output format of the exposed resources, defaults to "1" + #[serde(default, skip_serializing_if = "Option::is_none")] + pub divisor: Option, + /// Required: resource to select + pub resource: String, +} + +/// secret information about the secret data to project +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesProjectedSourcesSecret { + /// items if unspecified, each key-value pair in the Data field of the referenced + /// Secret will be projected into the volume as a file whose name is the + /// key and content is the value. If specified, the listed keys will be + /// projected into the specified paths, and unlisted keys will not be + /// present. If a key is specified which is not present in the Secret, + /// the volume setup will error unless it is marked optional. Paths must be + /// relative and may not contain the '..' path or start with '..'. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub items: Option>, + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// optional field specify whether the Secret or its key must be defined + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, +} + +/// Maps a string key to a path within a volume. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesProjectedSourcesSecretItems { + /// key is the key to project. + pub key: String, + /// mode is Optional: mode bits used to set permissions on this file. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// If not specified, the volume defaultMode will be used. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// path is the relative path of the file to map the key to. + /// May not be an absolute path. + /// May not contain the path element '..'. + /// May not start with the string '..'. + pub path: String, +} + +/// serviceAccountToken is information about the serviceAccountToken data to project +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesProjectedSourcesServiceAccountToken { + /// audience is the intended audience of the token. A recipient of a token + /// must identify itself with an identifier specified in the audience of the + /// token, and otherwise should reject the token. The audience defaults to the + /// identifier of the apiserver. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub audience: Option, + /// expirationSeconds is the requested duration of validity of the service + /// account token. As the token approaches expiration, the kubelet volume + /// plugin will proactively rotate the service account token. The kubelet will + /// start trying to rotate the token if the token is older than 80 percent of + /// its time to live or if the token is older than 24 hours.Defaults to 1 hour + /// and must be at least 10 minutes. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "expirationSeconds")] + pub expiration_seconds: Option, + /// path is the path relative to the mount point of the file to project the + /// token into. + pub path: String, +} + +/// quobyte represents a Quobyte mount on the host that shares a pod's lifetime +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesQuobyte { + /// group to map volume access to + /// Default is no group + #[serde(default, skip_serializing_if = "Option::is_none")] + pub group: Option, + /// readOnly here will force the Quobyte volume to be mounted with read-only permissions. + /// Defaults to false. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// registry represents a single or multiple Quobyte Registry services + /// specified as a string as host:port pair (multiple entries are separated with commas) + /// which acts as the central registry for volumes + pub registry: String, + /// tenant owning the given Quobyte volume in the Backend + /// Used with dynamically provisioned Quobyte volumes, value is set by the plugin + #[serde(default, skip_serializing_if = "Option::is_none")] + pub tenant: Option, + /// user to map volume access to + /// Defaults to serivceaccount user + #[serde(default, skip_serializing_if = "Option::is_none")] + pub user: Option, + /// volume is a string that references an already created Quobyte volume by name. + pub volume: String, +} + +/// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. +/// More info: https://examples.k8s.io/volumes/rbd/README.md +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesRbd { + /// fsType is the filesystem type of the volume that you want to mount. + /// Tip: Ensure that the filesystem type is supported by the host operating system. + /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd + /// TODO: how do we prevent errors in the filesystem from compromising the machine + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] + pub fs_type: Option, + /// image is the rados image name. + /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + pub image: String, + /// keyring is the path to key ring for RBDUser. + /// Default is /etc/ceph/keyring. + /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + #[serde(default, skip_serializing_if = "Option::is_none")] + pub keyring: Option, + /// monitors is a collection of Ceph monitors. + /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + pub monitors: Vec, + /// pool is the rados pool name. + /// Default is rbd. + /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + #[serde(default, skip_serializing_if = "Option::is_none")] + pub pool: Option, + /// readOnly here will force the ReadOnly setting in VolumeMounts. + /// Defaults to false. + /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// secretRef is name of the authentication secret for RBDUser. If provided + /// overrides keyring. + /// Default is nil. + /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] + pub secret_ref: Option, + /// user is the rados user name. + /// Default is admin. + /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + #[serde(default, skip_serializing_if = "Option::is_none")] + pub user: Option, +} + +/// secretRef is name of the authentication secret for RBDUser. If provided +/// overrides keyring. +/// Default is nil. +/// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesRbdSecretRef { + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +/// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesScaleIo { + /// fsType is the filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs", "ntfs". + /// Default is "xfs". + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] + pub fs_type: Option, + /// gateway is the host address of the ScaleIO API Gateway. + pub gateway: String, + /// protectionDomain is the name of the ScaleIO Protection Domain for the configured storage. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "protectionDomain")] + pub protection_domain: Option, + /// readOnly Defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// secretRef references to the secret for ScaleIO user and other + /// sensitive information. If this is not provided, Login operation will fail. + #[serde(rename = "secretRef")] + pub secret_ref: ArgoCDApplicationSetVolumesScaleIoSecretRef, + /// sslEnabled Flag enable/disable SSL communication with Gateway, default false + #[serde(default, skip_serializing_if = "Option::is_none", rename = "sslEnabled")] + pub ssl_enabled: Option, + /// storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. + /// Default is ThinProvisioned. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageMode")] + pub storage_mode: Option, + /// storagePool is the ScaleIO Storage Pool associated with the protection domain. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "storagePool")] + pub storage_pool: Option, + /// system is the name of the storage system as configured in ScaleIO. + pub system: String, + /// volumeName is the name of a volume already created in the ScaleIO system + /// that is associated with this volume source. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")] + pub volume_name: Option, +} + +/// secretRef references to the secret for ScaleIO user and other +/// sensitive information. If this is not provided, Login operation will fail. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesScaleIoSecretRef { + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +/// secret represents a secret that should populate this volume. +/// More info: https://kubernetes.io/docs/concepts/storage/volumes#secret +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesSecret { + /// defaultMode is Optional: mode bits used to set permissions on created files by default. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values + /// for mode bits. Defaults to 0644. + /// Directories within the path are not affected by this setting. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] + pub default_mode: Option, + /// items If unspecified, each key-value pair in the Data field of the referenced + /// Secret will be projected into the volume as a file whose name is the + /// key and content is the value. If specified, the listed keys will be + /// projected into the specified paths, and unlisted keys will not be + /// present. If a key is specified which is not present in the Secret, + /// the volume setup will error unless it is marked optional. Paths must be + /// relative and may not contain the '..' path or start with '..'. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub items: Option>, + /// optional field specify whether the Secret or its keys must be defined + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: Option, + /// secretName is the name of the secret in the pod's namespace to use. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] + pub secret_name: Option, +} + +/// Maps a string key to a path within a volume. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesSecretItems { + /// key is the key to project. + pub key: String, + /// mode is Optional: mode bits used to set permissions on this file. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// If not specified, the volume defaultMode will be used. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// path is the relative path of the file to map the key to. + /// May not be an absolute path. + /// May not contain the path element '..'. + /// May not start with the string '..'. + pub path: String, +} + +/// storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesStorageos { + /// fsType is the filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] + pub fs_type: Option, + /// readOnly defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] + pub read_only: Option, + /// secretRef specifies the secret to use for obtaining the StorageOS API + /// credentials. If not specified, default values will be attempted. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] + pub secret_ref: Option, + /// volumeName is the human-readable name of the StorageOS volume. Volume + /// names are only unique within a namespace. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")] + pub volume_name: Option, + /// volumeNamespace specifies the scope of the volume within StorageOS. If no + /// namespace is specified then the Pod's namespace will be used. This allows the + /// Kubernetes name scoping to be mirrored within StorageOS for tighter integration. + /// Set VolumeName to any name to override the default behaviour. + /// Set to "default" if you are not using namespaces within StorageOS. + /// Namespaces that do not pre-exist within StorageOS will be created. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeNamespace")] + pub volume_namespace: Option, +} + +/// secretRef specifies the secret to use for obtaining the StorageOS API +/// credentials. If not specified, default values will be attempted. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesStorageosSecretRef { + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +/// vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ArgoCDApplicationSetVolumesVsphereVolume { + /// fsType is filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] + pub fs_type: Option, + /// storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "storagePolicyID")] + pub storage_policy_id: Option, + /// storagePolicyName is the storage Policy Based Management (SPBM) profile name. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "storagePolicyName")] + pub storage_policy_name: Option, + /// volumePath is the path that identifies vSphere volume vmdk + #[serde(rename = "volumePath")] + pub volume_path: String, +} + /// WebhookServerSpec defines the options for the ApplicationSet Webhook Server component. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ArgoCDApplicationSetWebhookServer { @@ -9396,6 +10931,9 @@ pub struct ArgoCDServer { /// Autoscale defines the autoscale options for the Argo CD Server component. #[serde(default, skip_serializing_if = "Option::is_none")] pub autoscale: Option, + /// EnableRolloutsUI will add the Argo Rollouts UI extension in ArgoCD Dashboard. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableRolloutsUI")] + pub enable_rollouts_ui: Option, /// Enabled is the flag to enable ArgoCD Server during ArgoCD installation. (optional, default `true`) #[serde(default, skip_serializing_if = "Option::is_none")] pub enabled: Option, diff --git a/kube-custom-resources-rs/src/awx_ansible_com/v1beta1/awxs.rs b/kube-custom-resources-rs/src/awx_ansible_com/v1beta1/awxs.rs index 1720ddae1..3e4a77755 100644 --- a/kube-custom-resources-rs/src/awx_ansible_com/v1beta1/awxs.rs +++ b/kube-custom-resources-rs/src/awx_ansible_com/v1beta1/awxs.rs @@ -1821,6 +1821,9 @@ pub struct AWXStatus { /// Secret key secret name of the deployed instance #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeySecret")] pub secret_key_secret: Option, + /// Last gated version + #[serde(default, skip_serializing_if = "Option::is_none", rename = "upgradedFrom")] + pub upgraded_from: Option, /// Status to indicate that the database has been upgraded to the version in the status #[serde(default, skip_serializing_if = "Option::is_none", rename = "upgradedPostgresVersion")] pub upgraded_postgres_version: Option, diff --git a/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/cachepolicies.rs b/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/cachepolicies.rs index bbc2b331a..1eba510eb 100644 --- a/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/cachepolicies.rs +++ b/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/cachepolicies.rs @@ -12,23 +12,18 @@ use self::prelude::*; /// CachePolicySpec defines the desired state of CachePolicy. /// -/// /// A cache policy. /// -/// /// When it's attached to a cache behavior, the cache policy determines the following: /// -/// /// * The values that CloudFront includes in the cache key. These values can /// include HTTP headers, cookies, and URL query strings. CloudFront uses /// the cache key to find an object in its cache that it can return to the /// viewer. /// -/// /// * The default, minimum, and maximum time to live (TTL) values that you /// want objects to stay in the CloudFront cache. /// -/// /// The headers, cookies, and query strings that are included in the cache key /// are also included in requests that CloudFront sends to the origin. CloudFront /// sends a request when it can't find a valid object in its cache that matches @@ -65,7 +60,6 @@ pub struct CachePolicyCachePolicyConfig { /// uses the cache key to find an object in its cache that it can return to the /// viewer. /// - /// /// The headers, cookies, and query strings that are included in the cache key /// are also included in requests that CloudFront sends to the origin. CloudFront /// sends a request when it can't find an object in its cache that matches the @@ -80,7 +74,6 @@ pub struct CachePolicyCachePolicyConfig { /// uses the cache key to find an object in its cache that it can return to the /// viewer. /// -/// /// The headers, cookies, and query strings that are included in the cache key /// are also included in requests that CloudFront sends to the origin. CloudFront /// sends a request when it can't find an object in its cache that matches the @@ -202,7 +195,6 @@ pub struct CachePolicyStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/distributions.rs b/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/distributions.rs index 9479505b0..a57fd4549 100644 --- a/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/distributions.rs +++ b/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/distributions.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// DistributionSpec defines the desired state of Distribution. /// -/// /// A distribution tells CloudFront where you want content to be delivered from, /// and the details about how to track and manage content delivery. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -44,14 +43,11 @@ pub struct DistributionDistributionConfig { pub continuous_deployment_policy_id: Option, /// A complex type that controls: /// - /// /// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range /// with custom error messages before returning the response to the viewer. /// - /// /// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. /// - /// /// For more information about custom error pages, see Customizing Error Responses /// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) /// in the Amazon CloudFront Developer Guide. @@ -91,17 +87,14 @@ pub struct DistributionDistributionConfig { /// A complex type that determines the distribution's SSL/TLS configuration for /// communicating with viewers. /// - /// /// If the distribution doesn't use Aliases (also known as alternate domain names /// or CNAMEs)—that is, if the distribution uses the CloudFront domain name /// such as d111111abcdef8.cloudfront.net—set CloudFrontDefaultCertificate /// to true and leave all other fields empty. /// - /// /// If the distribution uses Aliases (alternate domain names or CNAMEs), use /// the fields in this type to specify the following settings: /// - /// /// * Which viewers the distribution accepts HTTPS connections from: only /// viewers that support server name indication (SNI) (https://en.wikipedia.org/wiki/Server_Name_Indication) /// (recommended), or all viewers including those that don't support SNI. @@ -111,26 +104,22 @@ pub struct DistributionDistributionConfig { /// support SNI, set SSLSupportMethod to vip. This is not recommended, and /// results in additional monthly charges from CloudFront. /// - /// /// * The minimum SSL/TLS protocol version that the distribution can use to /// communicate with viewers. To specify a minimum version, choose a value /// for MinimumProtocolVersion. For more information, see Security Policy /// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValues-security-policy) /// in the Amazon CloudFront Developer Guide. /// - /// /// * The location of the SSL/TLS certificate, Certificate Manager (ACM) (https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) /// (recommended) or Identity and Access Management (IAM) (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html). /// You specify the location by setting a value in one of the following fields /// (not both): ACMCertificateArn IAMCertificateId /// - /// /// All distributions support HTTPS connections from viewers. To require viewers /// to use HTTPS only, or to redirect them from HTTP to HTTPS, use ViewerProtocolPolicy /// in the CacheBehavior or DefaultCacheBehavior. To specify how CloudFront should /// use SSL/TLS to communicate with your custom origin, use CustomOriginConfig. /// - /// /// For more information, see Using HTTPS with CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html) /// and Using Alternate Domain Names and HTTPS (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-alternate-domain-names.html) /// in the Amazon CloudFront Developer Guide. @@ -157,7 +146,6 @@ pub struct DistributionDistributionConfigCacheBehaviors { /// A complex type that describes how CloudFront processes requests. /// -/// /// You must create at least as many cache behaviors (including the default cache /// behavior) as you have origins if you want CloudFront to serve objects from /// all of the origins. Each cache behavior specifies the one origin from which @@ -165,25 +153,20 @@ pub struct DistributionDistributionConfigCacheBehaviors { /// default cache behavior, the default cache behavior will cause CloudFront /// to get objects from one of the origins, but the other origin is never used. /// -/// /// For the current quota (formerly known as limit) on the number of cache behaviors /// that you can add to a distribution, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) /// in the Amazon CloudFront Developer Guide. /// -/// /// If you don't want to specify any cache behaviors, include only an empty CacheBehaviors /// element. Don't include an empty CacheBehavior element because this is invalid. /// -/// /// To delete all cache behaviors in an existing distribution, update the distribution /// configuration and include only an empty CacheBehaviors element. /// -/// /// To add, change, or remove one or more cache behaviors, update the distribution /// configuration and specify all of the cache behaviors that you want to include /// in the updated distribution. /// -/// /// For more information about cache behaviors, see Cache Behavior Settings (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) /// in the Amazon CloudFront Developer Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -192,17 +175,13 @@ pub struct DistributionDistributionConfigCacheBehaviorsItems { /// forwards to your Amazon S3 bucket or your custom origin. There are three /// choices: /// - /// /// * CloudFront forwards only GET and HEAD requests. /// - /// /// * CloudFront forwards only GET, HEAD, and OPTIONS requests. /// - /// /// * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE /// requests. /// - /// /// If you pick the third choice, you may need to restrict access to your Amazon /// S3 bucket or to your custom origin so users can't perform operations that /// you don't want them to. For example, you might not want users to have permissions @@ -220,18 +199,15 @@ pub struct DistributionDistributionConfigCacheBehaviorsItems { /// This field is deprecated. We recommend that you use a cache policy or an /// origin request policy instead of this field. /// - /// /// If you want to include values in the cache key, use a cache policy. For more /// information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) /// in the Amazon CloudFront Developer Guide. /// - /// /// If you want to send values to the origin but not include them in the cache /// key, use an origin request policy. For more information, see Creating origin /// request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) /// in the Amazon CloudFront Developer Guide. /// - /// /// A complex type that specifies how CloudFront handles query strings, cookies, /// and HTTP headers. #[serde(default, skip_serializing_if = "Option::is_none", rename = "forwardedValues")] @@ -244,14 +220,12 @@ pub struct DistributionDistributionConfigCacheBehaviorsItems { /// A complex type that specifies a list of Lambda@Edge functions associations /// for a cache behavior. /// - /// /// If you want to invoke one or more Lambda@Edge functions triggered by requests /// that match the PathPattern of the cache behavior, specify the applicable /// values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation /// items in this list (one for each possible value of EventType) and each EventType /// can be associated with only one function. /// - /// /// If you don't want to invoke any Lambda@Edge functions for the requests that /// match PathPattern, specify 0 for Quantity and omit Items. #[serde(default, skip_serializing_if = "Option::is_none", rename = "lambdaFunctionAssociations")] @@ -288,17 +262,13 @@ pub struct DistributionDistributionConfigCacheBehaviorsItems { /// forwards to your Amazon S3 bucket or your custom origin. There are three /// choices: /// -/// /// * CloudFront forwards only GET and HEAD requests. /// -/// /// * CloudFront forwards only GET, HEAD, and OPTIONS requests. /// -/// /// * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE /// requests. /// -/// /// If you pick the third choice, you may need to restrict access to your Amazon /// S3 bucket or to your custom origin so users can't perform operations that /// you don't want them to. For example, you might not want users to have permissions @@ -308,13 +278,10 @@ pub struct DistributionDistributionConfigCacheBehaviorsItemsAllowedMethods { /// A complex type that controls whether CloudFront caches the response to requests /// using the specified HTTP methods. There are two choices: /// - /// /// * CloudFront caches responses to GET and HEAD requests. /// - /// /// * CloudFront caches responses to GET, HEAD, and OPTIONS requests. /// - /// /// If you pick the second choice for your Amazon S3 Origin, you may need to /// forward Access-Control-Request-Method, Access-Control-Request-Headers, and /// Origin headers for the responses to be cached correctly. @@ -327,13 +294,10 @@ pub struct DistributionDistributionConfigCacheBehaviorsItemsAllowedMethods { /// A complex type that controls whether CloudFront caches the response to requests /// using the specified HTTP methods. There are two choices: /// -/// /// * CloudFront caches responses to GET and HEAD requests. /// -/// /// * CloudFront caches responses to GET, HEAD, and OPTIONS requests. /// -/// /// If you pick the second choice for your Amazon S3 Origin, you may need to /// forward Access-Control-Request-Method, Access-Control-Request-Headers, and /// Origin headers for the responses to be cached correctly. @@ -346,18 +310,15 @@ pub struct DistributionDistributionConfigCacheBehaviorsItemsAllowedMethodsCached /// This field is deprecated. We recommend that you use a cache policy or an /// origin request policy instead of this field. /// -/// /// If you want to include values in the cache key, use a cache policy. For more /// information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) /// in the Amazon CloudFront Developer Guide. /// -/// /// If you want to send values to the origin but not include them in the cache /// key, use an origin request policy. For more information, see Creating origin /// request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) /// in the Amazon CloudFront Developer Guide. /// -/// /// A complex type that specifies how CloudFront handles query strings, cookies, /// and HTTP headers. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -365,15 +326,12 @@ pub struct DistributionDistributionConfigCacheBehaviorsItemsForwardedValues { /// This field is deprecated. We recommend that you use a cache policy or an /// origin request policy instead of this field. /// - /// /// If you want to include cookies in the cache key, use CookiesConfig in a cache /// policy. See CachePolicy. /// - /// /// If you want to send cookies to the origin but not include them in the cache /// key, use CookiesConfig in an origin request policy. See OriginRequestPolicy. /// - /// /// A complex type that specifies whether you want CloudFront to forward cookies /// to the origin and, if so, which ones. For more information about forwarding /// cookies to the origin, see Caching Content Based on Cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) @@ -388,15 +346,12 @@ pub struct DistributionDistributionConfigCacheBehaviorsItemsForwardedValues { /// This field is deprecated. We recommend that you use a cache policy or an /// origin request policy instead of this field. /// - /// /// If you want to include query strings in the cache key, use QueryStringsConfig /// in a cache policy. See CachePolicy. /// - /// /// If you want to send query strings to the origin but not include them in the /// cache key, use QueryStringsConfig in an origin request policy. See OriginRequestPolicy. /// - /// /// A complex type that contains information about the query string parameters /// that you want CloudFront to use for caching for a cache behavior. #[serde(default, skip_serializing_if = "Option::is_none", rename = "queryStringCacheKeys")] @@ -406,15 +361,12 @@ pub struct DistributionDistributionConfigCacheBehaviorsItemsForwardedValues { /// This field is deprecated. We recommend that you use a cache policy or an /// origin request policy instead of this field. /// -/// /// If you want to include cookies in the cache key, use CookiesConfig in a cache /// policy. See CachePolicy. /// -/// /// If you want to send cookies to the origin but not include them in the cache /// key, use CookiesConfig in an origin request policy. See OriginRequestPolicy. /// -/// /// A complex type that specifies whether you want CloudFront to forward cookies /// to the origin and, if so, which ones. For more information about forwarding /// cookies to the origin, see Caching Content Based on Cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) @@ -445,15 +397,12 @@ pub struct DistributionDistributionConfigCacheBehaviorsItemsForwardedValuesHeade /// This field is deprecated. We recommend that you use a cache policy or an /// origin request policy instead of this field. /// -/// /// If you want to include query strings in the cache key, use QueryStringsConfig /// in a cache policy. See CachePolicy. /// -/// /// If you want to send query strings to the origin but not include them in the /// cache key, use QueryStringsConfig in an origin request policy. See OriginRequestPolicy. /// -/// /// A complex type that contains information about the query string parameters /// that you want CloudFront to use for caching for a cache behavior. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -484,14 +433,12 @@ pub struct DistributionDistributionConfigCacheBehaviorsItemsFunctionAssociations /// A complex type that specifies a list of Lambda@Edge functions associations /// for a cache behavior. /// -/// /// If you want to invoke one or more Lambda@Edge functions triggered by requests /// that match the PathPattern of the cache behavior, specify the applicable /// values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation /// items in this list (one for each possible value of EventType) and each EventType /// can be associated with only one function. /// -/// /// If you don't want to invoke any Lambda@Edge functions for the requests that /// match PathPattern, specify 0 for Quantity and omit Items. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -533,14 +480,11 @@ pub struct DistributionDistributionConfigCacheBehaviorsItemsTrustedSigners { /// A complex type that controls: /// -/// /// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range /// with custom error messages before returning the response to the viewer. /// -/// /// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. /// -/// /// For more information about custom error pages, see Customizing Error Responses /// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) /// in the Amazon CloudFront Developer Guide. @@ -552,14 +496,11 @@ pub struct DistributionDistributionConfigCustomErrorResponses { /// A complex type that controls: /// -/// /// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range /// with custom error messages before returning the response to the viewer. /// -/// /// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. /// -/// /// For more information about custom error pages, see Customizing Error Responses /// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) /// in the Amazon CloudFront Developer Guide. @@ -585,17 +526,13 @@ pub struct DistributionDistributionConfigDefaultCacheBehavior { /// forwards to your Amazon S3 bucket or your custom origin. There are three /// choices: /// - /// /// * CloudFront forwards only GET and HEAD requests. /// - /// /// * CloudFront forwards only GET, HEAD, and OPTIONS requests. /// - /// /// * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE /// requests. /// - /// /// If you pick the third choice, you may need to restrict access to your Amazon /// S3 bucket or to your custom origin so users can't perform operations that /// you don't want them to. For example, you might not want users to have permissions @@ -613,18 +550,15 @@ pub struct DistributionDistributionConfigDefaultCacheBehavior { /// This field is deprecated. We recommend that you use a cache policy or an /// origin request policy instead of this field. /// - /// /// If you want to include values in the cache key, use a cache policy. For more /// information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) /// in the Amazon CloudFront Developer Guide. /// - /// /// If you want to send values to the origin but not include them in the cache /// key, use an origin request policy. For more information, see Creating origin /// request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) /// in the Amazon CloudFront Developer Guide. /// - /// /// A complex type that specifies how CloudFront handles query strings, cookies, /// and HTTP headers. #[serde(default, skip_serializing_if = "Option::is_none", rename = "forwardedValues")] @@ -637,14 +571,12 @@ pub struct DistributionDistributionConfigDefaultCacheBehavior { /// A complex type that specifies a list of Lambda@Edge functions associations /// for a cache behavior. /// - /// /// If you want to invoke one or more Lambda@Edge functions triggered by requests /// that match the PathPattern of the cache behavior, specify the applicable /// values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation /// items in this list (one for each possible value of EventType) and each EventType /// can be associated with only one function. /// - /// /// If you don't want to invoke any Lambda@Edge functions for the requests that /// match PathPattern, specify 0 for Quantity and omit Items. #[serde(default, skip_serializing_if = "Option::is_none", rename = "lambdaFunctionAssociations")] @@ -679,17 +611,13 @@ pub struct DistributionDistributionConfigDefaultCacheBehavior { /// forwards to your Amazon S3 bucket or your custom origin. There are three /// choices: /// -/// /// * CloudFront forwards only GET and HEAD requests. /// -/// /// * CloudFront forwards only GET, HEAD, and OPTIONS requests. /// -/// /// * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE /// requests. /// -/// /// If you pick the third choice, you may need to restrict access to your Amazon /// S3 bucket or to your custom origin so users can't perform operations that /// you don't want them to. For example, you might not want users to have permissions @@ -699,13 +627,10 @@ pub struct DistributionDistributionConfigDefaultCacheBehaviorAllowedMethods { /// A complex type that controls whether CloudFront caches the response to requests /// using the specified HTTP methods. There are two choices: /// - /// /// * CloudFront caches responses to GET and HEAD requests. /// - /// /// * CloudFront caches responses to GET, HEAD, and OPTIONS requests. /// - /// /// If you pick the second choice for your Amazon S3 Origin, you may need to /// forward Access-Control-Request-Method, Access-Control-Request-Headers, and /// Origin headers for the responses to be cached correctly. @@ -718,13 +643,10 @@ pub struct DistributionDistributionConfigDefaultCacheBehaviorAllowedMethods { /// A complex type that controls whether CloudFront caches the response to requests /// using the specified HTTP methods. There are two choices: /// -/// /// * CloudFront caches responses to GET and HEAD requests. /// -/// /// * CloudFront caches responses to GET, HEAD, and OPTIONS requests. /// -/// /// If you pick the second choice for your Amazon S3 Origin, you may need to /// forward Access-Control-Request-Method, Access-Control-Request-Headers, and /// Origin headers for the responses to be cached correctly. @@ -737,18 +659,15 @@ pub struct DistributionDistributionConfigDefaultCacheBehaviorAllowedMethodsCache /// This field is deprecated. We recommend that you use a cache policy or an /// origin request policy instead of this field. /// -/// /// If you want to include values in the cache key, use a cache policy. For more /// information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) /// in the Amazon CloudFront Developer Guide. /// -/// /// If you want to send values to the origin but not include them in the cache /// key, use an origin request policy. For more information, see Creating origin /// request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) /// in the Amazon CloudFront Developer Guide. /// -/// /// A complex type that specifies how CloudFront handles query strings, cookies, /// and HTTP headers. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -756,15 +675,12 @@ pub struct DistributionDistributionConfigDefaultCacheBehaviorForwardedValues { /// This field is deprecated. We recommend that you use a cache policy or an /// origin request policy instead of this field. /// - /// /// If you want to include cookies in the cache key, use CookiesConfig in a cache /// policy. See CachePolicy. /// - /// /// If you want to send cookies to the origin but not include them in the cache /// key, use CookiesConfig in an origin request policy. See OriginRequestPolicy. /// - /// /// A complex type that specifies whether you want CloudFront to forward cookies /// to the origin and, if so, which ones. For more information about forwarding /// cookies to the origin, see Caching Content Based on Cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) @@ -779,15 +695,12 @@ pub struct DistributionDistributionConfigDefaultCacheBehaviorForwardedValues { /// This field is deprecated. We recommend that you use a cache policy or an /// origin request policy instead of this field. /// - /// /// If you want to include query strings in the cache key, use QueryStringsConfig /// in a cache policy. See CachePolicy. /// - /// /// If you want to send query strings to the origin but not include them in the /// cache key, use QueryStringsConfig in an origin request policy. See OriginRequestPolicy. /// - /// /// A complex type that contains information about the query string parameters /// that you want CloudFront to use for caching for a cache behavior. #[serde(default, skip_serializing_if = "Option::is_none", rename = "queryStringCacheKeys")] @@ -797,15 +710,12 @@ pub struct DistributionDistributionConfigDefaultCacheBehaviorForwardedValues { /// This field is deprecated. We recommend that you use a cache policy or an /// origin request policy instead of this field. /// -/// /// If you want to include cookies in the cache key, use CookiesConfig in a cache /// policy. See CachePolicy. /// -/// /// If you want to send cookies to the origin but not include them in the cache /// key, use CookiesConfig in an origin request policy. See OriginRequestPolicy. /// -/// /// A complex type that specifies whether you want CloudFront to forward cookies /// to the origin and, if so, which ones. For more information about forwarding /// cookies to the origin, see Caching Content Based on Cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) @@ -836,15 +746,12 @@ pub struct DistributionDistributionConfigDefaultCacheBehaviorForwardedValuesHead /// This field is deprecated. We recommend that you use a cache policy or an /// origin request policy instead of this field. /// -/// /// If you want to include query strings in the cache key, use QueryStringsConfig /// in a cache policy. See CachePolicy. /// -/// /// If you want to send query strings to the origin but not include them in the /// cache key, use QueryStringsConfig in an origin request policy. See OriginRequestPolicy. /// -/// /// A complex type that contains information about the query string parameters /// that you want CloudFront to use for caching for a cache behavior. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -875,14 +782,12 @@ pub struct DistributionDistributionConfigDefaultCacheBehaviorFunctionAssociation /// A complex type that specifies a list of Lambda@Edge functions associations /// for a cache behavior. /// -/// /// If you want to invoke one or more Lambda@Edge functions triggered by requests /// that match the PathPattern of the cache behavior, specify the applicable /// values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation /// items in this list (one for each possible value of EventType) and each EventType /// can be associated with only one function. /// -/// /// If you don't want to invoke any Lambda@Edge functions for the requests that /// match PathPattern, specify 0 for Quantity and omit Items. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1007,22 +912,18 @@ pub struct DistributionDistributionConfigOrigins { /// An origin. /// -/// /// An origin is the location where content is stored, and from which CloudFront /// gets content to serve to viewers. To specify an origin: /// -/// /// * Use S3OriginConfig to specify an Amazon S3 bucket that is not configured /// with static website hosting. /// -/// /// * Use CustomOriginConfig to specify all other kinds of origins, including: /// An Amazon S3 bucket that is configured with static website hosting An /// Elastic Load Balancing load balancer An AWS Elemental MediaPackage endpoint /// An AWS Elemental MediaStore container Any other HTTP server, running on /// an Amazon EC2 instance or any other kind of host /// -/// /// For the current maximum number of origins that you can specify per distribution, /// see General Quotas on Web Distributions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions) /// in the Amazon CloudFront Developer Guide (quotas were formerly referred to @@ -1052,7 +953,6 @@ pub struct DistributionDistributionConfigOriginsItems { pub origin_path: Option, /// CloudFront Origin Shield. /// - /// /// Using Origin Shield can help reduce the load on your origin. For more information, /// see Using Origin Shield (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html) /// in the Amazon CloudFront Developer Guide. @@ -1114,7 +1014,6 @@ pub struct DistributionDistributionConfigOriginsItemsCustomOriginConfigOriginSsl /// CloudFront Origin Shield. /// -/// /// Using Origin Shield can help reduce the load on your origin. For more information, /// see Using Origin Shield (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html) /// in the Amazon CloudFront Developer Guide. @@ -1158,17 +1057,14 @@ pub struct DistributionDistributionConfigRestrictionsGeoRestriction { /// A complex type that determines the distribution's SSL/TLS configuration for /// communicating with viewers. /// -/// /// If the distribution doesn't use Aliases (also known as alternate domain names /// or CNAMEs)—that is, if the distribution uses the CloudFront domain name /// such as d111111abcdef8.cloudfront.net—set CloudFrontDefaultCertificate /// to true and leave all other fields empty. /// -/// /// If the distribution uses Aliases (alternate domain names or CNAMEs), use /// the fields in this type to specify the following settings: /// -/// /// * Which viewers the distribution accepts HTTPS connections from: only /// viewers that support server name indication (SNI) (https://en.wikipedia.org/wiki/Server_Name_Indication) /// (recommended), or all viewers including those that don't support SNI. @@ -1178,26 +1074,22 @@ pub struct DistributionDistributionConfigRestrictionsGeoRestriction { /// support SNI, set SSLSupportMethod to vip. This is not recommended, and /// results in additional monthly charges from CloudFront. /// -/// /// * The minimum SSL/TLS protocol version that the distribution can use to /// communicate with viewers. To specify a minimum version, choose a value /// for MinimumProtocolVersion. For more information, see Security Policy /// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValues-security-policy) /// in the Amazon CloudFront Developer Guide. /// -/// /// * The location of the SSL/TLS certificate, Certificate Manager (ACM) (https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) /// (recommended) or Identity and Access Management (IAM) (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html). /// You specify the location by setting a value in one of the following fields /// (not both): ACMCertificateArn IAMCertificateId /// -/// /// All distributions support HTTPS connections from viewers. To require viewers /// to use HTTPS only, or to redirect them from HTTP to HTTPS, use ViewerProtocolPolicy /// in the CacheBehavior or DefaultCacheBehavior. To specify how CloudFront should /// use SSL/TLS to communicate with your custom origin, use CustomOriginConfig. /// -/// /// For more information, see Using HTTPS with CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html) /// and Using Alternate Domain Names and HTTPS (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-alternate-domain-names.html) /// in the Amazon CloudFront Developer Guide. @@ -1256,7 +1148,6 @@ pub struct DistributionStatus { pub active_trusted_key_groups: Option, /// We recommend using TrustedKeyGroups instead of TrustedSigners. /// - /// /// This field contains a list of Amazon Web Services account IDs and the active /// CloudFront key pairs in each account that CloudFront can use to verify the /// signatures of signed URLs or signed cookies. @@ -1268,7 +1159,6 @@ pub struct DistributionStatus { /// AliasICPRecordal provides the ICP recordal status for CNAMEs associated with /// distributions. /// - /// /// For more information about ICP recordals, see Signup, Accounts, and Credentials /// (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) /// in Getting Started with Amazon Web Services services in China. @@ -1314,7 +1204,6 @@ pub struct DistributionStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, @@ -1359,7 +1248,6 @@ pub struct DistributionStatusActiveTrustedKeyGroupsItemsKeyPairIDs { /// We recommend using TrustedKeyGroups instead of TrustedSigners. /// -/// /// This field contains a list of Amazon Web Services account IDs and the active /// CloudFront key pairs in each account that CloudFront can use to verify the /// signatures of signed URLs or signed cookies. @@ -1399,7 +1287,6 @@ pub struct DistributionStatusActiveTrustedSignersItemsKeyPairIDs { /// distributions. The status is returned in the CloudFront response; you can't /// configure it yourself. /// -/// /// For more information about ICP recordals, see Signup, Accounts, and Credentials /// (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) /// in Getting Started with Amazon Web Services services in China. diff --git a/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/functions.rs b/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/functions.rs index 9d2d2eb63..ba0c91915 100644 --- a/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/functions.rs +++ b/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/functions.rs @@ -79,7 +79,6 @@ pub struct FunctionStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/originrequestpolicies.rs b/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/originrequestpolicies.rs index 05bdcfb53..9a4401bfc 100644 --- a/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/originrequestpolicies.rs +++ b/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/originrequestpolicies.rs @@ -12,29 +12,23 @@ use self::prelude::*; /// OriginRequestPolicySpec defines the desired state of OriginRequestPolicy. /// -/// /// An origin request policy. /// -/// /// When it's attached to a cache behavior, the origin request policy determines /// the values that CloudFront includes in requests that it sends to the origin. /// Each request that CloudFront sends to the origin includes the following: /// -/// /// * The request body and the URL path (without the domain name) from the /// viewer request. /// -/// /// * The headers that CloudFront automatically includes in every origin request, /// including Host, User-Agent, and X-Amz-Cf-Id. /// -/// /// * All HTTP headers, cookies, and URL query strings that are specified /// in the cache policy or the origin request policy. These can include items /// from the viewer request and, in the case of headers, additional ones that /// are added by CloudFront. /// -/// /// CloudFront sends a request when it can't find an object in its cache that /// matches the request. If you want to send values to the origin and also include /// them in the cache key, use CachePolicy. @@ -167,7 +161,6 @@ pub struct OriginRequestPolicyStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/responseheaderspolicies.rs b/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/responseheaderspolicies.rs index d256d7d90..cbd2defd9 100644 --- a/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/responseheaderspolicies.rs +++ b/kube-custom-resources-rs/src/cloudfront_services_k8s_aws/v1alpha1/responseheaderspolicies.rs @@ -12,14 +12,11 @@ use self::prelude::*; /// ResponseHeadersPolicySpec defines the desired state of ResponseHeadersPolicy. /// -/// /// A response headers policy. /// -/// /// A response headers policy contains information about a set of HTTP response /// headers. /// -/// /// After you create a response headers policy, you can use its ID to attach /// it to one or more cache behaviors in a CloudFront distribution. When it's /// attached to a cache behavior, the response headers policy affects the HTTP @@ -27,7 +24,6 @@ use self::prelude::*; /// the cache behavior. CloudFront adds or removes response headers according /// to the configuration of the response headers policy. /// -/// /// For more information, see Adding or removing HTTP headers in CloudFront responses /// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/modifying-response-headers.html) /// in the Amazon CloudFront Developer Guide. @@ -56,7 +52,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfig { /// that it sends for CORS requests that match a cache behavior associated with /// this response headers policy. /// - /// /// For more information about CORS, see Cross-Origin Resource Sharing (CORS) /// (https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) in the MDN Web Docs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "corsConfig")] @@ -83,7 +78,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfig { /// in response to requests that match a cache behavior that's associated with /// this response headers policy. /// - /// /// You can use the Server-Timing header to view metrics that can help you gain /// insights about the behavior and performance of CloudFront. For example, you /// can see which cache layer served a cache hit, or the first byte latency from @@ -100,7 +94,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfig { /// that it sends for CORS requests that match a cache behavior associated with /// this response headers policy. /// -/// /// For more information about CORS, see Cross-Origin Resource Sharing (CORS) /// (https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) in the MDN Web Docs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -110,7 +103,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigCorsConfig { /// A list of HTTP header names that CloudFront includes as values for the Access-Control-Allow-Headers /// HTTP response header. /// - /// /// For more information about the Access-Control-Allow-Headers HTTP response /// header, see Access-Control-Allow-Headers (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) /// in the MDN Web Docs. @@ -119,7 +111,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigCorsConfig { /// A list of HTTP methods that CloudFront includes as values for the Access-Control-Allow-Methods /// HTTP response header. /// - /// /// For more information about the Access-Control-Allow-Methods HTTP response /// header, see Access-Control-Allow-Methods (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods) /// in the MDN Web Docs. @@ -128,7 +119,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigCorsConfig { /// A list of origins (domain names) that CloudFront can use as the value for /// the Access-Control-Allow-Origin HTTP response header. /// - /// /// For more information about the Access-Control-Allow-Origin HTTP response /// header, see Access-Control-Allow-Origin (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin) /// in the MDN Web Docs. @@ -137,7 +127,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigCorsConfig { /// A list of HTTP headers that CloudFront includes as values for the Access-Control-Expose-Headers /// HTTP response header. /// - /// /// For more information about the Access-Control-Expose-Headers HTTP response /// header, see Access-Control-Expose-Headers (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers) /// in the MDN Web Docs. @@ -152,7 +141,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigCorsConfig { /// A list of HTTP header names that CloudFront includes as values for the Access-Control-Allow-Headers /// HTTP response header. /// -/// /// For more information about the Access-Control-Allow-Headers HTTP response /// header, see Access-Control-Allow-Headers (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) /// in the MDN Web Docs. @@ -165,7 +153,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigCorsConfigAccessContr /// A list of HTTP methods that CloudFront includes as values for the Access-Control-Allow-Methods /// HTTP response header. /// -/// /// For more information about the Access-Control-Allow-Methods HTTP response /// header, see Access-Control-Allow-Methods (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods) /// in the MDN Web Docs. @@ -178,7 +165,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigCorsConfigAccessContr /// A list of origins (domain names) that CloudFront can use as the value for /// the Access-Control-Allow-Origin HTTP response header. /// -/// /// For more information about the Access-Control-Allow-Origin HTTP response /// header, see Access-Control-Allow-Origin (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin) /// in the MDN Web Docs. @@ -191,7 +177,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigCorsConfigAccessContr /// A list of HTTP headers that CloudFront includes as values for the Access-Control-Expose-Headers /// HTTP response header. /// -/// /// For more information about the Access-Control-Expose-Headers HTTP response /// header, see Access-Control-Expose-Headers (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers) /// in the MDN Web Docs. @@ -249,7 +234,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigSecurityHeadersConfig /// The policy directives and their values that CloudFront includes as values /// for the Content-Security-Policy HTTP response header. /// - /// /// For more information about the Content-Security-Policy HTTP response header, /// see Content-Security-Policy (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) /// in the MDN Web Docs. @@ -258,7 +242,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigSecurityHeadersConfig /// Determines whether CloudFront includes the X-Content-Type-Options HTTP response /// header with its value set to nosniff. /// - /// /// For more information about the X-Content-Type-Options HTTP response header, /// see X-Content-Type-Options (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) /// in the MDN Web Docs. @@ -267,7 +250,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigSecurityHeadersConfig /// Determines whether CloudFront includes the X-Frame-Options HTTP response /// header and the header's value. /// - /// /// For more information about the X-Frame-Options HTTP response header, see /// X-Frame-Options (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) /// in the MDN Web Docs. @@ -276,7 +258,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigSecurityHeadersConfig /// Determines whether CloudFront includes the Referrer-Policy HTTP response /// header and the header's value. /// - /// /// For more information about the Referrer-Policy HTTP response header, see /// Referrer-Policy (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) /// in the MDN Web Docs. @@ -285,7 +266,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigSecurityHeadersConfig /// Determines whether CloudFront includes the Strict-Transport-Security HTTP /// response header and the header's value. /// - /// /// For more information about the Strict-Transport-Security HTTP response header, /// see Strict-Transport-Security (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) /// in the MDN Web Docs. @@ -294,7 +274,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigSecurityHeadersConfig /// Determines whether CloudFront includes the X-XSS-Protection HTTP response /// header and the header's value. /// - /// /// For more information about the X-XSS-Protection HTTP response header, see /// X-XSS-Protection (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) /// in the MDN Web Docs. @@ -305,7 +284,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigSecurityHeadersConfig /// The policy directives and their values that CloudFront includes as values /// for the Content-Security-Policy HTTP response header. /// -/// /// For more information about the Content-Security-Policy HTTP response header, /// see Content-Security-Policy (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) /// in the MDN Web Docs. @@ -320,7 +298,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigSecurityHeadersConfig /// Determines whether CloudFront includes the X-Content-Type-Options HTTP response /// header with its value set to nosniff. /// -/// /// For more information about the X-Content-Type-Options HTTP response header, /// see X-Content-Type-Options (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) /// in the MDN Web Docs. @@ -333,7 +310,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigSecurityHeadersConfig /// Determines whether CloudFront includes the X-Frame-Options HTTP response /// header and the header's value. /// -/// /// For more information about the X-Frame-Options HTTP response header, see /// X-Frame-Options (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) /// in the MDN Web Docs. @@ -348,7 +324,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigSecurityHeadersConfig /// Determines whether CloudFront includes the Referrer-Policy HTTP response /// header and the header's value. /// -/// /// For more information about the Referrer-Policy HTTP response header, see /// Referrer-Policy (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) /// in the MDN Web Docs. @@ -363,7 +338,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigSecurityHeadersConfig /// Determines whether CloudFront includes the Strict-Transport-Security HTTP /// response header and the header's value. /// -/// /// For more information about the Strict-Transport-Security HTTP response header, /// see Strict-Transport-Security (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) /// in the MDN Web Docs. @@ -382,7 +356,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigSecurityHeadersConfig /// Determines whether CloudFront includes the X-XSS-Protection HTTP response /// header and the header's value. /// -/// /// For more information about the X-XSS-Protection HTTP response header, see /// X-XSS-Protection (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) /// in the MDN Web Docs. @@ -403,7 +376,6 @@ pub struct ResponseHeadersPolicyResponseHeadersPolicyConfigSecurityHeadersConfig /// in response to requests that match a cache behavior that's associated with /// this response headers policy. /// -/// /// You can use the Server-Timing header to view metrics that can help you gain /// insights about the behavior and performance of CloudFront. For example, you /// can see which cache layer served a cache hit, or the first byte latency from @@ -454,7 +426,6 @@ pub struct ResponseHeadersPolicyStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/cloudtrail_services_k8s_aws/v1alpha1/eventdatastores.rs b/kube-custom-resources-rs/src/cloudtrail_services_k8s_aws/v1alpha1/eventdatastores.rs index 4db11f8a8..196cd593d 100644 --- a/kube-custom-resources-rs/src/cloudtrail_services_k8s_aws/v1alpha1/eventdatastores.rs +++ b/kube-custom-resources-rs/src/cloudtrail_services_k8s_aws/v1alpha1/eventdatastores.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// EventDataStoreSpec defines the desired state of EventDataStore. /// -/// /// A storage lake of event data against which you can run complex SQL-based /// queries. An event data store can include events that you have logged on your /// account from the last 90 to 2555 days (about three months to up to seven @@ -61,25 +60,18 @@ pub struct EventDataStoreSpec { /// event selectors, see Logging data events for trails (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) /// in the CloudTrail User Guide. /// -/// /// * readOnly /// -/// /// * eventSource /// -/// /// * eventName /// -/// /// * eventCategory /// -/// /// * resources.type /// -/// /// * resources.ARN /// -/// /// You cannot apply both event selectors and advanced event selectors to a trail. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventDataStoreAdvancedEventSelectors { @@ -155,7 +147,6 @@ pub struct EventDataStoreStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/cloudtrail_services_k8s_aws/v1alpha1/trails.rs b/kube-custom-resources-rs/src/cloudtrail_services_k8s_aws/v1alpha1/trails.rs index dc9390cca..6e26bee91 100644 --- a/kube-custom-resources-rs/src/cloudtrail_services_k8s_aws/v1alpha1/trails.rs +++ b/kube-custom-resources-rs/src/cloudtrail_services_k8s_aws/v1alpha1/trails.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// TrailSpec defines the desired state of Trail. /// -/// /// The settings for a trail. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "cloudtrail.services.k8s.aws", version = "v1alpha1", kind = "Trail", plural = "trails")] @@ -34,7 +33,6 @@ pub struct TrailSpec { /// Specifies whether log file integrity validation is enabled. The default is /// false. /// - /// /// When you disable log file integrity validation, the chain of digest files /// is broken after one hour. CloudTrail does not create digest files for log /// files that were delivered during a period in which log file integrity validation @@ -66,44 +64,33 @@ pub struct TrailSpec { /// The value can be an alias name prefixed by "alias/", a fully specified ARN /// to an alias, a fully specified ARN to a key, or a globally unique identifier. /// - /// /// CloudTrail also supports KMS multi-Region keys. For more information about /// multi-Region keys, see Using multi-Region keys (https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) /// in the Key Management Service Developer Guide. /// - /// /// Examples: /// - /// /// * alias/MyAliasName /// - /// /// * arn:aws:kms:us-east-2:123456789012:alias/MyAliasName /// - /// /// * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012 /// - /// /// * 12345678-1234-1234-1234-123456789012 #[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsKeyID")] pub kms_key_id: Option, /// Specifies the name of the trail. The name must meet the following requirements: /// - /// /// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores /// (_), or dashes (-) /// - /// /// * Start with a letter or number, and end with a letter or number /// - /// /// * Be between 3 and 128 characters /// - /// /// * Have no adjacent periods, underscores or dashes. Names like my-_namespace /// and my--namespace are not valid. /// - /// /// * Not be in IP address format (for example, 192.168.5.4) pub name: String, /// Specifies the name of the Amazon S3 bucket designated for publishing log @@ -153,7 +140,6 @@ pub struct TrailStatus { /// Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications /// when log files are delivered. The format of a topic ARN is: /// - /// /// arn:aws:sns:us-east-2:123456789012:MyTopic #[serde(default, skip_serializing_if = "Option::is_none", rename = "snsTopicARN")] pub sns_topic_arn: Option, @@ -170,7 +156,6 @@ pub struct TrailStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/cloudwatch_aws_amazon_com/v1alpha1/amazoncloudwatchagents.rs b/kube-custom-resources-rs/src/cloudwatch_aws_amazon_com/v1alpha1/amazoncloudwatchagents.rs index aace5d624..09ea16ff1 100644 --- a/kube-custom-resources-rs/src/cloudwatch_aws_amazon_com/v1alpha1/amazoncloudwatchagents.rs +++ b/kube-custom-resources-rs/src/cloudwatch_aws_amazon_com/v1alpha1/amazoncloudwatchagents.rs @@ -21,9 +21,20 @@ use self::prelude::*; #[kube(derive="Default")] #[kube(derive="PartialEq")] pub struct AmazonCloudWatchAgentSpec { - /// AdditionalContainers allows injecting additional containers into the Collector's pod definition. These sidecar containers can be used for authentication proxies, log shipping sidecars, agents for shipping metrics to their cloud, or in general sidecars that do not support automatic injection. This option only applies to Deployment, DaemonSet, and StatefulSet deployment modes of the collector. It does not apply to the sidecar deployment mode. More info about sidecars: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/ - /// Container names managed by the operator: * `otc-container` - /// Overriding containers managed by the operator is outside the scope of what the maintainers will support and by doing so, you wil accept the risk of it breaking things. + /// AdditionalContainers allows injecting additional containers into the Collector's pod definition. + /// These sidecar containers can be used for authentication proxies, log shipping sidecars, agents for shipping + /// metrics to their cloud, or in general sidecars that do not support automatic injection. This option only + /// applies to Deployment, DaemonSet, and StatefulSet deployment modes of the collector. It does not apply to the sidecar + /// deployment mode. More info about sidecars: + /// https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/ + /// + /// + /// Container names managed by the operator: + /// * `otc-container` + /// + /// + /// Overriding containers managed by the operator is outside the scope of what the maintainers will support and by + /// doing so, you wil accept the risk of it breaking things. #[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalContainers")] pub additional_containers: Option>, /// If specified, indicates the pod's scheduling constraints @@ -32,19 +43,24 @@ pub struct AmazonCloudWatchAgentSpec { /// Args is the set of arguments to pass to the OpenTelemetry Collector binary #[serde(default, skip_serializing_if = "Option::is_none")] pub args: Option>, - /// Autoscaler specifies the pod autoscaling configuration to use for the AmazonCloudWatchAgent workload. + /// Autoscaler specifies the pod autoscaling configuration to use + /// for the AmazonCloudWatchAgent workload. #[serde(default, skip_serializing_if = "Option::is_none")] pub autoscaler: Option, /// Config is the raw JSON to be used as the collector's configuration. Refer to the OpenTelemetry Collector documentation for details. #[serde(default, skip_serializing_if = "Option::is_none")] pub config: Option, - /// ConfigMaps is a list of ConfigMaps in the same namespace as the AmazonCloudWatchAgent object, which shall be mounted into the Collector Pods. Each ConfigMap will be added to the Collector's Deployments as a volume named `configmap-`. + /// ConfigMaps is a list of ConfigMaps in the same namespace as the AmazonCloudWatchAgent + /// object, which shall be mounted into the Collector Pods. + /// Each ConfigMap will be added to the Collector's Deployments as a volume named `configmap-`. #[serde(default, skip_serializing_if = "Option::is_none")] pub configmaps: Option>, - /// ENV vars to set on the OpenTelemetry Collector's Pods. These can then in certain cases be consumed in the config file for the Collector. + /// ENV vars to set on the OpenTelemetry Collector's Pods. These can then in certain cases be + /// consumed in the config file for the Collector. #[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, - /// List of sources to populate environment variables on the OpenTelemetry Collector's Pods. These can then in certain cases be consumed in the config file for the Collector. + /// List of sources to populate environment variables on the OpenTelemetry Collector's Pods. + /// These can then in certain cases be consumed in the config file for the Collector. #[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")] pub env_from: Option>, /// HostNetwork indicates if the pod should run in the host networking namespace. @@ -56,50 +72,74 @@ pub struct AmazonCloudWatchAgentSpec { /// ImagePullPolicy indicates the pull policy to be used for retrieving the container image (Always, Never, IfNotPresent) #[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")] pub image_pull_policy: Option, - /// Ingress is used to specify how OpenTelemetry Collector is exposed. This functionality is only available if one of the valid modes is set. Valid modes are: deployment, daemonset and statefulset. + /// Ingress is used to specify how OpenTelemetry Collector is exposed. This + /// functionality is only available if one of the valid modes is set. + /// Valid modes are: deployment, daemonset and statefulset. #[serde(default, skip_serializing_if = "Option::is_none")] pub ingress: Option, - /// InitContainers allows injecting initContainers to the Collector's pod definition. These init containers can be used to fetch secrets for injection into the configuration from external sources, run added checks, etc. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ + /// InitContainers allows injecting initContainers to the Collector's pod definition. + /// These init containers can be used to fetch secrets for injection into the + /// configuration from external sources, run added checks, etc. Any errors during the execution of + /// an initContainer will lead to a restart of the Pod. More info: + /// https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ #[serde(default, skip_serializing_if = "Option::is_none", rename = "initContainers")] pub init_containers: Option>, /// Actions that the management system should take in response to container lifecycle events. Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none")] pub lifecycle: Option, - /// Liveness config for the OpenTelemetry Collector except the probe handler which is auto generated from the health extension of the collector. It is only effective when healthcheckextension is configured in the OpenTelemetry Collector pipeline. + /// Liveness config for the OpenTelemetry Collector except the probe handler which is auto generated from the health extension of the collector. + /// It is only effective when healthcheckextension is configured in the OpenTelemetry Collector pipeline. #[serde(default, skip_serializing_if = "Option::is_none", rename = "livenessProbe")] pub liveness_probe: Option, - /// ManagementState defines if the CR should be managed by the operator or not. Default is managed. + /// ManagementState defines if the CR should be managed by the operator or not. + /// Default is managed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "managementState")] pub management_state: Option, - /// MaxReplicas sets an upper bound to the autoscaling feature. If MaxReplicas is set autoscaling is enabled. Deprecated: use "AmazonCloudWatchAgent.Spec.Autoscaler.MaxReplicas" instead. + /// MaxReplicas sets an upper bound to the autoscaling feature. If MaxReplicas is set autoscaling is enabled. + /// Deprecated: use "AmazonCloudWatchAgent.Spec.Autoscaler.MaxReplicas" instead. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxReplicas")] pub max_replicas: Option, - /// MinReplicas sets a lower bound to the autoscaling feature. Set this if you are using autoscaling. It must be at least 1 Deprecated: use "AmazonCloudWatchAgent.Spec.Autoscaler.MinReplicas" instead. + /// MinReplicas sets a lower bound to the autoscaling feature. Set this if you are using autoscaling. It must be at least 1 + /// Deprecated: use "AmazonCloudWatchAgent.Spec.Autoscaler.MinReplicas" instead. #[serde(default, skip_serializing_if = "Option::is_none", rename = "minReplicas")] pub min_replicas: Option, /// Mode represents how the collector should be deployed (deployment, daemonset, statefulset or sidecar) #[serde(default, skip_serializing_if = "Option::is_none")] pub mode: Option, - /// NodeSelector to schedule OpenTelemetry Collector pods. This is only relevant to daemonset, statefulset, and deployment mode + /// NodeSelector to schedule OpenTelemetry Collector pods. + /// This is only relevant to daemonset, statefulset, and deployment mode #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, /// ObservabilitySpec defines how telemetry data gets handled. #[serde(default, skip_serializing_if = "Option::is_none")] pub observability: Option, - /// PodAnnotations is the set of annotations that will be attached to Collector and Target Allocator pods. + /// Config is the raw YAML to be used as the collector's configuration. Refer to the OpenTelemetry Collector documentation for details. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "otelConfig")] + pub otel_config: Option, + /// PodAnnotations is the set of annotations that will be attached to + /// Collector and Target Allocator pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAnnotations")] pub pod_annotations: Option>, - /// PodDisruptionBudget specifies the pod disruption budget configuration to use for the AmazonCloudWatchAgent workload. + /// PodDisruptionBudget specifies the pod disruption budget configuration to use + /// for the AmazonCloudWatchAgent workload. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podDisruptionBudget")] pub pod_disruption_budget: Option, - /// PodSecurityContext configures the pod security context for the amazon-cloudwatch-agent pod, when running as a deployment, daemonset, or statefulset. - /// In sidecar mode, the amazon-cloudwatch-agent-operator will ignore this setting. + /// PodSecurityContext configures the pod security context for the + /// amazon-cloudwatch-agent pod, when running as a deployment, daemonset, + /// or statefulset. + /// + /// + /// In sidecar mode, the amazon-cloudwatch-agent-operator will ignore this setting. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podSecurityContext")] pub pod_security_context: Option, - /// Ports allows a set of ports to be exposed by the underlying v1.Service. By default, the operator will attempt to infer the required ports by parsing the .Spec.Config property but this property can be used to open additional ports that can't be inferred by the operator, like for custom receivers. + /// Ports allows a set of ports to be exposed by the underlying v1.Service. By default, the operator + /// will attempt to infer the required ports by parsing the .Spec.Config property but this property can be + /// used to open additional ports that can't be inferred by the operator, like for custom receivers. #[serde(default, skip_serializing_if = "Option::is_none")] pub ports: Option>, - /// If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default. + /// If specified, indicates the pod's priority. + /// If not specified, the pod priority will be default or zero if there is no + /// default. #[serde(default, skip_serializing_if = "Option::is_none", rename = "priorityClassName")] pub priority_class_name: Option, /// Replicas is the number of pod instances for the underlying OpenTelemetry Collector. Set this if your are not using autoscaling @@ -108,24 +148,40 @@ pub struct AmazonCloudWatchAgentSpec { /// Resources to set on the OpenTelemetry Collector pods. #[serde(default, skip_serializing_if = "Option::is_none")] pub resources: Option, - /// SecurityContext configures the container security context for the amazon-cloudwatch-agent container. - /// In deployment, daemonset, or statefulset mode, this controls the security context settings for the primary application container. - /// In sidecar mode, this controls the security context for the injected sidecar container. + /// SecurityContext configures the container security context for + /// the amazon-cloudwatch-agent container. + /// + /// + /// In deployment, daemonset, or statefulset mode, this controls + /// the security context settings for the primary application + /// container. + /// + /// + /// In sidecar mode, this controls the security context for the + /// injected sidecar container. #[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")] pub security_context: Option, - /// ServiceAccount indicates the name of an existing service account to use with this instance. When set, the operator will not automatically create a ServiceAccount for the collector. + /// ServiceAccount indicates the name of an existing service account to use with this instance. When set, + /// the operator will not automatically create a ServiceAccount for the collector. #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")] pub service_account: Option, /// Duration in seconds the pod needs to terminate gracefully upon probe failure. #[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")] pub termination_grace_period_seconds: Option, - /// Toleration to schedule OpenTelemetry Collector pods. This is only relevant to daemonset, statefulset, and deployment mode + /// Toleration to schedule OpenTelemetry Collector pods. + /// This is only relevant to daemonset, statefulset, and deployment mode #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, - /// TopologySpreadConstraints embedded kubernetes pod configuration option, controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ This is only relevant to statefulset, and deployment mode + /// TopologySpreadConstraints embedded kubernetes pod configuration option, + /// controls how pods are spread across your cluster among failure-domains + /// such as regions, zones, nodes, and other user-defined topology domains + /// https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ + /// This is only relevant to statefulset, and deployment mode #[serde(default, skip_serializing_if = "Option::is_none", rename = "topologySpreadConstraints")] pub topology_spread_constraints: Option>, - /// UpdateStrategy represents the strategy the operator will take replacing existing DaemonSet pods with new pods https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/#DaemonSetSpec This is only applicable to Daemonset mode. + /// UpdateStrategy represents the strategy the operator will take replacing existing DaemonSet pods with new pods + /// https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/#DaemonSetSpec + /// This is only applicable to Daemonset mode. #[serde(default, skip_serializing_if = "Option::is_none", rename = "updateStrategy")] pub update_strategy: Option, /// UpgradeStrategy represents how the operator will handle upgrades to the CR when a newer version of the operator is deployed @@ -140,7 +196,9 @@ pub struct AmazonCloudWatchAgentSpec { /// Volumes represents which volumes to use in the underlying collector deployment(s). #[serde(default, skip_serializing_if = "Option::is_none")] pub volumes: Option>, - /// WorkingDir represents Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. + /// WorkingDir represents Container's working directory. If not specified, + /// the container runtime's default will be used, which might + /// be configured in the container image. Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")] pub working_dir: Option, } @@ -148,75 +206,166 @@ pub struct AmazonCloudWatchAgentSpec { /// A single application container that you want to run within a pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainers { - /// Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + /// Arguments to the entrypoint. + /// The container image's CMD is used if this is not provided. + /// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + /// cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + /// produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + /// of whether the variable exists or not. Cannot be updated. + /// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell #[serde(default, skip_serializing_if = "Option::is_none")] pub args: Option>, - /// Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + /// Entrypoint array. Not executed within a shell. + /// The container image's ENTRYPOINT is used if this is not provided. + /// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + /// cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + /// produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + /// of whether the variable exists or not. Cannot be updated. + /// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, - /// List of environment variables to set in the container. Cannot be updated. + /// List of environment variables to set in the container. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, - /// List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. + /// List of sources to populate environment variables in the container. + /// The keys defined within a source must be a C_IDENTIFIER. All invalid keys + /// will be reported as an event when the container is starting. When a key exists in multiple + /// sources, the value associated with the last source will take precedence. + /// Values defined by an Env with a duplicate key will take precedence. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")] pub env_from: Option>, - /// Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. + /// Container image name. + /// More info: https://kubernetes.io/docs/concepts/containers/images + /// This field is optional to allow higher level config management to default or override + /// container images in workload controllers like Deployments and StatefulSets. #[serde(default, skip_serializing_if = "Option::is_none")] pub image: Option, - /// Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + /// Image pull policy. + /// One of Always, Never, IfNotPresent. + /// Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. + /// Cannot be updated. + /// More info: https://kubernetes.io/docs/concepts/containers/images#updating-images #[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")] pub image_pull_policy: Option, - /// Actions that the management system should take in response to container lifecycle events. Cannot be updated. + /// Actions that the management system should take in response to container lifecycle events. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none")] pub lifecycle: Option, - /// Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Periodic probe of container liveness. + /// Container will be restarted if the probe fails. + /// Cannot be updated. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "livenessProbe")] pub liveness_probe: Option, - /// Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. + /// Name of the container specified as a DNS_LABEL. + /// Each container in a pod must have a unique name (DNS_LABEL). + /// Cannot be updated. pub name: String, - /// List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. + /// List of ports to expose from the container. Not specifying a port here + /// DOES NOT prevent that port from being exposed. Any port which is + /// listening on the default "0.0.0.0" address inside a container will be + /// accessible from the network. + /// Modifying this array with strategic merge patch may corrupt the data. + /// For more information See https://github.com/kubernetes/kubernetes/issues/108255. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none")] pub ports: Option>, - /// Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Periodic probe of container service readiness. + /// Container will be removed from service endpoints if the probe fails. + /// Cannot be updated. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessProbe")] pub readiness_probe: Option, /// Resources resize policy for the container. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resizePolicy")] pub resize_policy: Option>, - /// Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Compute Resources required by this container. + /// Cannot be updated. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub resources: Option, - /// RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is "Always". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as "Always" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy "Always" will be shut down. This lifecycle differs from normal init containers and is often referred to as a "sidecar" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed. + /// RestartPolicy defines the restart behavior of individual containers in a pod. + /// This field may only be set for init containers, and the only allowed value is "Always". + /// For non-init containers or when this field is not specified, + /// the restart behavior is defined by the Pod's restart policy and the container type. + /// Setting the RestartPolicy as "Always" for the init container will have the following effect: + /// this init container will be continually restarted on + /// exit until all regular containers have terminated. Once all regular + /// containers have completed, all init containers with restartPolicy "Always" + /// will be shut down. This lifecycle differs from normal init containers and + /// is often referred to as a "sidecar" container. Although this init + /// container still starts in the init container sequence, it does not wait + /// for the container to complete before proceeding to the next init + /// container. Instead, the next init container starts immediately after this + /// init container is started, or after any startupProbe has successfully + /// completed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")] pub restart_policy: Option, - /// SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + /// SecurityContext defines the security options the container should be run with. + /// If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. + /// More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ #[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")] pub security_context: Option, - /// StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// StartupProbe indicates that the Pod has successfully initialized. + /// If specified, no other probes are executed until this completes successfully. + /// If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. + /// This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, + /// when it might take a long time to load data or warm a cache, than during steady-state operation. + /// This cannot be updated. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "startupProbe")] pub startup_probe: Option, - /// Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. + /// Whether this container should allocate a buffer for stdin in the container runtime. If this + /// is not set, reads from stdin in the container will always result in EOF. + /// Default is false. #[serde(default, skip_serializing_if = "Option::is_none")] pub stdin: Option, - /// Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false + /// Whether the container runtime should close the stdin channel after it has been opened by + /// a single attach. When stdin is true the stdin stream will remain open across multiple attach + /// sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the + /// first client attaches to stdin, and then remains open and accepts data until the client disconnects, + /// at which time stdin is closed and remains closed until the container is restarted. If this + /// flag is false, a container processes that reads from stdin will never receive an EOF. + /// Default is false #[serde(default, skip_serializing_if = "Option::is_none", rename = "stdinOnce")] pub stdin_once: Option, - /// Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. + /// Optional: Path at which the file to which the container's termination message + /// will be written is mounted into the container's filesystem. + /// Message written is intended to be brief final status, such as an assertion failure message. + /// Will be truncated by the node if greater than 4096 bytes. The total message length across + /// all containers will be limited to 12kb. + /// Defaults to /dev/termination-log. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePath")] pub termination_message_path: Option, - /// Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. + /// Indicate how the termination message should be populated. File will use the contents of + /// terminationMessagePath to populate the container status message on both success and failure. + /// FallbackToLogsOnError will use the last chunk of container log output if the termination + /// message file is empty and the container exited with an error. + /// The log output is limited to 2048 bytes or 80 lines, whichever is smaller. + /// Defaults to File. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePolicy")] pub termination_message_policy: Option, - /// Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. + /// Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. + /// Default is false. #[serde(default, skip_serializing_if = "Option::is_none")] pub tty: Option, /// volumeDevices is the list of block devices to be used by the container. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeDevices")] pub volume_devices: Option>, - /// Pod volumes to mount into the container's filesystem. Cannot be updated. + /// Pod volumes to mount into the container's filesystem. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")] pub volume_mounts: Option>, - /// Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. + /// Container's working directory. + /// If not specified, the container runtime's default will be used, which + /// might be configured in the container image. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")] pub working_dir: Option, } @@ -226,7 +375,15 @@ pub struct AmazonCloudWatchAgentAdditionalContainers { pub struct AmazonCloudWatchAgentAdditionalContainersEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, - /// Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + /// Variable references $(VAR_NAME) are expanded + /// using the previously defined environment variables in the container and + /// any service environment variables. If a variable cannot be resolved, + /// the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + /// "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + /// Escaped references will never be expanded, regardless of whether the variable + /// exists or not. + /// Defaults to "". #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. @@ -240,10 +397,12 @@ pub struct AmazonCloudWatchAgentAdditionalContainersEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] pub config_map_key_ref: Option, - /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace @@ -256,7 +415,9 @@ pub struct AmazonCloudWatchAgentAdditionalContainersEnvValueFrom { pub struct AmazonCloudWatchAgentAdditionalContainersEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap or its key must be defined @@ -264,7 +425,8 @@ pub struct AmazonCloudWatchAgentAdditionalContainersEnvValueFromConfigMapKeyRef pub optional: Option, } -/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, +/// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -275,7 +437,8 @@ pub struct AmazonCloudWatchAgentAdditionalContainersEnvValueFromFieldRef { pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -293,7 +456,9 @@ pub struct AmazonCloudWatchAgentAdditionalContainersEnvValueFromResourceFieldRef pub struct AmazonCloudWatchAgentAdditionalContainersEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -318,7 +483,9 @@ pub struct AmazonCloudWatchAgentAdditionalContainersEnvFrom { /// The ConfigMap to select from #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersEnvFromConfigMapRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap must be defined @@ -329,7 +496,9 @@ pub struct AmazonCloudWatchAgentAdditionalContainersEnvFromConfigMapRef { /// The Secret to select from #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersEnvFromSecretRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret must be defined @@ -337,18 +506,33 @@ pub struct AmazonCloudWatchAgentAdditionalContainersEnvFromSecretRef { pub optional: Option, } -/// Actions that the management system should take in response to container lifecycle events. Cannot be updated. +/// Actions that the management system should take in response to container lifecycle events. +/// Cannot be updated. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLifecycle { - /// PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + /// PostStart is called immediately after a container is created. If the handler fails, + /// the container is terminated and restarted according to its restart policy. + /// Other management of the container blocks until the hook completes. + /// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks #[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")] pub post_start: Option, - /// PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + /// PreStop is called immediately before a container is terminated due to an + /// API request or management event such as liveness/startup probe failure, + /// preemption, resource contention, etc. The handler is not called if the + /// container crashes or exits. The Pod's termination grace period countdown begins before the + /// PreStop hook is executed. Regardless of the outcome of the handler, the + /// container will eventually terminate within the Pod's termination grace + /// period (unless delayed by finalizers). Other management of the container blocks until the hook completes + /// or until the termination grace period is reached. + /// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks #[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")] pub pre_stop: Option, } -/// PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +/// PostStart is called immediately after a container is created. If the handler fails, +/// the container is terminated and restarted according to its restart policy. +/// Other management of the container blocks until the hook completes. +/// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePostStart { /// Exec specifies the action to take. @@ -360,7 +544,9 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePostStart { /// Sleep represents the duration that the container should sleep before being terminated. #[serde(default, skip_serializing_if = "Option::is_none")] pub sleep: Option, - /// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + /// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept + /// for the backward compatibility. There are no validation of this field and + /// lifecycle hooks will fail in runtime when tcp handler is specified. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")] pub tcp_socket: Option, } @@ -368,7 +554,11 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePostStart { /// Exec specifies the action to take. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePostStartExec { - /// Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + /// Command is the command line to execute inside the container, the working directory for the + /// command is root ('/') in the container's filesystem. The command is simply exec'd, it is + /// not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + /// a shell, you need to explicitly call out to that shell. + /// Exit status of 0 is treated as live/healthy and non-zero is unhealthy. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, } @@ -376,7 +566,8 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePostStartExec { /// HTTPGet specifies the http request to perform. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePostStartHttpGet { - /// Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + /// Host name to connect to, defaults to the pod IP. You probably want to set + /// "Host" in httpHeaders instead. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, /// Custom headers to set in the request. HTTP allows repeated headers. @@ -385,9 +576,12 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePostStartHttpGet { /// Path to access on the HTTP server. #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, - /// Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Name or number of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, - /// Scheme to use for connecting to the host. Defaults to HTTP. + /// Scheme to use for connecting to the host. + /// Defaults to HTTP. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, } @@ -395,7 +589,8 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePostStartHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePostStartHttpGetHttpHeaders { - /// The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. + /// The header field name. + /// This will be canonicalized upon output, so case-variant names will be understood as the same header. pub name: String, /// The header field value pub value: String, @@ -408,17 +603,29 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePostStartSleep { pub seconds: i64, } -/// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. +/// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept +/// for the backward compatibility. There are no validation of this field and +/// lifecycle hooks will fail in runtime when tcp handler is specified. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePostStartTcpSocket { /// Optional: Host name to connect to, defaults to the pod IP. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, - /// Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Number or name of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, } -/// PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +/// PreStop is called immediately before a container is terminated due to an +/// API request or management event such as liveness/startup probe failure, +/// preemption, resource contention, etc. The handler is not called if the +/// container crashes or exits. The Pod's termination grace period countdown begins before the +/// PreStop hook is executed. Regardless of the outcome of the handler, the +/// container will eventually terminate within the Pod's termination grace +/// period (unless delayed by finalizers). Other management of the container blocks until the hook completes +/// or until the termination grace period is reached. +/// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePreStop { /// Exec specifies the action to take. @@ -430,7 +637,9 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePreStop { /// Sleep represents the duration that the container should sleep before being terminated. #[serde(default, skip_serializing_if = "Option::is_none")] pub sleep: Option, - /// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + /// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept + /// for the backward compatibility. There are no validation of this field and + /// lifecycle hooks will fail in runtime when tcp handler is specified. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")] pub tcp_socket: Option, } @@ -438,7 +647,11 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePreStop { /// Exec specifies the action to take. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePreStopExec { - /// Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + /// Command is the command line to execute inside the container, the working directory for the + /// command is root ('/') in the container's filesystem. The command is simply exec'd, it is + /// not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + /// a shell, you need to explicitly call out to that shell. + /// Exit status of 0 is treated as live/healthy and non-zero is unhealthy. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, } @@ -446,7 +659,8 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePreStopExec { /// HTTPGet specifies the http request to perform. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePreStopHttpGet { - /// Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + /// Host name to connect to, defaults to the pod IP. You probably want to set + /// "Host" in httpHeaders instead. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, /// Custom headers to set in the request. HTTP allows repeated headers. @@ -455,9 +669,12 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePreStopHttpGet { /// Path to access on the HTTP server. #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, - /// Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Name or number of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, - /// Scheme to use for connecting to the host. Defaults to HTTP. + /// Scheme to use for connecting to the host. + /// Defaults to HTTP. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, } @@ -465,7 +682,8 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePreStopHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePreStopHttpGetHttpHeaders { - /// The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. + /// The header field name. + /// This will be canonicalized upon output, so case-variant names will be understood as the same header. pub name: String, /// The header field value pub value: String, @@ -478,23 +696,31 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePreStopSleep { pub seconds: i64, } -/// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. +/// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept +/// for the backward compatibility. There are no validation of this field and +/// lifecycle hooks will fail in runtime when tcp handler is specified. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLifecyclePreStopTcpSocket { /// Optional: Host name to connect to, defaults to the pod IP. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, - /// Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Number or name of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, } -/// Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +/// Periodic probe of container liveness. +/// Container will be restarted if the probe fails. +/// Cannot be updated. +/// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLivenessProbe { /// Exec specifies the action to take. #[serde(default, skip_serializing_if = "Option::is_none")] pub exec: Option, - /// Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + /// Minimum consecutive failures for the probe to be considered failed after having succeeded. + /// Defaults to 3. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")] pub failure_threshold: Option, /// GRPC specifies an action involving a GRPC port. @@ -503,22 +729,36 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLivenessProbe { /// HTTPGet specifies the http request to perform. #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")] pub http_get: Option, - /// Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Number of seconds after the container has started before liveness probes are initiated. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")] pub initial_delay_seconds: Option, - /// How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + /// How often (in seconds) to perform the probe. + /// Default to 10 seconds. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")] pub period_seconds: Option, - /// Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + /// Minimum consecutive successes for the probe to be considered successful after having failed. + /// Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")] pub success_threshold: Option, /// TCPSocket specifies an action involving a TCP port. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")] pub tcp_socket: Option, - /// Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + /// Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + /// The grace period is the duration in seconds after the processes running in the pod are sent + /// a termination signal and the time when the processes are forcibly halted with a kill signal. + /// Set this value longer than the expected cleanup time for your process. + /// If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + /// value overrides the value provided by the pod spec. + /// Value must be non-negative integer. The value zero indicates stop immediately via + /// the kill signal (no opportunity to shut down). + /// This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + /// Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. #[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")] pub termination_grace_period_seconds: Option, - /// Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Number of seconds after which the probe times out. + /// Defaults to 1 second. Minimum value is 1. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")] pub timeout_seconds: Option, } @@ -526,7 +766,11 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLivenessProbe { /// Exec specifies the action to take. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLivenessProbeExec { - /// Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + /// Command is the command line to execute inside the container, the working directory for the + /// command is root ('/') in the container's filesystem. The command is simply exec'd, it is + /// not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + /// a shell, you need to explicitly call out to that shell. + /// Exit status of 0 is treated as live/healthy and non-zero is unhealthy. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, } @@ -536,8 +780,11 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLivenessProbeExec { pub struct AmazonCloudWatchAgentAdditionalContainersLivenessProbeGrpc { /// Port number of the gRPC service. Number must be in the range 1 to 65535. pub port: i32, - /// Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - /// If this is not specified, the default behavior is defined by gRPC. + /// Service is the name of the service to place in the gRPC HealthCheckRequest + /// (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + /// + /// + /// If this is not specified, the default behavior is defined by gRPC. #[serde(default, skip_serializing_if = "Option::is_none")] pub service: Option, } @@ -545,7 +792,8 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLivenessProbeGrpc { /// HTTPGet specifies the http request to perform. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLivenessProbeHttpGet { - /// Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + /// Host name to connect to, defaults to the pod IP. You probably want to set + /// "Host" in httpHeaders instead. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, /// Custom headers to set in the request. HTTP allows repeated headers. @@ -554,9 +802,12 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLivenessProbeHttpGet { /// Path to access on the HTTP server. #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, - /// Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Name or number of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, - /// Scheme to use for connecting to the host. Defaults to HTTP. + /// Scheme to use for connecting to the host. + /// Defaults to HTTP. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, } @@ -564,7 +815,8 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLivenessProbeHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersLivenessProbeHttpGetHttpHeaders { - /// The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. + /// The header field name. + /// This will be canonicalized upon output, so case-variant names will be understood as the same header. pub name: String, /// The header field value pub value: String, @@ -576,37 +828,50 @@ pub struct AmazonCloudWatchAgentAdditionalContainersLivenessProbeTcpSocket { /// Optional: Host name to connect to, defaults to the pod IP. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, - /// Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Number or name of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, } /// ContainerPort represents a network port in a single container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersPorts { - /// Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536. + /// Number of port to expose on the pod's IP address. + /// This must be a valid port number, 0 < x < 65536. #[serde(rename = "containerPort")] pub container_port: i32, /// What host IP to bind the external port to. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIP")] pub host_ip: Option, - /// Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. + /// Number of port to expose on the host. + /// If specified, this must be a valid port number, 0 < x < 65536. + /// If HostNetwork is specified, this must match ContainerPort. + /// Most containers do not need this. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPort")] pub host_port: Option, - /// If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. + /// If specified, this must be an IANA_SVC_NAME and unique within the pod. Each + /// named port in a pod must have a unique name. Name for the port that can be + /// referred to by services. #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, - /// Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP". + /// Protocol for port. Must be UDP, TCP, or SCTP. + /// Defaults to "TCP". #[serde(default, skip_serializing_if = "Option::is_none")] pub protocol: Option, } -/// Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +/// Periodic probe of container service readiness. +/// Container will be removed from service endpoints if the probe fails. +/// Cannot be updated. +/// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersReadinessProbe { /// Exec specifies the action to take. #[serde(default, skip_serializing_if = "Option::is_none")] pub exec: Option, - /// Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + /// Minimum consecutive failures for the probe to be considered failed after having succeeded. + /// Defaults to 3. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")] pub failure_threshold: Option, /// GRPC specifies an action involving a GRPC port. @@ -615,22 +880,36 @@ pub struct AmazonCloudWatchAgentAdditionalContainersReadinessProbe { /// HTTPGet specifies the http request to perform. #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")] pub http_get: Option, - /// Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Number of seconds after the container has started before liveness probes are initiated. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")] pub initial_delay_seconds: Option, - /// How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + /// How often (in seconds) to perform the probe. + /// Default to 10 seconds. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")] pub period_seconds: Option, - /// Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + /// Minimum consecutive successes for the probe to be considered successful after having failed. + /// Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")] pub success_threshold: Option, /// TCPSocket specifies an action involving a TCP port. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")] pub tcp_socket: Option, - /// Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + /// Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + /// The grace period is the duration in seconds after the processes running in the pod are sent + /// a termination signal and the time when the processes are forcibly halted with a kill signal. + /// Set this value longer than the expected cleanup time for your process. + /// If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + /// value overrides the value provided by the pod spec. + /// Value must be non-negative integer. The value zero indicates stop immediately via + /// the kill signal (no opportunity to shut down). + /// This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + /// Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. #[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")] pub termination_grace_period_seconds: Option, - /// Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Number of seconds after which the probe times out. + /// Defaults to 1 second. Minimum value is 1. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")] pub timeout_seconds: Option, } @@ -638,7 +917,11 @@ pub struct AmazonCloudWatchAgentAdditionalContainersReadinessProbe { /// Exec specifies the action to take. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersReadinessProbeExec { - /// Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + /// Command is the command line to execute inside the container, the working directory for the + /// command is root ('/') in the container's filesystem. The command is simply exec'd, it is + /// not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + /// a shell, you need to explicitly call out to that shell. + /// Exit status of 0 is treated as live/healthy and non-zero is unhealthy. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, } @@ -648,8 +931,11 @@ pub struct AmazonCloudWatchAgentAdditionalContainersReadinessProbeExec { pub struct AmazonCloudWatchAgentAdditionalContainersReadinessProbeGrpc { /// Port number of the gRPC service. Number must be in the range 1 to 65535. pub port: i32, - /// Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - /// If this is not specified, the default behavior is defined by gRPC. + /// Service is the name of the service to place in the gRPC HealthCheckRequest + /// (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + /// + /// + /// If this is not specified, the default behavior is defined by gRPC. #[serde(default, skip_serializing_if = "Option::is_none")] pub service: Option, } @@ -657,7 +943,8 @@ pub struct AmazonCloudWatchAgentAdditionalContainersReadinessProbeGrpc { /// HTTPGet specifies the http request to perform. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersReadinessProbeHttpGet { - /// Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + /// Host name to connect to, defaults to the pod IP. You probably want to set + /// "Host" in httpHeaders instead. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, /// Custom headers to set in the request. HTTP allows repeated headers. @@ -666,9 +953,12 @@ pub struct AmazonCloudWatchAgentAdditionalContainersReadinessProbeHttpGet { /// Path to access on the HTTP server. #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, - /// Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Name or number of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, - /// Scheme to use for connecting to the host. Defaults to HTTP. + /// Scheme to use for connecting to the host. + /// Defaults to HTTP. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, } @@ -676,7 +966,8 @@ pub struct AmazonCloudWatchAgentAdditionalContainersReadinessProbeHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersReadinessProbeHttpGetHttpHeaders { - /// The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. + /// The header field name. + /// This will be canonicalized upon output, so case-variant names will be understood as the same header. pub name: String, /// The header field value pub value: String, @@ -688,33 +979,49 @@ pub struct AmazonCloudWatchAgentAdditionalContainersReadinessProbeTcpSocket { /// Optional: Host name to connect to, defaults to the pod IP. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, - /// Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Number or name of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, } /// ContainerResizePolicy represents resource resize policy for the container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersResizePolicy { - /// Name of the resource to which this resource resize policy applies. Supported values: cpu, memory. + /// Name of the resource to which this resource resize policy applies. + /// Supported values: cpu, memory. #[serde(rename = "resourceName")] pub resource_name: String, - /// Restart policy to apply when specified resource is resized. If not specified, it defaults to NotRequired. + /// Restart policy to apply when specified resource is resized. + /// If not specified, it defaults to NotRequired. #[serde(rename = "restartPolicy")] pub restart_policy: String, } -/// Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ +/// Compute Resources required by this container. +/// Cannot be updated. +/// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersResources { - /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. - /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. - /// This field is immutable. It can only be set for containers. + /// Claims lists the names of resources, defined in spec.resourceClaims, + /// that are used by this container. + /// + /// + /// This is an alpha field and requires enabling the + /// DynamicResourceAllocation feature gate. + /// + /// + /// This field is immutable. It can only be set for containers. #[serde(default, skip_serializing_if = "Option::is_none")] pub claims: Option>, - /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Limits describes the maximum amount of compute resources allowed. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, - /// Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Requests describes the minimum amount of compute resources required. + /// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + /// otherwise to an implementation-defined value. Requests cannot exceed Limits. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub requests: Option>, } @@ -722,49 +1029,95 @@ pub struct AmazonCloudWatchAgentAdditionalContainersResources { /// ResourceClaim references one entry in PodSpec.ResourceClaims. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersResourcesClaims { - /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + /// Name must match the name of one entry in pod.spec.resourceClaims of + /// the Pod where this field is used. It makes that resource available + /// inside a container. pub name: String, } -/// SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +/// SecurityContext defines the security options the container should be run with. +/// If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. +/// More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersSecurityContext { - /// AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows. + /// AllowPrivilegeEscalation controls whether a process can gain more + /// privileges than its parent process. This bool directly controls if + /// the no_new_privs flag will be set on the container process. + /// AllowPrivilegeEscalation is true always when the container is: + /// 1) run as Privileged + /// 2) has CAP_SYS_ADMIN + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")] pub allow_privilege_escalation: Option, - /// The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + /// The capabilities to add/drop when running containers. + /// Defaults to the default set of capabilities granted by the container runtime. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none")] pub capabilities: Option, - /// Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows. + /// Run container in privileged mode. + /// Processes in privileged containers are essentially equivalent to root on the host. + /// Defaults to false. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none")] pub privileged: Option, - /// procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. + /// procMount denotes the type of proc mount to use for the containers. + /// The default is DefaultProcMount which uses the container runtime defaults for + /// readonly paths and masked paths. + /// This requires the ProcMountType feature flag to be enabled. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")] pub proc_mount: Option, - /// Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows. + /// Whether this container has a read-only root filesystem. + /// Default is false. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")] pub read_only_root_filesystem: Option, - /// The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + /// The GID to run the entrypoint of the container process. + /// Uses runtime default if unset. + /// May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")] pub run_as_group: Option, - /// Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Indicates that the container must run as a non-root user. + /// If true, the Kubelet will validate the image at runtime to ensure that it + /// does not run as UID 0 (root) and fail to start the container if it does. + /// If unset or false, no such validation will be performed. + /// May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")] pub run_as_non_root: Option, - /// The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + /// The UID to run the entrypoint of the container process. + /// Defaults to user specified in image metadata if unspecified. + /// May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")] pub run_as_user: Option, - /// The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + /// The SELinux context to be applied to the container. + /// If unspecified, the container runtime will allocate a random SELinux context for each + /// container. May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")] pub se_linux_options: Option, - /// The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + /// The seccomp options to use by this container. If seccomp options are + /// provided at both the pod & container level, the container options + /// override the pod options. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")] pub seccomp_profile: Option, - /// The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + /// The Windows specific settings applied to all containers. + /// If unspecified, the options from the PodSecurityContext will be used. + /// If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Note that this field cannot be set when spec.os.name is linux. #[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")] pub windows_options: Option, } -/// The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. +/// The capabilities to add/drop when running containers. +/// Defaults to the default set of capabilities granted by the container runtime. +/// Note that this field cannot be set when spec.os.name is windows. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersSecurityContextCapabilities { /// Added capabilities @@ -775,7 +1128,11 @@ pub struct AmazonCloudWatchAgentAdditionalContainersSecurityContextCapabilities pub drop: Option>, } -/// The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. +/// The SELinux context to be applied to the container. +/// If unspecified, the container runtime will allocate a random SELinux context for each +/// container. May also be set in PodSecurityContext. If set in both SecurityContext and +/// PodSecurityContext, the value specified in SecurityContext takes precedence. +/// Note that this field cannot be set when spec.os.name is windows. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersSecurityContextSeLinuxOptions { /// Level is SELinux level label that applies to the container. @@ -792,42 +1149,71 @@ pub struct AmazonCloudWatchAgentAdditionalContainersSecurityContextSeLinuxOption pub user: Option, } -/// The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. +/// The seccomp options to use by this container. If seccomp options are +/// provided at both the pod & container level, the container options +/// override the pod options. +/// Note that this field cannot be set when spec.os.name is windows. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersSecurityContextSeccompProfile { - /// localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is "Localhost". Must NOT be set for any other type. + /// localhostProfile indicates a profile defined in a file on the node should be used. + /// The profile must be preconfigured on the node to work. + /// Must be a descending path, relative to the kubelet's configured seccomp profile location. + /// Must be set if type is "Localhost". Must NOT be set for any other type. #[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")] pub localhost_profile: Option, - /// type indicates which kind of seccomp profile will be applied. Valid options are: - /// Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + /// type indicates which kind of seccomp profile will be applied. + /// Valid options are: + /// + /// + /// Localhost - a profile defined in a file on the node should be used. + /// RuntimeDefault - the container runtime default profile should be used. + /// Unconfined - no profile should be applied. #[serde(rename = "type")] pub r#type: String, } -/// The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. +/// The Windows specific settings applied to all containers. +/// If unspecified, the options from the PodSecurityContext will be used. +/// If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +/// Note that this field cannot be set when spec.os.name is linux. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersSecurityContextWindowsOptions { - /// GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + /// GMSACredentialSpec is where the GMSA admission webhook + /// (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + /// GMSA credential spec named by the GMSACredentialSpecName field. #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")] pub gmsa_credential_spec: Option, /// GMSACredentialSpecName is the name of the GMSA credential spec to use. #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")] pub gmsa_credential_spec_name: Option, - /// HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + /// HostProcess determines if a container should be run as a 'Host Process' container. + /// All of a Pod's containers must have the same effective HostProcess value + /// (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + /// In addition, if HostProcess is true then HostNetwork must also be set to true. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")] pub host_process: Option, - /// The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + /// The UserName in Windows to run the entrypoint of the container process. + /// Defaults to the user specified in image metadata if unspecified. + /// May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")] pub run_as_user_name: Option, } -/// StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +/// StartupProbe indicates that the Pod has successfully initialized. +/// If specified, no other probes are executed until this completes successfully. +/// If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. +/// This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, +/// when it might take a long time to load data or warm a cache, than during steady-state operation. +/// This cannot be updated. +/// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersStartupProbe { /// Exec specifies the action to take. #[serde(default, skip_serializing_if = "Option::is_none")] pub exec: Option, - /// Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + /// Minimum consecutive failures for the probe to be considered failed after having succeeded. + /// Defaults to 3. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")] pub failure_threshold: Option, /// GRPC specifies an action involving a GRPC port. @@ -836,22 +1222,36 @@ pub struct AmazonCloudWatchAgentAdditionalContainersStartupProbe { /// HTTPGet specifies the http request to perform. #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")] pub http_get: Option, - /// Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Number of seconds after the container has started before liveness probes are initiated. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")] pub initial_delay_seconds: Option, - /// How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + /// How often (in seconds) to perform the probe. + /// Default to 10 seconds. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")] pub period_seconds: Option, - /// Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + /// Minimum consecutive successes for the probe to be considered successful after having failed. + /// Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")] pub success_threshold: Option, /// TCPSocket specifies an action involving a TCP port. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")] pub tcp_socket: Option, - /// Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + /// Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + /// The grace period is the duration in seconds after the processes running in the pod are sent + /// a termination signal and the time when the processes are forcibly halted with a kill signal. + /// Set this value longer than the expected cleanup time for your process. + /// If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + /// value overrides the value provided by the pod spec. + /// Value must be non-negative integer. The value zero indicates stop immediately via + /// the kill signal (no opportunity to shut down). + /// This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + /// Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. #[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")] pub termination_grace_period_seconds: Option, - /// Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Number of seconds after which the probe times out. + /// Defaults to 1 second. Minimum value is 1. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")] pub timeout_seconds: Option, } @@ -859,7 +1259,11 @@ pub struct AmazonCloudWatchAgentAdditionalContainersStartupProbe { /// Exec specifies the action to take. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersStartupProbeExec { - /// Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + /// Command is the command line to execute inside the container, the working directory for the + /// command is root ('/') in the container's filesystem. The command is simply exec'd, it is + /// not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + /// a shell, you need to explicitly call out to that shell. + /// Exit status of 0 is treated as live/healthy and non-zero is unhealthy. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, } @@ -869,8 +1273,11 @@ pub struct AmazonCloudWatchAgentAdditionalContainersStartupProbeExec { pub struct AmazonCloudWatchAgentAdditionalContainersStartupProbeGrpc { /// Port number of the gRPC service. Number must be in the range 1 to 65535. pub port: i32, - /// Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - /// If this is not specified, the default behavior is defined by gRPC. + /// Service is the name of the service to place in the gRPC HealthCheckRequest + /// (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + /// + /// + /// If this is not specified, the default behavior is defined by gRPC. #[serde(default, skip_serializing_if = "Option::is_none")] pub service: Option, } @@ -878,7 +1285,8 @@ pub struct AmazonCloudWatchAgentAdditionalContainersStartupProbeGrpc { /// HTTPGet specifies the http request to perform. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersStartupProbeHttpGet { - /// Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + /// Host name to connect to, defaults to the pod IP. You probably want to set + /// "Host" in httpHeaders instead. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, /// Custom headers to set in the request. HTTP allows repeated headers. @@ -887,9 +1295,12 @@ pub struct AmazonCloudWatchAgentAdditionalContainersStartupProbeHttpGet { /// Path to access on the HTTP server. #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, - /// Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Name or number of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, - /// Scheme to use for connecting to the host. Defaults to HTTP. + /// Scheme to use for connecting to the host. + /// Defaults to HTTP. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, } @@ -897,7 +1308,8 @@ pub struct AmazonCloudWatchAgentAdditionalContainersStartupProbeHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersStartupProbeHttpGetHttpHeaders { - /// The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. + /// The header field name. + /// This will be canonicalized upon output, so case-variant names will be understood as the same header. pub name: String, /// The header field value pub value: String, @@ -909,7 +1321,9 @@ pub struct AmazonCloudWatchAgentAdditionalContainersStartupProbeTcpSocket { /// Optional: Host name to connect to, defaults to the pod IP. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, - /// Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Number or name of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, } @@ -926,21 +1340,30 @@ pub struct AmazonCloudWatchAgentAdditionalContainersVolumeDevices { /// VolumeMount describes a mounting of a Volume within a container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAdditionalContainersVolumeMounts { - /// Path within the container at which the volume should be mounted. Must not contain ':'. + /// Path within the container at which the volume should be mounted. Must + /// not contain ':'. #[serde(rename = "mountPath")] pub mount_path: String, - /// mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + /// mountPropagation determines how mounts are propagated from the host + /// to container and the other way around. + /// When not set, MountPropagationNone is used. + /// This field is beta in 1.10. #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")] pub mount_propagation: Option, /// This must match the Name of a Volume. pub name: String, - /// Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. + /// Mounted read-only if true, read-write otherwise (false or unspecified). + /// Defaults to false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + /// Path within the volume from which the container's volume should be mounted. + /// Defaults to "" (volume's root). #[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")] pub sub_path: Option, - /// Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive. + /// Expanded path within the volume from which the container's volume should be mounted. + /// Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + /// Defaults to "" (volume's root). + /// SubPathExpr and SubPath are mutually exclusive. #[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")] pub sub_path_expr: Option, } @@ -962,15 +1385,28 @@ pub struct AmazonCloudWatchAgentAffinity { /// Describes node affinity scheduling rules for the pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityNodeAffinity { - /// The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. + /// The scheduler will prefer to schedule pods to nodes that satisfy + /// the affinity expressions specified by this field, but it may choose + /// a node that violates one or more of the expressions. The node that is + /// most preferred is the one with the greatest sum of weights, i.e. + /// for each node that meets all of the scheduling requirements (resource + /// request, requiredDuringScheduling affinity expressions, etc.), + /// compute a sum by iterating through the elements of this field and adding + /// "weight" to the sum if the node matches the corresponding matchExpressions; the + /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] pub preferred_during_scheduling_ignored_during_execution: Option>, - /// If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. + /// If the affinity requirements specified by this field are not met at + /// scheduling time, the pod will not be scheduled onto the node. + /// If the affinity requirements specified by this field cease to be met + /// at some point during pod execution (e.g. due to an update), the system + /// may or may not try to eventually evict the pod from its node. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] pub required_during_scheduling_ignored_during_execution: Option, } -/// An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). +/// An empty preferred scheduling term matches all objects with implicit weight 0 +/// (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { /// A node selector term, associated with the corresponding weight. @@ -990,31 +1426,47 @@ pub struct AmazonCloudWatchAgentAffinityNodeAffinityPreferredDuringSchedulingIgn pub match_fields: Option>, } -/// A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A node selector requirement is a selector that contains values, a key, and an operator +/// that relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { /// The label key that the selector applies to. pub key: String, - /// Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + /// Represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. pub operator: String, - /// An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + /// An array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. If the operator is Gt or Lt, the values + /// array must have a single element, which will be interpreted as an integer. + /// This array is replaced during a strategic merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A node selector requirement is a selector that contains values, a key, and an operator +/// that relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { /// The label key that the selector applies to. pub key: String, - /// Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + /// Represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. pub operator: String, - /// An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + /// An array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. If the operator is Gt or Lt, the values + /// array must have a single element, which will be interpreted as an integer. + /// This array is replaced during a strategic merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. +/// If the affinity requirements specified by this field are not met at +/// scheduling time, the pod will not be scheduled onto the node. +/// If the affinity requirements specified by this field cease to be met +/// at some point during pod execution (e.g. due to an update), the system +/// may or may not try to eventually evict the pod from its node. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { /// Required. A list of node selector terms. The terms are ORed. @@ -1022,7 +1474,9 @@ pub struct AmazonCloudWatchAgentAffinityNodeAffinityRequiredDuringSchedulingIgno pub node_selector_terms: Vec, } -/// A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. +/// A null or empty node selector term matches no objects. The requirements of +/// them are ANDed. +/// The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { /// A list of node selector requirements by node's labels. @@ -1033,26 +1487,38 @@ pub struct AmazonCloudWatchAgentAffinityNodeAffinityRequiredDuringSchedulingIgno pub match_fields: Option>, } -/// A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A node selector requirement is a selector that contains values, a key, and an operator +/// that relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { /// The label key that the selector applies to. pub key: String, - /// Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + /// Represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. pub operator: String, - /// An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + /// An array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. If the operator is Gt or Lt, the values + /// array must have a single element, which will be interpreted as an integer. + /// This array is replaced during a strategic merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A node selector requirement is a selector that contains values, a key, and an operator +/// that relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { /// The label key that the selector applies to. pub key: String, - /// Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. + /// Represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. pub operator: String, - /// An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. + /// An array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. If the operator is Gt or Lt, the values + /// array must have a single element, which will be interpreted as an integer. + /// This array is replaced during a strategic merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -1060,10 +1526,24 @@ pub struct AmazonCloudWatchAgentAffinityNodeAffinityRequiredDuringSchedulingIgno /// Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAffinity { - /// The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + /// The scheduler will prefer to schedule pods to nodes that satisfy + /// the affinity expressions specified by this field, but it may choose + /// a node that violates one or more of the expressions. The node that is + /// most preferred is the one with the greatest sum of weights, i.e. + /// for each node that meets all of the scheduling requirements (resource + /// request, requiredDuringScheduling affinity expressions, etc.), + /// compute a sum by iterating through the elements of this field and adding + /// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] pub preferred_during_scheduling_ignored_during_execution: Option>, - /// If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + /// If the affinity requirements specified by this field are not met at + /// scheduling time, the pod will not be scheduled onto the node. + /// If the affinity requirements specified by this field cease to be met + /// at some point during pod execution (e.g. due to a pod label update), the + /// system may or may not try to eventually evict the pod from its node. + /// When there are multiple elements, the lists of nodes corresponding to each + /// podAffinityTerm are intersected, i.e. all terms must be satisfied. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] pub required_during_scheduling_ignored_during_execution: Option>, } @@ -1074,144 +1554,244 @@ pub struct AmazonCloudWatchAgentAffinityPodAffinityPreferredDuringSchedulingIgno /// Required. A pod affinity term, associated with the corresponding weight. #[serde(rename = "podAffinityTerm")] pub pod_affinity_term: AmazonCloudWatchAgentAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, - /// weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + /// weight associated with matching the corresponding podAffinityTerm, + /// in the range 1-100. pub weight: i32, } /// Required. A pod affinity term, associated with the corresponding weight. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { - /// A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. + /// A label query over a set of resources, in this case pods. + /// If it's null, this PodAffinityTerm matches with no Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. Also, MatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + /// MatchLabelKeys is a set of pod label keys to select which pods will + /// be taken into consideration. The keys are used to lookup values from the + /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` + /// to select the group of existing pods which pods will be taken into consideration + /// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + /// pod labels will be ignored. The default value is empty. + /// The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. + /// Also, MatchLabelKeys cannot be set when LabelSelector isn't set. + /// This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")] pub match_label_keys: Option>, - /// MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + /// MismatchLabelKeys is a set of pod label keys to select which pods will + /// be taken into consideration. The keys are used to lookup values from the + /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` + /// to select the group of existing pods which pods will be taken into consideration + /// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + /// pod labels will be ignored. The default value is empty. + /// The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. + /// Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. + /// This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. #[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")] pub mismatch_label_keys: Option>, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. +/// A label query over a set of resources, in this case pods. +/// If it's null, this PodAffinityTerm matches with no Pods. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running +/// Defines a set of pods (namely those matching the labelSelector +/// relative to the given namespace(s)) that this pod should be +/// co-located (affinity) or not co-located (anti-affinity) with, +/// where co-located is defined as running on a node whose value of +/// the label with key matches that of any node on which +/// a pod of the set of pods is running #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution { - /// A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. + /// A label query over a set of resources, in this case pods. + /// If it's null, this PodAffinityTerm matches with no Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. Also, MatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + /// MatchLabelKeys is a set of pod label keys to select which pods will + /// be taken into consideration. The keys are used to lookup values from the + /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` + /// to select the group of existing pods which pods will be taken into consideration + /// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + /// pod labels will be ignored. The default value is empty. + /// The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. + /// Also, MatchLabelKeys cannot be set when LabelSelector isn't set. + /// This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")] pub match_label_keys: Option>, - /// MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + /// MismatchLabelKeys is a set of pod label keys to select which pods will + /// be taken into consideration. The keys are used to lookup values from the + /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` + /// to select the group of existing pods which pods will be taken into consideration + /// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + /// pod labels will be ignored. The default value is empty. + /// The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. + /// Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. + /// This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. #[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")] pub mismatch_label_keys: Option>, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. +/// A label query over a set of resources, in this case pods. +/// If it's null, this PodAffinityTerm matches with no Pods. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -1219,10 +1799,24 @@ pub struct AmazonCloudWatchAgentAffinityPodAffinityRequiredDuringSchedulingIgnor /// Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAntiAffinity { - /// The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. + /// The scheduler will prefer to schedule pods to nodes that satisfy + /// the anti-affinity expressions specified by this field, but it may choose + /// a node that violates one or more of the expressions. The node that is + /// most preferred is the one with the greatest sum of weights, i.e. + /// for each node that meets all of the scheduling requirements (resource + /// request, requiredDuringScheduling anti-affinity expressions, etc.), + /// compute a sum by iterating through the elements of this field and adding + /// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the + /// node(s) with the highest sum are the most preferred. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] pub preferred_during_scheduling_ignored_during_execution: Option>, - /// If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + /// If the anti-affinity requirements specified by this field are not met at + /// scheduling time, the pod will not be scheduled onto the node. + /// If the anti-affinity requirements specified by this field cease to be met + /// at some point during pod execution (e.g. due to a pod label update), the + /// system may or may not try to eventually evict the pod from its node. + /// When there are multiple elements, the lists of nodes corresponding to each + /// podAffinityTerm are intersected, i.e. all terms must be satisfied. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] pub required_during_scheduling_ignored_during_execution: Option>, } @@ -1233,164 +1827,269 @@ pub struct AmazonCloudWatchAgentAffinityPodAntiAffinityPreferredDuringScheduling /// Required. A pod affinity term, associated with the corresponding weight. #[serde(rename = "podAffinityTerm")] pub pod_affinity_term: AmazonCloudWatchAgentAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm, - /// weight associated with matching the corresponding podAffinityTerm, in the range 1-100. + /// weight associated with matching the corresponding podAffinityTerm, + /// in the range 1-100. pub weight: i32, } /// Required. A pod affinity term, associated with the corresponding weight. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { - /// A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. + /// A label query over a set of resources, in this case pods. + /// If it's null, this PodAffinityTerm matches with no Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. Also, MatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + /// MatchLabelKeys is a set of pod label keys to select which pods will + /// be taken into consideration. The keys are used to lookup values from the + /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` + /// to select the group of existing pods which pods will be taken into consideration + /// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + /// pod labels will be ignored. The default value is empty. + /// The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. + /// Also, MatchLabelKeys cannot be set when LabelSelector isn't set. + /// This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")] pub match_label_keys: Option>, - /// MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + /// MismatchLabelKeys is a set of pod label keys to select which pods will + /// be taken into consideration. The keys are used to lookup values from the + /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` + /// to select the group of existing pods which pods will be taken into consideration + /// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + /// pod labels will be ignored. The default value is empty. + /// The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. + /// Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. + /// This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. #[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")] pub mismatch_label_keys: Option>, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. +/// A label query over a set of resources, in this case pods. +/// If it's null, this PodAffinityTerm matches with no Pods. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running +/// Defines a set of pods (namely those matching the labelSelector +/// relative to the given namespace(s)) that this pod should be +/// co-located (affinity) or not co-located (anti-affinity) with, +/// where co-located is defined as running on a node whose value of +/// the label with key matches that of any node on which +/// a pod of the set of pods is running #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { - /// A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. + /// A label query over a set of resources, in this case pods. + /// If it's null, this PodAffinityTerm matches with no Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. Also, MatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + /// MatchLabelKeys is a set of pod label keys to select which pods will + /// be taken into consideration. The keys are used to lookup values from the + /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key in (value)` + /// to select the group of existing pods which pods will be taken into consideration + /// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + /// pod labels will be ignored. The default value is empty. + /// The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. + /// Also, MatchLabelKeys cannot be set when LabelSelector isn't set. + /// This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")] pub match_label_keys: Option>, - /// MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + /// MismatchLabelKeys is a set of pod label keys to select which pods will + /// be taken into consideration. The keys are used to lookup values from the + /// incoming pod labels, those key-value labels are merged with `LabelSelector` as `key notin (value)` + /// to select the group of existing pods which pods will be taken into consideration + /// for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming + /// pod labels will be ignored. The default value is empty. + /// The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector. + /// Also, MismatchLabelKeys cannot be set when LabelSelector isn't set. + /// This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. #[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")] pub mismatch_label_keys: Option>, - /// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. + /// A label query over the set of namespaces that the term applies to. + /// The term is applied to the union of the namespaces selected by this field + /// and the ones listed in the namespaces field. + /// null selector and null or empty namespaces list means "this pod's namespace". + /// An empty selector ({}) matches all namespaces. #[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")] pub namespace_selector: Option, - /// namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". + /// namespaces specifies a static list of namespace names that the term applies to. + /// The term is applied to the union of the namespaces listed in this field + /// and the ones selected by namespaceSelector. + /// null or empty namespaces list and null namespaceSelector means "this pod's namespace". #[serde(default, skip_serializing_if = "Option::is_none")] pub namespaces: Option>, - /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. + /// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching + /// the labelSelector in the specified namespaces, where co-located is defined as running on a node + /// whose value of the label with key topologyKey matches that of any node on which any of the + /// selected pods is running. + /// Empty topologyKey is not allowed. #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. +/// A label query over a set of resources, in this case pods. +/// If it's null, this PodAffinityTerm matches with no Pods. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. +/// A label query over the set of namespaces that the term applies to. +/// The term is applied to the union of the namespaces selected by this field +/// and the ones listed in the namespaces field. +/// null selector and null or empty namespaces list means "this pod's namespace". +/// An empty selector ({}) matches all namespaces. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// Autoscaler specifies the pod autoscaling configuration to use for the AmazonCloudWatchAgent workload. +/// Autoscaler specifies the pod autoscaling configuration to use +/// for the AmazonCloudWatchAgent workload. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAutoscaler { - /// HorizontalPodAutoscalerBehavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively). + /// HorizontalPodAutoscalerBehavior configures the scaling behavior of the target + /// in both Up and Down directions (scaleUp and scaleDown fields respectively). #[serde(default, skip_serializing_if = "Option::is_none")] pub behavior: Option, /// MaxReplicas sets an upper bound to the autoscaling feature. If MaxReplicas is set autoscaling is enabled. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxReplicas")] pub max_replicas: Option, - /// Metrics is meant to provide a customizable way to configure HPA metrics. currently the only supported custom metrics is type=Pod. Use TargetCPUUtilization or TargetMemoryUtilization instead if scaling on these common resource metrics. + /// Metrics is meant to provide a customizable way to configure HPA metrics. + /// currently the only supported custom metrics is type=Pod. + /// Use TargetCPUUtilization or TargetMemoryUtilization instead if scaling on these common resource metrics. #[serde(default, skip_serializing_if = "Option::is_none")] pub metrics: Option>, /// MinReplicas sets a lower bound to the autoscaling feature. Set this if your are using autoscaling. It must be at least 1 #[serde(default, skip_serializing_if = "Option::is_none", rename = "minReplicas")] pub min_replicas: Option, - /// TargetCPUUtilization sets the target average CPU used across all replicas. If average CPU exceeds this value, the HPA will scale up. Defaults to 90 percent. + /// TargetCPUUtilization sets the target average CPU used across all replicas. + /// If average CPU exceeds this value, the HPA will scale up. Defaults to 90 percent. #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetCPUUtilization")] pub target_cpu_utilization: Option, /// TargetMemoryUtilization sets the target average memory utilization across all replicas @@ -1398,27 +2097,45 @@ pub struct AmazonCloudWatchAgentAutoscaler { pub target_memory_utilization: Option, } -/// HorizontalPodAutoscalerBehavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively). +/// HorizontalPodAutoscalerBehavior configures the scaling behavior of the target +/// in both Up and Down directions (scaleUp and scaleDown fields respectively). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAutoscalerBehavior { - /// scaleDown is scaling policy for scaling Down. If not set, the default value is to allow to scale down to minReplicas pods, with a 300 second stabilization window (i.e., the highest recommendation for the last 300sec is used). + /// scaleDown is scaling policy for scaling Down. + /// If not set, the default value is to allow to scale down to minReplicas pods, with a + /// 300 second stabilization window (i.e., the highest recommendation for + /// the last 300sec is used). #[serde(default, skip_serializing_if = "Option::is_none", rename = "scaleDown")] pub scale_down: Option, - /// scaleUp is scaling policy for scaling Up. If not set, the default value is the higher of: * increase no more than 4 pods per 60 seconds * double the number of pods per 60 seconds No stabilization is used. + /// scaleUp is scaling policy for scaling Up. + /// If not set, the default value is the higher of: + /// * increase no more than 4 pods per 60 seconds + /// * double the number of pods per 60 seconds + /// No stabilization is used. #[serde(default, skip_serializing_if = "Option::is_none", rename = "scaleUp")] pub scale_up: Option, } -/// scaleDown is scaling policy for scaling Down. If not set, the default value is to allow to scale down to minReplicas pods, with a 300 second stabilization window (i.e., the highest recommendation for the last 300sec is used). +/// scaleDown is scaling policy for scaling Down. +/// If not set, the default value is to allow to scale down to minReplicas pods, with a +/// 300 second stabilization window (i.e., the highest recommendation for +/// the last 300sec is used). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAutoscalerBehaviorScaleDown { - /// policies is a list of potential scaling polices which can be used during scaling. At least one policy must be specified, otherwise the HPAScalingRules will be discarded as invalid + /// policies is a list of potential scaling polices which can be used during scaling. + /// At least one policy must be specified, otherwise the HPAScalingRules will be discarded as invalid #[serde(default, skip_serializing_if = "Option::is_none")] pub policies: Option>, - /// selectPolicy is used to specify which policy should be used. If not set, the default value Max is used. + /// selectPolicy is used to specify which policy should be used. + /// If not set, the default value Max is used. #[serde(default, skip_serializing_if = "Option::is_none", rename = "selectPolicy")] pub select_policy: Option, - /// stabilizationWindowSeconds is the number of seconds for which past recommendations should be considered while scaling up or scaling down. StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). If not set, use the default values: - For scale up: 0 (i.e. no stabilization is done). - For scale down: 300 (i.e. the stabilization window is 300 seconds long). + /// stabilizationWindowSeconds is the number of seconds for which past recommendations should be + /// considered while scaling up or scaling down. + /// StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). + /// If not set, use the default values: + /// - For scale up: 0 (i.e. no stabilization is done). + /// - For scale down: 300 (i.e. the stabilization window is 300 seconds long). #[serde(default, skip_serializing_if = "Option::is_none", rename = "stabilizationWindowSeconds")] pub stabilization_window_seconds: Option, } @@ -1426,26 +2143,39 @@ pub struct AmazonCloudWatchAgentAutoscalerBehaviorScaleDown { /// HPAScalingPolicy is a single policy which must hold true for a specified past interval. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAutoscalerBehaviorScaleDownPolicies { - /// periodSeconds specifies the window of time for which the policy should hold true. PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min). + /// periodSeconds specifies the window of time for which the policy should hold true. + /// PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min). #[serde(rename = "periodSeconds")] pub period_seconds: i32, /// type is used to specify the scaling policy. #[serde(rename = "type")] pub r#type: String, - /// value contains the amount of change which is permitted by the policy. It must be greater than zero + /// value contains the amount of change which is permitted by the policy. + /// It must be greater than zero pub value: i32, } -/// scaleUp is scaling policy for scaling Up. If not set, the default value is the higher of: * increase no more than 4 pods per 60 seconds * double the number of pods per 60 seconds No stabilization is used. +/// scaleUp is scaling policy for scaling Up. +/// If not set, the default value is the higher of: +/// * increase no more than 4 pods per 60 seconds +/// * double the number of pods per 60 seconds +/// No stabilization is used. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAutoscalerBehaviorScaleUp { - /// policies is a list of potential scaling polices which can be used during scaling. At least one policy must be specified, otherwise the HPAScalingRules will be discarded as invalid + /// policies is a list of potential scaling polices which can be used during scaling. + /// At least one policy must be specified, otherwise the HPAScalingRules will be discarded as invalid #[serde(default, skip_serializing_if = "Option::is_none")] pub policies: Option>, - /// selectPolicy is used to specify which policy should be used. If not set, the default value Max is used. + /// selectPolicy is used to specify which policy should be used. + /// If not set, the default value Max is used. #[serde(default, skip_serializing_if = "Option::is_none", rename = "selectPolicy")] pub select_policy: Option, - /// stabilizationWindowSeconds is the number of seconds for which past recommendations should be considered while scaling up or scaling down. StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). If not set, use the default values: - For scale up: 0 (i.e. no stabilization is done). - For scale down: 300 (i.e. the stabilization window is 300 seconds long). + /// stabilizationWindowSeconds is the number of seconds for which past recommendations should be + /// considered while scaling up or scaling down. + /// StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). + /// If not set, use the default values: + /// - For scale up: 0 (i.e. no stabilization is done). + /// - For scale down: 300 (i.e. the stabilization window is 300 seconds long). #[serde(default, skip_serializing_if = "Option::is_none", rename = "stabilizationWindowSeconds")] pub stabilization_window_seconds: Option, } @@ -1453,20 +2183,27 @@ pub struct AmazonCloudWatchAgentAutoscalerBehaviorScaleUp { /// HPAScalingPolicy is a single policy which must hold true for a specified past interval. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAutoscalerBehaviorScaleUpPolicies { - /// periodSeconds specifies the window of time for which the policy should hold true. PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min). + /// periodSeconds specifies the window of time for which the policy should hold true. + /// PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min). #[serde(rename = "periodSeconds")] pub period_seconds: i32, /// type is used to specify the scaling policy. #[serde(rename = "type")] pub r#type: String, - /// value contains the amount of change which is permitted by the policy. It must be greater than zero + /// value contains the amount of change which is permitted by the policy. + /// It must be greater than zero pub value: i32, } -/// MetricSpec defines a subset of metrics to be defined for the HPA's metric array more metric type can be supported as needed. See https://pkg.go.dev/k8s.io/api/autoscaling/v2#MetricSpec for reference. +/// MetricSpec defines a subset of metrics to be defined for the HPA's metric array +/// more metric type can be supported as needed. +/// See https://pkg.go.dev/k8s.io/api/autoscaling/v2#MetricSpec for reference. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAutoscalerMetrics { - /// PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value. + /// PodsMetricSource indicates how to scale on a metric describing each pod in + /// the current scale target (for example, transactions-processed-per-second). + /// The values will be averaged together before being compared to the target + /// value. #[serde(default, skip_serializing_if = "Option::is_none")] pub pods: Option, /// MetricSourceType indicates the type of metric. @@ -1474,7 +2211,10 @@ pub struct AmazonCloudWatchAgentAutoscalerMetrics { pub r#type: String, } -/// PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value. +/// PodsMetricSource indicates how to scale on a metric describing each pod in +/// the current scale target (for example, transactions-processed-per-second). +/// The values will be averaged together before being compared to the target +/// value. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAutoscalerMetricsPods { /// metric identifies the target metric by name and selector @@ -1488,30 +2228,41 @@ pub struct AmazonCloudWatchAgentAutoscalerMetricsPods { pub struct AmazonCloudWatchAgentAutoscalerMetricsPodsMetric { /// name is the name of the given metric pub name: String, - /// selector is the string-encoded form of a standard kubernetes label selector for the given metric When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics. + /// selector is the string-encoded form of a standard kubernetes label selector for the given metric + /// When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping. + /// When unset, just the metricName will be used to gather metrics. #[serde(default, skip_serializing_if = "Option::is_none")] pub selector: Option, } -/// selector is the string-encoded form of a standard kubernetes label selector for the given metric When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics. +/// selector is the string-encoded form of a standard kubernetes label selector for the given metric +/// When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping. +/// When unset, just the metricName will be used to gather metrics. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAutoscalerMetricsPodsMetricSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAutoscalerMetricsPodsMetricSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -1519,10 +2270,14 @@ pub struct AmazonCloudWatchAgentAutoscalerMetricsPodsMetricSelectorMatchExpressi /// target specifies the target value for the given metric #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentAutoscalerMetricsPodsTarget { - /// averageUtilization is the target value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods. Currently only valid for Resource metric source type + /// averageUtilization is the target value of the average of the + /// resource metric across all relevant pods, represented as a percentage of + /// the requested value of the resource for the pods. + /// Currently only valid for Resource metric source type #[serde(default, skip_serializing_if = "Option::is_none", rename = "averageUtilization")] pub average_utilization: Option, - /// averageValue is the target value of the average of the metric across all relevant pods (as a quantity) + /// averageValue is the target value of the average of the + /// metric across all relevant pods (as a quantity) #[serde(default, skip_serializing_if = "Option::is_none", rename = "averageValue")] pub average_value: Option, /// type represents whether the metric type is Utilization, Value, or AverageValue @@ -1545,7 +2300,15 @@ pub struct AmazonCloudWatchAgentConfigmaps { pub struct AmazonCloudWatchAgentEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, - /// Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + /// Variable references $(VAR_NAME) are expanded + /// using the previously defined environment variables in the container and + /// any service environment variables. If a variable cannot be resolved, + /// the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + /// "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + /// Escaped references will never be expanded, regardless of whether the variable + /// exists or not. + /// Defaults to "". #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. @@ -1559,10 +2322,12 @@ pub struct AmazonCloudWatchAgentEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] pub config_map_key_ref: Option, - /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace @@ -1575,7 +2340,9 @@ pub struct AmazonCloudWatchAgentEnvValueFrom { pub struct AmazonCloudWatchAgentEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap or its key must be defined @@ -1583,7 +2350,8 @@ pub struct AmazonCloudWatchAgentEnvValueFromConfigMapKeyRef { pub optional: Option, } -/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, +/// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -1594,7 +2362,8 @@ pub struct AmazonCloudWatchAgentEnvValueFromFieldRef { pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -1612,7 +2381,9 @@ pub struct AmazonCloudWatchAgentEnvValueFromResourceFieldRef { pub struct AmazonCloudWatchAgentEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -1637,7 +2408,9 @@ pub struct AmazonCloudWatchAgentEnvFrom { /// The ConfigMap to select from #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentEnvFromConfigMapRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap must be defined @@ -1648,7 +2421,9 @@ pub struct AmazonCloudWatchAgentEnvFromConfigMapRef { /// The Secret to select from #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentEnvFromSecretRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret must be defined @@ -1656,33 +2431,44 @@ pub struct AmazonCloudWatchAgentEnvFromSecretRef { pub optional: Option, } -/// Ingress is used to specify how OpenTelemetry Collector is exposed. This functionality is only available if one of the valid modes is set. Valid modes are: deployment, daemonset and statefulset. +/// Ingress is used to specify how OpenTelemetry Collector is exposed. This +/// functionality is only available if one of the valid modes is set. +/// Valid modes are: deployment, daemonset and statefulset. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentIngress { - /// Annotations to add to ingress. e.g. 'cert-manager.io/cluster-issuer: "letsencrypt"' + /// Annotations to add to ingress. + /// e.g. 'cert-manager.io/cluster-issuer: "letsencrypt"' #[serde(default, skip_serializing_if = "Option::is_none")] pub annotations: Option>, /// Hostname by which the ingress proxy can be reached. #[serde(default, skip_serializing_if = "Option::is_none")] pub hostname: Option, - /// IngressClassName is the name of an IngressClass cluster resource. Ingress controller implementations use this field to know whether they should be serving this Ingress resource. + /// IngressClassName is the name of an IngressClass cluster resource. Ingress + /// controller implementations use this field to know whether they should be + /// serving this Ingress resource. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ingressClassName")] pub ingress_class_name: Option, - /// Route is an OpenShift specific section that is only considered when type "route" is used. + /// Route is an OpenShift specific section that is only considered when + /// type "route" is used. #[serde(default, skip_serializing_if = "Option::is_none")] pub route: Option, - /// RuleType defines how Ingress exposes collector receivers. IngressRuleTypePath ("path") exposes each receiver port on a unique path on single domain defined in Hostname. IngressRuleTypeSubdomain ("subdomain") exposes each receiver port on a unique subdomain of Hostname. Default is IngressRuleTypePath ("path"). + /// RuleType defines how Ingress exposes collector receivers. + /// IngressRuleTypePath ("path") exposes each receiver port on a unique path on single domain defined in Hostname. + /// IngressRuleTypeSubdomain ("subdomain") exposes each receiver port on a unique subdomain of Hostname. + /// Default is IngressRuleTypePath ("path"). #[serde(default, skip_serializing_if = "Option::is_none", rename = "ruleType")] pub rule_type: Option, /// TLS configuration. #[serde(default, skip_serializing_if = "Option::is_none")] pub tls: Option>, - /// Type default value is: "" Supported types are: ingress, route + /// Type default value is: "" + /// Supported types are: ingress, route #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] pub r#type: Option, } -/// Route is an OpenShift specific section that is only considered when type "route" is used. +/// Route is an OpenShift specific section that is only considered when +/// type "route" is used. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentIngressRoute { /// Termination indicates termination type. By default "edge" is used. @@ -1690,7 +2476,8 @@ pub struct AmazonCloudWatchAgentIngressRoute { pub termination: Option, } -/// Route is an OpenShift specific section that is only considered when type "route" is used. +/// Route is an OpenShift specific section that is only considered when +/// type "route" is used. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum AmazonCloudWatchAgentIngressRouteTermination { #[serde(rename = "insecure")] @@ -1703,7 +2490,9 @@ pub enum AmazonCloudWatchAgentIngressRouteTermination { Reencrypt, } -/// Ingress is used to specify how OpenTelemetry Collector is exposed. This functionality is only available if one of the valid modes is set. Valid modes are: deployment, daemonset and statefulset. +/// Ingress is used to specify how OpenTelemetry Collector is exposed. This +/// functionality is only available if one of the valid modes is set. +/// Valid modes are: deployment, daemonset and statefulset. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum AmazonCloudWatchAgentIngressRuleType { #[serde(rename = "path")] @@ -1715,15 +2504,24 @@ pub enum AmazonCloudWatchAgentIngressRuleType { /// IngressTLS describes the transport layer security associated with an ingress. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentIngressTls { - /// hosts is a list of hosts included in the TLS certificate. The values in this list must match the name/s used in the tlsSecret. Defaults to the wildcard host setting for the loadbalancer controller fulfilling this Ingress, if left unspecified. + /// hosts is a list of hosts included in the TLS certificate. The values in + /// this list must match the name/s used in the tlsSecret. Defaults to the + /// wildcard host setting for the loadbalancer controller fulfilling this + /// Ingress, if left unspecified. #[serde(default, skip_serializing_if = "Option::is_none")] pub hosts: Option>, - /// secretName is the name of the secret used to terminate TLS traffic on port 443. Field is left optional to allow TLS routing based on SNI hostname alone. If the SNI host in a listener conflicts with the "Host" header field used by an IngressRule, the SNI host is used for termination and value of the "Host" header is used for routing. + /// secretName is the name of the secret used to terminate TLS traffic on + /// port 443. Field is left optional to allow TLS routing based on SNI + /// hostname alone. If the SNI host in a listener conflicts with the "Host" + /// header field used by an IngressRule, the SNI host is used for termination + /// and value of the "Host" header is used for routing. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] pub secret_name: Option, } -/// Ingress is used to specify how OpenTelemetry Collector is exposed. This functionality is only available if one of the valid modes is set. Valid modes are: deployment, daemonset and statefulset. +/// Ingress is used to specify how OpenTelemetry Collector is exposed. This +/// functionality is only available if one of the valid modes is set. +/// Valid modes are: deployment, daemonset and statefulset. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum AmazonCloudWatchAgentIngressType { #[serde(rename = "ingress")] @@ -1735,75 +2533,166 @@ pub enum AmazonCloudWatchAgentIngressType { /// A single application container that you want to run within a pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainers { - /// Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + /// Arguments to the entrypoint. + /// The container image's CMD is used if this is not provided. + /// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + /// cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + /// produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + /// of whether the variable exists or not. Cannot be updated. + /// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell #[serde(default, skip_serializing_if = "Option::is_none")] pub args: Option>, - /// Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + /// Entrypoint array. Not executed within a shell. + /// The container image's ENTRYPOINT is used if this is not provided. + /// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable + /// cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will + /// produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless + /// of whether the variable exists or not. Cannot be updated. + /// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, - /// List of environment variables to set in the container. Cannot be updated. + /// List of environment variables to set in the container. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, - /// List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. + /// List of sources to populate environment variables in the container. + /// The keys defined within a source must be a C_IDENTIFIER. All invalid keys + /// will be reported as an event when the container is starting. When a key exists in multiple + /// sources, the value associated with the last source will take precedence. + /// Values defined by an Env with a duplicate key will take precedence. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")] pub env_from: Option>, - /// Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. + /// Container image name. + /// More info: https://kubernetes.io/docs/concepts/containers/images + /// This field is optional to allow higher level config management to default or override + /// container images in workload controllers like Deployments and StatefulSets. #[serde(default, skip_serializing_if = "Option::is_none")] pub image: Option, - /// Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images + /// Image pull policy. + /// One of Always, Never, IfNotPresent. + /// Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. + /// Cannot be updated. + /// More info: https://kubernetes.io/docs/concepts/containers/images#updating-images #[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")] pub image_pull_policy: Option, - /// Actions that the management system should take in response to container lifecycle events. Cannot be updated. + /// Actions that the management system should take in response to container lifecycle events. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none")] pub lifecycle: Option, - /// Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Periodic probe of container liveness. + /// Container will be restarted if the probe fails. + /// Cannot be updated. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "livenessProbe")] pub liveness_probe: Option, - /// Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. + /// Name of the container specified as a DNS_LABEL. + /// Each container in a pod must have a unique name (DNS_LABEL). + /// Cannot be updated. pub name: String, - /// List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. + /// List of ports to expose from the container. Not specifying a port here + /// DOES NOT prevent that port from being exposed. Any port which is + /// listening on the default "0.0.0.0" address inside a container will be + /// accessible from the network. + /// Modifying this array with strategic merge patch may corrupt the data. + /// For more information See https://github.com/kubernetes/kubernetes/issues/108255. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none")] pub ports: Option>, - /// Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Periodic probe of container service readiness. + /// Container will be removed from service endpoints if the probe fails. + /// Cannot be updated. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "readinessProbe")] pub readiness_probe: Option, /// Resources resize policy for the container. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resizePolicy")] pub resize_policy: Option>, - /// Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Compute Resources required by this container. + /// Cannot be updated. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub resources: Option, - /// RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is "Always". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as "Always" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy "Always" will be shut down. This lifecycle differs from normal init containers and is often referred to as a "sidecar" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed. + /// RestartPolicy defines the restart behavior of individual containers in a pod. + /// This field may only be set for init containers, and the only allowed value is "Always". + /// For non-init containers or when this field is not specified, + /// the restart behavior is defined by the Pod's restart policy and the container type. + /// Setting the RestartPolicy as "Always" for the init container will have the following effect: + /// this init container will be continually restarted on + /// exit until all regular containers have terminated. Once all regular + /// containers have completed, all init containers with restartPolicy "Always" + /// will be shut down. This lifecycle differs from normal init containers and + /// is often referred to as a "sidecar" container. Although this init + /// container still starts in the init container sequence, it does not wait + /// for the container to complete before proceeding to the next init + /// container. Instead, the next init container starts immediately after this + /// init container is started, or after any startupProbe has successfully + /// completed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "restartPolicy")] pub restart_policy: Option, - /// SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + /// SecurityContext defines the security options the container should be run with. + /// If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. + /// More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ #[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")] pub security_context: Option, - /// StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// StartupProbe indicates that the Pod has successfully initialized. + /// If specified, no other probes are executed until this completes successfully. + /// If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. + /// This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, + /// when it might take a long time to load data or warm a cache, than during steady-state operation. + /// This cannot be updated. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "startupProbe")] pub startup_probe: Option, - /// Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. + /// Whether this container should allocate a buffer for stdin in the container runtime. If this + /// is not set, reads from stdin in the container will always result in EOF. + /// Default is false. #[serde(default, skip_serializing_if = "Option::is_none")] pub stdin: Option, - /// Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false + /// Whether the container runtime should close the stdin channel after it has been opened by + /// a single attach. When stdin is true the stdin stream will remain open across multiple attach + /// sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the + /// first client attaches to stdin, and then remains open and accepts data until the client disconnects, + /// at which time stdin is closed and remains closed until the container is restarted. If this + /// flag is false, a container processes that reads from stdin will never receive an EOF. + /// Default is false #[serde(default, skip_serializing_if = "Option::is_none", rename = "stdinOnce")] pub stdin_once: Option, - /// Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. + /// Optional: Path at which the file to which the container's termination message + /// will be written is mounted into the container's filesystem. + /// Message written is intended to be brief final status, such as an assertion failure message. + /// Will be truncated by the node if greater than 4096 bytes. The total message length across + /// all containers will be limited to 12kb. + /// Defaults to /dev/termination-log. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePath")] pub termination_message_path: Option, - /// Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. + /// Indicate how the termination message should be populated. File will use the contents of + /// terminationMessagePath to populate the container status message on both success and failure. + /// FallbackToLogsOnError will use the last chunk of container log output if the termination + /// message file is empty and the container exited with an error. + /// The log output is limited to 2048 bytes or 80 lines, whichever is smaller. + /// Defaults to File. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationMessagePolicy")] pub termination_message_policy: Option, - /// Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. + /// Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. + /// Default is false. #[serde(default, skip_serializing_if = "Option::is_none")] pub tty: Option, /// volumeDevices is the list of block devices to be used by the container. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeDevices")] pub volume_devices: Option>, - /// Pod volumes to mount into the container's filesystem. Cannot be updated. + /// Pod volumes to mount into the container's filesystem. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")] pub volume_mounts: Option>, - /// Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. + /// Container's working directory. + /// If not specified, the container runtime's default will be used, which + /// might be configured in the container image. + /// Cannot be updated. #[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")] pub working_dir: Option, } @@ -1813,7 +2702,15 @@ pub struct AmazonCloudWatchAgentInitContainers { pub struct AmazonCloudWatchAgentInitContainersEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, - /// Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + /// Variable references $(VAR_NAME) are expanded + /// using the previously defined environment variables in the container and + /// any service environment variables. If a variable cannot be resolved, + /// the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + /// "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + /// Escaped references will never be expanded, regardless of whether the variable + /// exists or not. + /// Defaults to "". #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. @@ -1827,10 +2724,12 @@ pub struct AmazonCloudWatchAgentInitContainersEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] pub config_map_key_ref: Option, - /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace @@ -1843,7 +2742,9 @@ pub struct AmazonCloudWatchAgentInitContainersEnvValueFrom { pub struct AmazonCloudWatchAgentInitContainersEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap or its key must be defined @@ -1851,7 +2752,8 @@ pub struct AmazonCloudWatchAgentInitContainersEnvValueFromConfigMapKeyRef { pub optional: Option, } -/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, +/// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -1862,7 +2764,8 @@ pub struct AmazonCloudWatchAgentInitContainersEnvValueFromFieldRef { pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -1880,7 +2783,9 @@ pub struct AmazonCloudWatchAgentInitContainersEnvValueFromResourceFieldRef { pub struct AmazonCloudWatchAgentInitContainersEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -1905,7 +2810,9 @@ pub struct AmazonCloudWatchAgentInitContainersEnvFrom { /// The ConfigMap to select from #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersEnvFromConfigMapRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap must be defined @@ -1916,7 +2823,9 @@ pub struct AmazonCloudWatchAgentInitContainersEnvFromConfigMapRef { /// The Secret to select from #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersEnvFromSecretRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret must be defined @@ -1924,18 +2833,33 @@ pub struct AmazonCloudWatchAgentInitContainersEnvFromSecretRef { pub optional: Option, } -/// Actions that the management system should take in response to container lifecycle events. Cannot be updated. +/// Actions that the management system should take in response to container lifecycle events. +/// Cannot be updated. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLifecycle { - /// PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + /// PostStart is called immediately after a container is created. If the handler fails, + /// the container is terminated and restarted according to its restart policy. + /// Other management of the container blocks until the hook completes. + /// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks #[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")] pub post_start: Option, - /// PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + /// PreStop is called immediately before a container is terminated due to an + /// API request or management event such as liveness/startup probe failure, + /// preemption, resource contention, etc. The handler is not called if the + /// container crashes or exits. The Pod's termination grace period countdown begins before the + /// PreStop hook is executed. Regardless of the outcome of the handler, the + /// container will eventually terminate within the Pod's termination grace + /// period (unless delayed by finalizers). Other management of the container blocks until the hook completes + /// or until the termination grace period is reached. + /// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks #[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")] pub pre_stop: Option, } -/// PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +/// PostStart is called immediately after a container is created. If the handler fails, +/// the container is terminated and restarted according to its restart policy. +/// Other management of the container blocks until the hook completes. +/// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLifecyclePostStart { /// Exec specifies the action to take. @@ -1947,7 +2871,9 @@ pub struct AmazonCloudWatchAgentInitContainersLifecyclePostStart { /// Sleep represents the duration that the container should sleep before being terminated. #[serde(default, skip_serializing_if = "Option::is_none")] pub sleep: Option, - /// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + /// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept + /// for the backward compatibility. There are no validation of this field and + /// lifecycle hooks will fail in runtime when tcp handler is specified. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")] pub tcp_socket: Option, } @@ -1955,7 +2881,11 @@ pub struct AmazonCloudWatchAgentInitContainersLifecyclePostStart { /// Exec specifies the action to take. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLifecyclePostStartExec { - /// Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + /// Command is the command line to execute inside the container, the working directory for the + /// command is root ('/') in the container's filesystem. The command is simply exec'd, it is + /// not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + /// a shell, you need to explicitly call out to that shell. + /// Exit status of 0 is treated as live/healthy and non-zero is unhealthy. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, } @@ -1963,7 +2893,8 @@ pub struct AmazonCloudWatchAgentInitContainersLifecyclePostStartExec { /// HTTPGet specifies the http request to perform. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLifecyclePostStartHttpGet { - /// Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + /// Host name to connect to, defaults to the pod IP. You probably want to set + /// "Host" in httpHeaders instead. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, /// Custom headers to set in the request. HTTP allows repeated headers. @@ -1972,9 +2903,12 @@ pub struct AmazonCloudWatchAgentInitContainersLifecyclePostStartHttpGet { /// Path to access on the HTTP server. #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, - /// Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Name or number of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, - /// Scheme to use for connecting to the host. Defaults to HTTP. + /// Scheme to use for connecting to the host. + /// Defaults to HTTP. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, } @@ -1982,7 +2916,8 @@ pub struct AmazonCloudWatchAgentInitContainersLifecyclePostStartHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLifecyclePostStartHttpGetHttpHeaders { - /// The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. + /// The header field name. + /// This will be canonicalized upon output, so case-variant names will be understood as the same header. pub name: String, /// The header field value pub value: String, @@ -1995,17 +2930,29 @@ pub struct AmazonCloudWatchAgentInitContainersLifecyclePostStartSleep { pub seconds: i64, } -/// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. +/// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept +/// for the backward compatibility. There are no validation of this field and +/// lifecycle hooks will fail in runtime when tcp handler is specified. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLifecyclePostStartTcpSocket { /// Optional: Host name to connect to, defaults to the pod IP. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, - /// Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Number or name of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, } -/// PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +/// PreStop is called immediately before a container is terminated due to an +/// API request or management event such as liveness/startup probe failure, +/// preemption, resource contention, etc. The handler is not called if the +/// container crashes or exits. The Pod's termination grace period countdown begins before the +/// PreStop hook is executed. Regardless of the outcome of the handler, the +/// container will eventually terminate within the Pod's termination grace +/// period (unless delayed by finalizers). Other management of the container blocks until the hook completes +/// or until the termination grace period is reached. +/// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLifecyclePreStop { /// Exec specifies the action to take. @@ -2017,7 +2964,9 @@ pub struct AmazonCloudWatchAgentInitContainersLifecyclePreStop { /// Sleep represents the duration that the container should sleep before being terminated. #[serde(default, skip_serializing_if = "Option::is_none")] pub sleep: Option, - /// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + /// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept + /// for the backward compatibility. There are no validation of this field and + /// lifecycle hooks will fail in runtime when tcp handler is specified. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")] pub tcp_socket: Option, } @@ -2025,7 +2974,11 @@ pub struct AmazonCloudWatchAgentInitContainersLifecyclePreStop { /// Exec specifies the action to take. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLifecyclePreStopExec { - /// Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + /// Command is the command line to execute inside the container, the working directory for the + /// command is root ('/') in the container's filesystem. The command is simply exec'd, it is + /// not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + /// a shell, you need to explicitly call out to that shell. + /// Exit status of 0 is treated as live/healthy and non-zero is unhealthy. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, } @@ -2033,7 +2986,8 @@ pub struct AmazonCloudWatchAgentInitContainersLifecyclePreStopExec { /// HTTPGet specifies the http request to perform. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLifecyclePreStopHttpGet { - /// Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + /// Host name to connect to, defaults to the pod IP. You probably want to set + /// "Host" in httpHeaders instead. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, /// Custom headers to set in the request. HTTP allows repeated headers. @@ -2042,9 +2996,12 @@ pub struct AmazonCloudWatchAgentInitContainersLifecyclePreStopHttpGet { /// Path to access on the HTTP server. #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, - /// Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Name or number of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, - /// Scheme to use for connecting to the host. Defaults to HTTP. + /// Scheme to use for connecting to the host. + /// Defaults to HTTP. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, } @@ -2052,7 +3009,8 @@ pub struct AmazonCloudWatchAgentInitContainersLifecyclePreStopHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLifecyclePreStopHttpGetHttpHeaders { - /// The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. + /// The header field name. + /// This will be canonicalized upon output, so case-variant names will be understood as the same header. pub name: String, /// The header field value pub value: String, @@ -2065,23 +3023,31 @@ pub struct AmazonCloudWatchAgentInitContainersLifecyclePreStopSleep { pub seconds: i64, } -/// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. +/// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept +/// for the backward compatibility. There are no validation of this field and +/// lifecycle hooks will fail in runtime when tcp handler is specified. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLifecyclePreStopTcpSocket { /// Optional: Host name to connect to, defaults to the pod IP. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, - /// Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Number or name of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, } -/// Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +/// Periodic probe of container liveness. +/// Container will be restarted if the probe fails. +/// Cannot be updated. +/// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLivenessProbe { /// Exec specifies the action to take. #[serde(default, skip_serializing_if = "Option::is_none")] pub exec: Option, - /// Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + /// Minimum consecutive failures for the probe to be considered failed after having succeeded. + /// Defaults to 3. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")] pub failure_threshold: Option, /// GRPC specifies an action involving a GRPC port. @@ -2090,22 +3056,36 @@ pub struct AmazonCloudWatchAgentInitContainersLivenessProbe { /// HTTPGet specifies the http request to perform. #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")] pub http_get: Option, - /// Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Number of seconds after the container has started before liveness probes are initiated. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")] pub initial_delay_seconds: Option, - /// How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + /// How often (in seconds) to perform the probe. + /// Default to 10 seconds. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")] pub period_seconds: Option, - /// Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + /// Minimum consecutive successes for the probe to be considered successful after having failed. + /// Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")] pub success_threshold: Option, /// TCPSocket specifies an action involving a TCP port. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")] pub tcp_socket: Option, - /// Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + /// Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + /// The grace period is the duration in seconds after the processes running in the pod are sent + /// a termination signal and the time when the processes are forcibly halted with a kill signal. + /// Set this value longer than the expected cleanup time for your process. + /// If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + /// value overrides the value provided by the pod spec. + /// Value must be non-negative integer. The value zero indicates stop immediately via + /// the kill signal (no opportunity to shut down). + /// This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + /// Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. #[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")] pub termination_grace_period_seconds: Option, - /// Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Number of seconds after which the probe times out. + /// Defaults to 1 second. Minimum value is 1. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")] pub timeout_seconds: Option, } @@ -2113,7 +3093,11 @@ pub struct AmazonCloudWatchAgentInitContainersLivenessProbe { /// Exec specifies the action to take. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLivenessProbeExec { - /// Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + /// Command is the command line to execute inside the container, the working directory for the + /// command is root ('/') in the container's filesystem. The command is simply exec'd, it is + /// not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + /// a shell, you need to explicitly call out to that shell. + /// Exit status of 0 is treated as live/healthy and non-zero is unhealthy. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, } @@ -2123,8 +3107,11 @@ pub struct AmazonCloudWatchAgentInitContainersLivenessProbeExec { pub struct AmazonCloudWatchAgentInitContainersLivenessProbeGrpc { /// Port number of the gRPC service. Number must be in the range 1 to 65535. pub port: i32, - /// Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - /// If this is not specified, the default behavior is defined by gRPC. + /// Service is the name of the service to place in the gRPC HealthCheckRequest + /// (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + /// + /// + /// If this is not specified, the default behavior is defined by gRPC. #[serde(default, skip_serializing_if = "Option::is_none")] pub service: Option, } @@ -2132,7 +3119,8 @@ pub struct AmazonCloudWatchAgentInitContainersLivenessProbeGrpc { /// HTTPGet specifies the http request to perform. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLivenessProbeHttpGet { - /// Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + /// Host name to connect to, defaults to the pod IP. You probably want to set + /// "Host" in httpHeaders instead. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, /// Custom headers to set in the request. HTTP allows repeated headers. @@ -2141,9 +3129,12 @@ pub struct AmazonCloudWatchAgentInitContainersLivenessProbeHttpGet { /// Path to access on the HTTP server. #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, - /// Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Name or number of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, - /// Scheme to use for connecting to the host. Defaults to HTTP. + /// Scheme to use for connecting to the host. + /// Defaults to HTTP. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, } @@ -2151,7 +3142,8 @@ pub struct AmazonCloudWatchAgentInitContainersLivenessProbeHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersLivenessProbeHttpGetHttpHeaders { - /// The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. + /// The header field name. + /// This will be canonicalized upon output, so case-variant names will be understood as the same header. pub name: String, /// The header field value pub value: String, @@ -2163,37 +3155,50 @@ pub struct AmazonCloudWatchAgentInitContainersLivenessProbeTcpSocket { /// Optional: Host name to connect to, defaults to the pod IP. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, - /// Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Number or name of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, } /// ContainerPort represents a network port in a single container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersPorts { - /// Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536. + /// Number of port to expose on the pod's IP address. + /// This must be a valid port number, 0 < x < 65536. #[serde(rename = "containerPort")] pub container_port: i32, /// What host IP to bind the external port to. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostIP")] pub host_ip: Option, - /// Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this. + /// Number of port to expose on the host. + /// If specified, this must be a valid port number, 0 < x < 65536. + /// If HostNetwork is specified, this must match ContainerPort. + /// Most containers do not need this. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPort")] pub host_port: Option, - /// If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. + /// If specified, this must be an IANA_SVC_NAME and unique within the pod. Each + /// named port in a pod must have a unique name. Name for the port that can be + /// referred to by services. #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, - /// Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP". + /// Protocol for port. Must be UDP, TCP, or SCTP. + /// Defaults to "TCP". #[serde(default, skip_serializing_if = "Option::is_none")] pub protocol: Option, } -/// Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +/// Periodic probe of container service readiness. +/// Container will be removed from service endpoints if the probe fails. +/// Cannot be updated. +/// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersReadinessProbe { /// Exec specifies the action to take. #[serde(default, skip_serializing_if = "Option::is_none")] pub exec: Option, - /// Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + /// Minimum consecutive failures for the probe to be considered failed after having succeeded. + /// Defaults to 3. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")] pub failure_threshold: Option, /// GRPC specifies an action involving a GRPC port. @@ -2202,22 +3207,36 @@ pub struct AmazonCloudWatchAgentInitContainersReadinessProbe { /// HTTPGet specifies the http request to perform. #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")] pub http_get: Option, - /// Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Number of seconds after the container has started before liveness probes are initiated. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")] pub initial_delay_seconds: Option, - /// How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + /// How often (in seconds) to perform the probe. + /// Default to 10 seconds. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")] pub period_seconds: Option, - /// Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + /// Minimum consecutive successes for the probe to be considered successful after having failed. + /// Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")] pub success_threshold: Option, /// TCPSocket specifies an action involving a TCP port. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")] pub tcp_socket: Option, - /// Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + /// Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + /// The grace period is the duration in seconds after the processes running in the pod are sent + /// a termination signal and the time when the processes are forcibly halted with a kill signal. + /// Set this value longer than the expected cleanup time for your process. + /// If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + /// value overrides the value provided by the pod spec. + /// Value must be non-negative integer. The value zero indicates stop immediately via + /// the kill signal (no opportunity to shut down). + /// This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + /// Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. #[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")] pub termination_grace_period_seconds: Option, - /// Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Number of seconds after which the probe times out. + /// Defaults to 1 second. Minimum value is 1. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")] pub timeout_seconds: Option, } @@ -2225,7 +3244,11 @@ pub struct AmazonCloudWatchAgentInitContainersReadinessProbe { /// Exec specifies the action to take. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersReadinessProbeExec { - /// Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + /// Command is the command line to execute inside the container, the working directory for the + /// command is root ('/') in the container's filesystem. The command is simply exec'd, it is + /// not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + /// a shell, you need to explicitly call out to that shell. + /// Exit status of 0 is treated as live/healthy and non-zero is unhealthy. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, } @@ -2235,8 +3258,11 @@ pub struct AmazonCloudWatchAgentInitContainersReadinessProbeExec { pub struct AmazonCloudWatchAgentInitContainersReadinessProbeGrpc { /// Port number of the gRPC service. Number must be in the range 1 to 65535. pub port: i32, - /// Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - /// If this is not specified, the default behavior is defined by gRPC. + /// Service is the name of the service to place in the gRPC HealthCheckRequest + /// (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + /// + /// + /// If this is not specified, the default behavior is defined by gRPC. #[serde(default, skip_serializing_if = "Option::is_none")] pub service: Option, } @@ -2244,7 +3270,8 @@ pub struct AmazonCloudWatchAgentInitContainersReadinessProbeGrpc { /// HTTPGet specifies the http request to perform. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersReadinessProbeHttpGet { - /// Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + /// Host name to connect to, defaults to the pod IP. You probably want to set + /// "Host" in httpHeaders instead. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, /// Custom headers to set in the request. HTTP allows repeated headers. @@ -2253,9 +3280,12 @@ pub struct AmazonCloudWatchAgentInitContainersReadinessProbeHttpGet { /// Path to access on the HTTP server. #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, - /// Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Name or number of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, - /// Scheme to use for connecting to the host. Defaults to HTTP. + /// Scheme to use for connecting to the host. + /// Defaults to HTTP. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, } @@ -2263,7 +3293,8 @@ pub struct AmazonCloudWatchAgentInitContainersReadinessProbeHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersReadinessProbeHttpGetHttpHeaders { - /// The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. + /// The header field name. + /// This will be canonicalized upon output, so case-variant names will be understood as the same header. pub name: String, /// The header field value pub value: String, @@ -2275,33 +3306,49 @@ pub struct AmazonCloudWatchAgentInitContainersReadinessProbeTcpSocket { /// Optional: Host name to connect to, defaults to the pod IP. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, - /// Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Number or name of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, } /// ContainerResizePolicy represents resource resize policy for the container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersResizePolicy { - /// Name of the resource to which this resource resize policy applies. Supported values: cpu, memory. + /// Name of the resource to which this resource resize policy applies. + /// Supported values: cpu, memory. #[serde(rename = "resourceName")] pub resource_name: String, - /// Restart policy to apply when specified resource is resized. If not specified, it defaults to NotRequired. + /// Restart policy to apply when specified resource is resized. + /// If not specified, it defaults to NotRequired. #[serde(rename = "restartPolicy")] pub restart_policy: String, } -/// Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ +/// Compute Resources required by this container. +/// Cannot be updated. +/// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersResources { - /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. - /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. - /// This field is immutable. It can only be set for containers. + /// Claims lists the names of resources, defined in spec.resourceClaims, + /// that are used by this container. + /// + /// + /// This is an alpha field and requires enabling the + /// DynamicResourceAllocation feature gate. + /// + /// + /// This field is immutable. It can only be set for containers. #[serde(default, skip_serializing_if = "Option::is_none")] pub claims: Option>, - /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Limits describes the maximum amount of compute resources allowed. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, - /// Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Requests describes the minimum amount of compute resources required. + /// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + /// otherwise to an implementation-defined value. Requests cannot exceed Limits. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub requests: Option>, } @@ -2309,49 +3356,95 @@ pub struct AmazonCloudWatchAgentInitContainersResources { /// ResourceClaim references one entry in PodSpec.ResourceClaims. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersResourcesClaims { - /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + /// Name must match the name of one entry in pod.spec.resourceClaims of + /// the Pod where this field is used. It makes that resource available + /// inside a container. pub name: String, } -/// SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ +/// SecurityContext defines the security options the container should be run with. +/// If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. +/// More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersSecurityContext { - /// AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows. + /// AllowPrivilegeEscalation controls whether a process can gain more + /// privileges than its parent process. This bool directly controls if + /// the no_new_privs flag will be set on the container process. + /// AllowPrivilegeEscalation is true always when the container is: + /// 1) run as Privileged + /// 2) has CAP_SYS_ADMIN + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")] pub allow_privilege_escalation: Option, - /// The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + /// The capabilities to add/drop when running containers. + /// Defaults to the default set of capabilities granted by the container runtime. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none")] pub capabilities: Option, - /// Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows. + /// Run container in privileged mode. + /// Processes in privileged containers are essentially equivalent to root on the host. + /// Defaults to false. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none")] pub privileged: Option, - /// procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. + /// procMount denotes the type of proc mount to use for the containers. + /// The default is DefaultProcMount which uses the container runtime defaults for + /// readonly paths and masked paths. + /// This requires the ProcMountType feature flag to be enabled. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")] pub proc_mount: Option, - /// Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows. + /// Whether this container has a read-only root filesystem. + /// Default is false. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")] pub read_only_root_filesystem: Option, - /// The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + /// The GID to run the entrypoint of the container process. + /// Uses runtime default if unset. + /// May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")] pub run_as_group: Option, - /// Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Indicates that the container must run as a non-root user. + /// If true, the Kubelet will validate the image at runtime to ensure that it + /// does not run as UID 0 (root) and fail to start the container if it does. + /// If unset or false, no such validation will be performed. + /// May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")] pub run_as_non_root: Option, - /// The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + /// The UID to run the entrypoint of the container process. + /// Defaults to user specified in image metadata if unspecified. + /// May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")] pub run_as_user: Option, - /// The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + /// The SELinux context to be applied to the container. + /// If unspecified, the container runtime will allocate a random SELinux context for each + /// container. May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")] pub se_linux_options: Option, - /// The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + /// The seccomp options to use by this container. If seccomp options are + /// provided at both the pod & container level, the container options + /// override the pod options. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")] pub seccomp_profile: Option, - /// The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + /// The Windows specific settings applied to all containers. + /// If unspecified, the options from the PodSecurityContext will be used. + /// If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Note that this field cannot be set when spec.os.name is linux. #[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")] pub windows_options: Option, } -/// The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. +/// The capabilities to add/drop when running containers. +/// Defaults to the default set of capabilities granted by the container runtime. +/// Note that this field cannot be set when spec.os.name is windows. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersSecurityContextCapabilities { /// Added capabilities @@ -2362,7 +3455,11 @@ pub struct AmazonCloudWatchAgentInitContainersSecurityContextCapabilities { pub drop: Option>, } -/// The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. +/// The SELinux context to be applied to the container. +/// If unspecified, the container runtime will allocate a random SELinux context for each +/// container. May also be set in PodSecurityContext. If set in both SecurityContext and +/// PodSecurityContext, the value specified in SecurityContext takes precedence. +/// Note that this field cannot be set when spec.os.name is windows. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersSecurityContextSeLinuxOptions { /// Level is SELinux level label that applies to the container. @@ -2379,42 +3476,71 @@ pub struct AmazonCloudWatchAgentInitContainersSecurityContextSeLinuxOptions { pub user: Option, } -/// The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. +/// The seccomp options to use by this container. If seccomp options are +/// provided at both the pod & container level, the container options +/// override the pod options. +/// Note that this field cannot be set when spec.os.name is windows. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersSecurityContextSeccompProfile { - /// localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is "Localhost". Must NOT be set for any other type. + /// localhostProfile indicates a profile defined in a file on the node should be used. + /// The profile must be preconfigured on the node to work. + /// Must be a descending path, relative to the kubelet's configured seccomp profile location. + /// Must be set if type is "Localhost". Must NOT be set for any other type. #[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")] pub localhost_profile: Option, - /// type indicates which kind of seccomp profile will be applied. Valid options are: - /// Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + /// type indicates which kind of seccomp profile will be applied. + /// Valid options are: + /// + /// + /// Localhost - a profile defined in a file on the node should be used. + /// RuntimeDefault - the container runtime default profile should be used. + /// Unconfined - no profile should be applied. #[serde(rename = "type")] pub r#type: String, } -/// The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. +/// The Windows specific settings applied to all containers. +/// If unspecified, the options from the PodSecurityContext will be used. +/// If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +/// Note that this field cannot be set when spec.os.name is linux. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersSecurityContextWindowsOptions { - /// GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + /// GMSACredentialSpec is where the GMSA admission webhook + /// (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + /// GMSA credential spec named by the GMSACredentialSpecName field. #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")] pub gmsa_credential_spec: Option, /// GMSACredentialSpecName is the name of the GMSA credential spec to use. #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")] pub gmsa_credential_spec_name: Option, - /// HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + /// HostProcess determines if a container should be run as a 'Host Process' container. + /// All of a Pod's containers must have the same effective HostProcess value + /// (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + /// In addition, if HostProcess is true then HostNetwork must also be set to true. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")] pub host_process: Option, - /// The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + /// The UserName in Windows to run the entrypoint of the container process. + /// Defaults to the user specified in image metadata if unspecified. + /// May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")] pub run_as_user_name: Option, } -/// StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes +/// StartupProbe indicates that the Pod has successfully initialized. +/// If specified, no other probes are executed until this completes successfully. +/// If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. +/// This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, +/// when it might take a long time to load data or warm a cache, than during steady-state operation. +/// This cannot be updated. +/// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersStartupProbe { /// Exec specifies the action to take. #[serde(default, skip_serializing_if = "Option::is_none")] pub exec: Option, - /// Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + /// Minimum consecutive failures for the probe to be considered failed after having succeeded. + /// Defaults to 3. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")] pub failure_threshold: Option, /// GRPC specifies an action involving a GRPC port. @@ -2423,22 +3549,36 @@ pub struct AmazonCloudWatchAgentInitContainersStartupProbe { /// HTTPGet specifies the http request to perform. #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpGet")] pub http_get: Option, - /// Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Number of seconds after the container has started before liveness probes are initiated. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")] pub initial_delay_seconds: Option, - /// How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + /// How often (in seconds) to perform the probe. + /// Default to 10 seconds. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")] pub period_seconds: Option, - /// Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + /// Minimum consecutive successes for the probe to be considered successful after having failed. + /// Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")] pub success_threshold: Option, /// TCPSocket specifies an action involving a TCP port. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")] pub tcp_socket: Option, - /// Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + /// Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + /// The grace period is the duration in seconds after the processes running in the pod are sent + /// a termination signal and the time when the processes are forcibly halted with a kill signal. + /// Set this value longer than the expected cleanup time for your process. + /// If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + /// value overrides the value provided by the pod spec. + /// Value must be non-negative integer. The value zero indicates stop immediately via + /// the kill signal (no opportunity to shut down). + /// This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + /// Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. #[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")] pub termination_grace_period_seconds: Option, - /// Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Number of seconds after which the probe times out. + /// Defaults to 1 second. Minimum value is 1. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")] pub timeout_seconds: Option, } @@ -2446,7 +3586,11 @@ pub struct AmazonCloudWatchAgentInitContainersStartupProbe { /// Exec specifies the action to take. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersStartupProbeExec { - /// Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + /// Command is the command line to execute inside the container, the working directory for the + /// command is root ('/') in the container's filesystem. The command is simply exec'd, it is + /// not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + /// a shell, you need to explicitly call out to that shell. + /// Exit status of 0 is treated as live/healthy and non-zero is unhealthy. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, } @@ -2456,8 +3600,11 @@ pub struct AmazonCloudWatchAgentInitContainersStartupProbeExec { pub struct AmazonCloudWatchAgentInitContainersStartupProbeGrpc { /// Port number of the gRPC service. Number must be in the range 1 to 65535. pub port: i32, - /// Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). - /// If this is not specified, the default behavior is defined by gRPC. + /// Service is the name of the service to place in the gRPC HealthCheckRequest + /// (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + /// + /// + /// If this is not specified, the default behavior is defined by gRPC. #[serde(default, skip_serializing_if = "Option::is_none")] pub service: Option, } @@ -2465,7 +3612,8 @@ pub struct AmazonCloudWatchAgentInitContainersStartupProbeGrpc { /// HTTPGet specifies the http request to perform. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersStartupProbeHttpGet { - /// Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + /// Host name to connect to, defaults to the pod IP. You probably want to set + /// "Host" in httpHeaders instead. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, /// Custom headers to set in the request. HTTP allows repeated headers. @@ -2474,9 +3622,12 @@ pub struct AmazonCloudWatchAgentInitContainersStartupProbeHttpGet { /// Path to access on the HTTP server. #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, - /// Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Name or number of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, - /// Scheme to use for connecting to the host. Defaults to HTTP. + /// Scheme to use for connecting to the host. + /// Defaults to HTTP. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, } @@ -2484,7 +3635,8 @@ pub struct AmazonCloudWatchAgentInitContainersStartupProbeHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersStartupProbeHttpGetHttpHeaders { - /// The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. + /// The header field name. + /// This will be canonicalized upon output, so case-variant names will be understood as the same header. pub name: String, /// The header field value pub value: String, @@ -2496,7 +3648,9 @@ pub struct AmazonCloudWatchAgentInitContainersStartupProbeTcpSocket { /// Optional: Host name to connect to, defaults to the pod IP. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, - /// Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Number or name of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, } @@ -2513,21 +3667,30 @@ pub struct AmazonCloudWatchAgentInitContainersVolumeDevices { /// VolumeMount describes a mounting of a Volume within a container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentInitContainersVolumeMounts { - /// Path within the container at which the volume should be mounted. Must not contain ':'. + /// Path within the container at which the volume should be mounted. Must + /// not contain ':'. #[serde(rename = "mountPath")] pub mount_path: String, - /// mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + /// mountPropagation determines how mounts are propagated from the host + /// to container and the other way around. + /// When not set, MountPropagationNone is used. + /// This field is beta in 1.10. #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")] pub mount_propagation: Option, /// This must match the Name of a Volume. pub name: String, - /// Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. + /// Mounted read-only if true, read-write otherwise (false or unspecified). + /// Defaults to false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + /// Path within the volume from which the container's volume should be mounted. + /// Defaults to "" (volume's root). #[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")] pub sub_path: Option, - /// Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive. + /// Expanded path within the volume from which the container's volume should be mounted. + /// Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + /// Defaults to "" (volume's root). + /// SubPathExpr and SubPath are mutually exclusive. #[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")] pub sub_path_expr: Option, } @@ -2535,15 +3698,29 @@ pub struct AmazonCloudWatchAgentInitContainersVolumeMounts { /// Actions that the management system should take in response to container lifecycle events. Cannot be updated. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentLifecycle { - /// PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + /// PostStart is called immediately after a container is created. If the handler fails, + /// the container is terminated and restarted according to its restart policy. + /// Other management of the container blocks until the hook completes. + /// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks #[serde(default, skip_serializing_if = "Option::is_none", rename = "postStart")] pub post_start: Option, - /// PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks + /// PreStop is called immediately before a container is terminated due to an + /// API request or management event such as liveness/startup probe failure, + /// preemption, resource contention, etc. The handler is not called if the + /// container crashes or exits. The Pod's termination grace period countdown begins before the + /// PreStop hook is executed. Regardless of the outcome of the handler, the + /// container will eventually terminate within the Pod's termination grace + /// period (unless delayed by finalizers). Other management of the container blocks until the hook completes + /// or until the termination grace period is reached. + /// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks #[serde(default, skip_serializing_if = "Option::is_none", rename = "preStop")] pub pre_stop: Option, } -/// PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +/// PostStart is called immediately after a container is created. If the handler fails, +/// the container is terminated and restarted according to its restart policy. +/// Other management of the container blocks until the hook completes. +/// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentLifecyclePostStart { /// Exec specifies the action to take. @@ -2555,7 +3732,9 @@ pub struct AmazonCloudWatchAgentLifecyclePostStart { /// Sleep represents the duration that the container should sleep before being terminated. #[serde(default, skip_serializing_if = "Option::is_none")] pub sleep: Option, - /// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + /// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept + /// for the backward compatibility. There are no validation of this field and + /// lifecycle hooks will fail in runtime when tcp handler is specified. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")] pub tcp_socket: Option, } @@ -2563,7 +3742,11 @@ pub struct AmazonCloudWatchAgentLifecyclePostStart { /// Exec specifies the action to take. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentLifecyclePostStartExec { - /// Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + /// Command is the command line to execute inside the container, the working directory for the + /// command is root ('/') in the container's filesystem. The command is simply exec'd, it is + /// not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + /// a shell, you need to explicitly call out to that shell. + /// Exit status of 0 is treated as live/healthy and non-zero is unhealthy. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, } @@ -2571,7 +3754,8 @@ pub struct AmazonCloudWatchAgentLifecyclePostStartExec { /// HTTPGet specifies the http request to perform. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentLifecyclePostStartHttpGet { - /// Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + /// Host name to connect to, defaults to the pod IP. You probably want to set + /// "Host" in httpHeaders instead. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, /// Custom headers to set in the request. HTTP allows repeated headers. @@ -2580,9 +3764,12 @@ pub struct AmazonCloudWatchAgentLifecyclePostStartHttpGet { /// Path to access on the HTTP server. #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, - /// Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Name or number of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, - /// Scheme to use for connecting to the host. Defaults to HTTP. + /// Scheme to use for connecting to the host. + /// Defaults to HTTP. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, } @@ -2590,7 +3777,8 @@ pub struct AmazonCloudWatchAgentLifecyclePostStartHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentLifecyclePostStartHttpGetHttpHeaders { - /// The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. + /// The header field name. + /// This will be canonicalized upon output, so case-variant names will be understood as the same header. pub name: String, /// The header field value pub value: String, @@ -2603,17 +3791,29 @@ pub struct AmazonCloudWatchAgentLifecyclePostStartSleep { pub seconds: i64, } -/// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. +/// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept +/// for the backward compatibility. There are no validation of this field and +/// lifecycle hooks will fail in runtime when tcp handler is specified. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentLifecyclePostStartTcpSocket { /// Optional: Host name to connect to, defaults to the pod IP. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, - /// Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Number or name of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, } -/// PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks +/// PreStop is called immediately before a container is terminated due to an +/// API request or management event such as liveness/startup probe failure, +/// preemption, resource contention, etc. The handler is not called if the +/// container crashes or exits. The Pod's termination grace period countdown begins before the +/// PreStop hook is executed. Regardless of the outcome of the handler, the +/// container will eventually terminate within the Pod's termination grace +/// period (unless delayed by finalizers). Other management of the container blocks until the hook completes +/// or until the termination grace period is reached. +/// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentLifecyclePreStop { /// Exec specifies the action to take. @@ -2625,7 +3825,9 @@ pub struct AmazonCloudWatchAgentLifecyclePreStop { /// Sleep represents the duration that the container should sleep before being terminated. #[serde(default, skip_serializing_if = "Option::is_none")] pub sleep: Option, - /// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. + /// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept + /// for the backward compatibility. There are no validation of this field and + /// lifecycle hooks will fail in runtime when tcp handler is specified. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tcpSocket")] pub tcp_socket: Option, } @@ -2633,7 +3835,11 @@ pub struct AmazonCloudWatchAgentLifecyclePreStop { /// Exec specifies the action to take. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentLifecyclePreStopExec { - /// Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. + /// Command is the command line to execute inside the container, the working directory for the + /// command is root ('/') in the container's filesystem. The command is simply exec'd, it is + /// not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use + /// a shell, you need to explicitly call out to that shell. + /// Exit status of 0 is treated as live/healthy and non-zero is unhealthy. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, } @@ -2641,7 +3847,8 @@ pub struct AmazonCloudWatchAgentLifecyclePreStopExec { /// HTTPGet specifies the http request to perform. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentLifecyclePreStopHttpGet { - /// Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. + /// Host name to connect to, defaults to the pod IP. You probably want to set + /// "Host" in httpHeaders instead. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, /// Custom headers to set in the request. HTTP allows repeated headers. @@ -2650,9 +3857,12 @@ pub struct AmazonCloudWatchAgentLifecyclePreStopHttpGet { /// Path to access on the HTTP server. #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, - /// Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Name or number of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, - /// Scheme to use for connecting to the host. Defaults to HTTP. + /// Scheme to use for connecting to the host. + /// Defaults to HTTP. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, } @@ -2660,7 +3870,8 @@ pub struct AmazonCloudWatchAgentLifecyclePreStopHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentLifecyclePreStopHttpGetHttpHeaders { - /// The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. + /// The header field name. + /// This will be canonicalized upon output, so case-variant names will be understood as the same header. pub name: String, /// The header field value pub value: String, @@ -2673,35 +3884,56 @@ pub struct AmazonCloudWatchAgentLifecyclePreStopSleep { pub seconds: i64, } -/// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified. +/// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept +/// for the backward compatibility. There are no validation of this field and +/// lifecycle hooks will fail in runtime when tcp handler is specified. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentLifecyclePreStopTcpSocket { /// Optional: Host name to connect to, defaults to the pod IP. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, - /// Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// Number or name of the port to access on the container. + /// Number must be in the range 1 to 65535. + /// Name must be an IANA_SVC_NAME. pub port: IntOrString, } -/// Liveness config for the OpenTelemetry Collector except the probe handler which is auto generated from the health extension of the collector. It is only effective when healthcheckextension is configured in the OpenTelemetry Collector pipeline. +/// Liveness config for the OpenTelemetry Collector except the probe handler which is auto generated from the health extension of the collector. +/// It is only effective when healthcheckextension is configured in the OpenTelemetry Collector pipeline. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentLivenessProbe { - /// Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. + /// Minimum consecutive failures for the probe to be considered failed after having succeeded. + /// Defaults to 3. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "failureThreshold")] pub failure_threshold: Option, - /// Number of seconds after the container has started before liveness probes are initiated. Defaults to 0 seconds. Minimum value is 0. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Number of seconds after the container has started before liveness probes are initiated. + /// Defaults to 0 seconds. Minimum value is 0. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "initialDelaySeconds")] pub initial_delay_seconds: Option, - /// How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. + /// How often (in seconds) to perform the probe. + /// Default to 10 seconds. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "periodSeconds")] pub period_seconds: Option, - /// Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. + /// Minimum consecutive successes for the probe to be considered successful after having failed. + /// Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. #[serde(default, skip_serializing_if = "Option::is_none", rename = "successThreshold")] pub success_threshold: Option, - /// Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. + /// Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + /// The grace period is the duration in seconds after the processes running in the pod are sent + /// a termination signal and the time when the processes are forcibly halted with a kill signal. + /// Set this value longer than the expected cleanup time for your process. + /// If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this + /// value overrides the value provided by the pod spec. + /// Value must be non-negative integer. The value zero indicates stop immediately via + /// the kill signal (no opportunity to shut down). + /// This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate. + /// Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset. #[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationGracePeriodSeconds")] pub termination_grace_period_seconds: Option, - /// Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + /// Number of seconds after which the probe times out. + /// Defaults to 1 second. Minimum value is 1. + /// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes #[serde(default, skip_serializing_if = "Option::is_none", rename = "timeoutSeconds")] pub timeout_seconds: Option, } @@ -2739,61 +3971,125 @@ pub struct AmazonCloudWatchAgentObservability { /// Metrics defines the metrics configuration for operands. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentObservabilityMetrics { - /// EnableMetrics specifies if ServiceMonitor or PodMonitor(for sidecar mode) should be created for the service managed by the OpenTelemetry Operator. The operator.observability.prometheus feature gate must be enabled to use this feature. + /// EnableMetrics specifies if ServiceMonitor or PodMonitor(for sidecar mode) should be created for the service managed by the OpenTelemetry Operator. + /// The operator.observability.prometheus feature gate must be enabled to use this feature. #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableMetrics")] pub enable_metrics: Option, } -/// PodDisruptionBudget specifies the pod disruption budget configuration to use for the AmazonCloudWatchAgent workload. +/// PodDisruptionBudget specifies the pod disruption budget configuration to use +/// for the AmazonCloudWatchAgent workload. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentPodDisruptionBudget { - /// An eviction is allowed if at most "maxUnavailable" pods selected by "selector" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with "minAvailable". + /// An eviction is allowed if at most "maxUnavailable" pods selected by + /// "selector" are unavailable after the eviction, i.e. even in absence of + /// the evicted pod. For example, one can prevent all voluntary evictions + /// by specifying 0. This is a mutually exclusive setting with "minAvailable". #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxUnavailable")] pub max_unavailable: Option, - /// An eviction is allowed if at least "minAvailable" pods selected by "selector" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying "100%". + /// An eviction is allowed if at least "minAvailable" pods selected by + /// "selector" will still be available after the eviction, i.e. even in the + /// absence of the evicted pod. So for example you can prevent all voluntary + /// evictions by specifying "100%". #[serde(default, skip_serializing_if = "Option::is_none", rename = "minAvailable")] pub min_available: Option, } -/// PodSecurityContext configures the pod security context for the amazon-cloudwatch-agent pod, when running as a deployment, daemonset, or statefulset. -/// In sidecar mode, the amazon-cloudwatch-agent-operator will ignore this setting. +/// PodSecurityContext configures the pod security context for the +/// amazon-cloudwatch-agent pod, when running as a deployment, daemonset, +/// or statefulset. +/// +/// +/// In sidecar mode, the amazon-cloudwatch-agent-operator will ignore this setting. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentPodSecurityContext { - /// A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: - /// 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- - /// If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows. + /// A special supplemental group that applies to all containers in a pod. + /// Some volume types allow the Kubelet to change the ownership of that volume + /// to be owned by the pod: + /// + /// + /// 1. The owning GID will be the FSGroup + /// 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) + /// 3. The permission bits are OR'd with rw-rw---- + /// + /// + /// If unset, the Kubelet will not modify the ownership and permissions of any volume. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")] pub fs_group: Option, - /// fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. Note that this field cannot be set when spec.os.name is windows. + /// fsGroupChangePolicy defines behavior of changing ownership and permission of the volume + /// before being exposed inside Pod. This field will only apply to + /// volume types which support fsGroup based ownership(and permissions). + /// It will have no effect on ephemeral volume types such as: secret, configmaps + /// and emptydir. + /// Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroupChangePolicy")] pub fs_group_change_policy: Option, - /// The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + /// The GID to run the entrypoint of the container process. + /// Uses runtime default if unset. + /// May also be set in SecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence + /// for that container. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")] pub run_as_group: Option, - /// Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Indicates that the container must run as a non-root user. + /// If true, the Kubelet will validate the image at runtime to ensure that it + /// does not run as UID 0 (root) and fail to start the container if it does. + /// If unset or false, no such validation will be performed. + /// May also be set in SecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")] pub run_as_non_root: Option, - /// The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + /// The UID to run the entrypoint of the container process. + /// Defaults to user specified in image metadata if unspecified. + /// May also be set in SecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence + /// for that container. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")] pub run_as_user: Option, - /// The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. + /// The SELinux context to be applied to all containers. + /// If unspecified, the container runtime will allocate a random SELinux context for each + /// container. May also be set in SecurityContext. If set in + /// both SecurityContext and PodSecurityContext, the value specified in SecurityContext + /// takes precedence for that container. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")] pub se_linux_options: Option, - /// The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. + /// The seccomp options to use by the containers in this pod. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")] pub seccomp_profile: Option, - /// A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows. + /// A list of groups applied to the first process run in each container, in addition + /// to the container's primary GID, the fsGroup (if specified), and group memberships + /// defined in the container image for the uid of the container process. If unspecified, + /// no additional groups are added to any container. Note that group memberships + /// defined in the container image for the uid of the container process are still effective, + /// even if they are not included in this list. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroups")] pub supplemental_groups: Option>, - /// Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows. + /// Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported + /// sysctls (by the container runtime) might fail to launch. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none")] pub sysctls: Option>, - /// The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + /// The Windows specific settings applied to all containers. + /// If unspecified, the options within a container's SecurityContext will be used. + /// If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Note that this field cannot be set when spec.os.name is linux. #[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")] pub windows_options: Option, } -/// The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows. +/// The SELinux context to be applied to all containers. +/// If unspecified, the container runtime will allocate a random SELinux context for each +/// container. May also be set in SecurityContext. If set in +/// both SecurityContext and PodSecurityContext, the value specified in SecurityContext +/// takes precedence for that container. +/// Note that this field cannot be set when spec.os.name is windows. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentPodSecurityContextSeLinuxOptions { /// Level is SELinux level label that applies to the container. @@ -2810,14 +4106,23 @@ pub struct AmazonCloudWatchAgentPodSecurityContextSeLinuxOptions { pub user: Option, } -/// The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows. +/// The seccomp options to use by the containers in this pod. +/// Note that this field cannot be set when spec.os.name is windows. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentPodSecurityContextSeccompProfile { - /// localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is "Localhost". Must NOT be set for any other type. + /// localhostProfile indicates a profile defined in a file on the node should be used. + /// The profile must be preconfigured on the node to work. + /// Must be a descending path, relative to the kubelet's configured seccomp profile location. + /// Must be set if type is "Localhost". Must NOT be set for any other type. #[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")] pub localhost_profile: Option, - /// type indicates which kind of seccomp profile will be applied. Valid options are: - /// Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + /// type indicates which kind of seccomp profile will be applied. + /// Valid options are: + /// + /// + /// Localhost - a profile defined in a file on the node should be used. + /// RuntimeDefault - the container runtime default profile should be used. + /// Unconfined - no profile should be applied. #[serde(rename = "type")] pub r#type: String, } @@ -2831,19 +4136,30 @@ pub struct AmazonCloudWatchAgentPodSecurityContextSysctls { pub value: String, } -/// The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. +/// The Windows specific settings applied to all containers. +/// If unspecified, the options within a container's SecurityContext will be used. +/// If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +/// Note that this field cannot be set when spec.os.name is linux. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentPodSecurityContextWindowsOptions { - /// GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + /// GMSACredentialSpec is where the GMSA admission webhook + /// (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + /// GMSA credential spec named by the GMSACredentialSpecName field. #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")] pub gmsa_credential_spec: Option, /// GMSACredentialSpecName is the name of the GMSA credential spec to use. #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")] pub gmsa_credential_spec_name: Option, - /// HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + /// HostProcess determines if a container should be run as a 'Host Process' container. + /// All of a Pod's containers must have the same effective HostProcess value + /// (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + /// In addition, if HostProcess is true then HostNetwork must also be set to true. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")] pub host_process: Option, - /// The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + /// The UserName in Windows to run the entrypoint of the container process. + /// Defaults to the user specified in image metadata if unspecified. + /// May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")] pub run_as_user_name: Option, } @@ -2851,24 +4167,58 @@ pub struct AmazonCloudWatchAgentPodSecurityContextWindowsOptions { /// ServicePort contains information on service's port. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentPorts { - /// The application protocol for this port. This is used as a hint for implementations to offer richer behavior for protocols that they understand. This field follows standard Kubernetes label syntax. Valid values are either: - /// * Un-prefixed protocol names - reserved for IANA standard service names (as per RFC-6335 and https://www.iana.org/assignments/service-names). - /// * Kubernetes-defined prefixed names: * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- * 'kubernetes.io/ws' - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455 * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455 - /// * Other protocols should use implementation-defined prefixed names such as mycompany.com/my-custom-protocol. + /// The application protocol for this port. + /// This is used as a hint for implementations to offer richer behavior for protocols that they understand. + /// This field follows standard Kubernetes label syntax. + /// Valid values are either: + /// + /// + /// * Un-prefixed protocol names - reserved for IANA standard service names (as per + /// RFC-6335 and https://www.iana.org/assignments/service-names). + /// + /// + /// * Kubernetes-defined prefixed names: + /// * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- + /// * 'kubernetes.io/ws' - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455 + /// * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455 + /// + /// + /// * Other protocols should use implementation-defined prefixed names such as + /// mycompany.com/my-custom-protocol. #[serde(default, skip_serializing_if = "Option::is_none", rename = "appProtocol")] pub app_protocol: Option, - /// The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service, this must match the 'name' field in the EndpointPort. Optional if only one ServicePort is defined on this service. + /// The name of this port within the service. This must be a DNS_LABEL. + /// All ports within a ServiceSpec must have unique names. When considering + /// the endpoints for a Service, this must match the 'name' field in the + /// EndpointPort. + /// Optional if only one ServicePort is defined on this service. #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, - /// The port on each node on which this service is exposed when type is NodePort or LoadBalancer. Usually assigned by the system. If a value is specified, in-range, and not in use it will be used, otherwise the operation will fail. If not specified, a port will be allocated if this Service requires one. If this field is specified when creating a Service which does not need it, creation will fail. This field will be wiped when updating a Service to no longer need it (e.g. changing type from NodePort to ClusterIP). More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport + /// The port on each node on which this service is exposed when type is + /// NodePort or LoadBalancer. Usually assigned by the system. If a value is + /// specified, in-range, and not in use it will be used, otherwise the + /// operation will fail. If not specified, a port will be allocated if this + /// Service requires one. If this field is specified when creating a + /// Service which does not need it, creation will fail. This field will be + /// wiped when updating a Service to no longer need it (e.g. changing type + /// from NodePort to ClusterIP). + /// More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePort")] pub node_port: Option, /// The port that will be exposed by this service. pub port: i32, - /// The IP protocol for this port. Supports "TCP", "UDP", and "SCTP". Default is TCP. + /// The IP protocol for this port. Supports "TCP", "UDP", and "SCTP". + /// Default is TCP. #[serde(default, skip_serializing_if = "Option::is_none")] pub protocol: Option, - /// Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod's container ports. If this is not specified, the value of the 'port' field is used (an identity map). This field is ignored for services with clusterIP=None, and should be omitted or set equal to the 'port' field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service + /// Number or name of the port to access on the pods targeted by the service. + /// Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. + /// If this is a string, it will be looked up as a named port in the + /// target Pod's container ports. If this is not specified, the value + /// of the 'port' field is used (an identity map). + /// This field is ignored for services with clusterIP=None, and should be + /// omitted or set equal to the 'port' field. + /// More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetPort")] pub target_port: Option, } @@ -2876,15 +4226,25 @@ pub struct AmazonCloudWatchAgentPorts { /// Resources to set on the OpenTelemetry Collector pods. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentResources { - /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. - /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. - /// This field is immutable. It can only be set for containers. + /// Claims lists the names of resources, defined in spec.resourceClaims, + /// that are used by this container. + /// + /// + /// This is an alpha field and requires enabling the + /// DynamicResourceAllocation feature gate. + /// + /// + /// This field is immutable. It can only be set for containers. #[serde(default, skip_serializing_if = "Option::is_none")] pub claims: Option>, - /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Limits describes the maximum amount of compute resources allowed. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, - /// Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Requests describes the minimum amount of compute resources required. + /// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + /// otherwise to an implementation-defined value. Requests cannot exceed Limits. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub requests: Option>, } @@ -2892,51 +4252,103 @@ pub struct AmazonCloudWatchAgentResources { /// ResourceClaim references one entry in PodSpec.ResourceClaims. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentResourcesClaims { - /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + /// Name must match the name of one entry in pod.spec.resourceClaims of + /// the Pod where this field is used. It makes that resource available + /// inside a container. pub name: String, } -/// SecurityContext configures the container security context for the amazon-cloudwatch-agent container. -/// In deployment, daemonset, or statefulset mode, this controls the security context settings for the primary application container. -/// In sidecar mode, this controls the security context for the injected sidecar container. +/// SecurityContext configures the container security context for +/// the amazon-cloudwatch-agent container. +/// +/// +/// In deployment, daemonset, or statefulset mode, this controls +/// the security context settings for the primary application +/// container. +/// +/// +/// In sidecar mode, this controls the security context for the +/// injected sidecar container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentSecurityContext { - /// AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows. + /// AllowPrivilegeEscalation controls whether a process can gain more + /// privileges than its parent process. This bool directly controls if + /// the no_new_privs flag will be set on the container process. + /// AllowPrivilegeEscalation is true always when the container is: + /// 1) run as Privileged + /// 2) has CAP_SYS_ADMIN + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")] pub allow_privilege_escalation: Option, - /// The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. + /// The capabilities to add/drop when running containers. + /// Defaults to the default set of capabilities granted by the container runtime. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none")] pub capabilities: Option, - /// Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows. + /// Run container in privileged mode. + /// Processes in privileged containers are essentially equivalent to root on the host. + /// Defaults to false. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none")] pub privileged: Option, - /// procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows. + /// procMount denotes the type of proc mount to use for the containers. + /// The default is DefaultProcMount which uses the container runtime defaults for + /// readonly paths and masked paths. + /// This requires the ProcMountType feature flag to be enabled. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")] pub proc_mount: Option, - /// Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows. + /// Whether this container has a read-only root filesystem. + /// Default is false. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")] pub read_only_root_filesystem: Option, - /// The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + /// The GID to run the entrypoint of the container process. + /// Uses runtime default if unset. + /// May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")] pub run_as_group: Option, - /// Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Indicates that the container must run as a non-root user. + /// If true, the Kubelet will validate the image at runtime to ensure that it + /// does not run as UID 0 (root) and fail to start the container if it does. + /// If unset or false, no such validation will be performed. + /// May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")] pub run_as_non_root: Option, - /// The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + /// The UID to run the entrypoint of the container process. + /// Defaults to user specified in image metadata if unspecified. + /// May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")] pub run_as_user: Option, - /// The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. + /// The SELinux context to be applied to the container. + /// If unspecified, the container runtime will allocate a random SELinux context for each + /// container. May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")] pub se_linux_options: Option, - /// The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. + /// The seccomp options to use by this container. If seccomp options are + /// provided at both the pod & container level, the container options + /// override the pod options. + /// Note that this field cannot be set when spec.os.name is windows. #[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")] pub seccomp_profile: Option, - /// The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. + /// The Windows specific settings applied to all containers. + /// If unspecified, the options from the PodSecurityContext will be used. + /// If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + /// Note that this field cannot be set when spec.os.name is linux. #[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")] pub windows_options: Option, } -/// The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows. +/// The capabilities to add/drop when running containers. +/// Defaults to the default set of capabilities granted by the container runtime. +/// Note that this field cannot be set when spec.os.name is windows. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentSecurityContextCapabilities { /// Added capabilities @@ -2947,7 +4359,11 @@ pub struct AmazonCloudWatchAgentSecurityContextCapabilities { pub drop: Option>, } -/// The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows. +/// The SELinux context to be applied to the container. +/// If unspecified, the container runtime will allocate a random SELinux context for each +/// container. May also be set in PodSecurityContext. If set in both SecurityContext and +/// PodSecurityContext, the value specified in SecurityContext takes precedence. +/// Note that this field cannot be set when spec.os.name is windows. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentSecurityContextSeLinuxOptions { /// Level is SELinux level label that applies to the container. @@ -2964,51 +4380,83 @@ pub struct AmazonCloudWatchAgentSecurityContextSeLinuxOptions { pub user: Option, } -/// The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows. +/// The seccomp options to use by this container. If seccomp options are +/// provided at both the pod & container level, the container options +/// override the pod options. +/// Note that this field cannot be set when spec.os.name is windows. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentSecurityContextSeccompProfile { - /// localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is "Localhost". Must NOT be set for any other type. + /// localhostProfile indicates a profile defined in a file on the node should be used. + /// The profile must be preconfigured on the node to work. + /// Must be a descending path, relative to the kubelet's configured seccomp profile location. + /// Must be set if type is "Localhost". Must NOT be set for any other type. #[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")] pub localhost_profile: Option, - /// type indicates which kind of seccomp profile will be applied. Valid options are: - /// Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. + /// type indicates which kind of seccomp profile will be applied. + /// Valid options are: + /// + /// + /// Localhost - a profile defined in a file on the node should be used. + /// RuntimeDefault - the container runtime default profile should be used. + /// Unconfined - no profile should be applied. #[serde(rename = "type")] pub r#type: String, } -/// The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux. +/// The Windows specific settings applied to all containers. +/// If unspecified, the options from the PodSecurityContext will be used. +/// If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. +/// Note that this field cannot be set when spec.os.name is linux. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentSecurityContextWindowsOptions { - /// GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. + /// GMSACredentialSpec is where the GMSA admission webhook + /// (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the + /// GMSA credential spec named by the GMSACredentialSpecName field. #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")] pub gmsa_credential_spec: Option, /// GMSACredentialSpecName is the name of the GMSA credential spec to use. #[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")] pub gmsa_credential_spec_name: Option, - /// HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. + /// HostProcess determines if a container should be run as a 'Host Process' container. + /// All of a Pod's containers must have the same effective HostProcess value + /// (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). + /// In addition, if HostProcess is true then HostNetwork must also be set to true. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")] pub host_process: Option, - /// The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. + /// The UserName in Windows to run the entrypoint of the container process. + /// Defaults to the user specified in image metadata if unspecified. + /// May also be set in PodSecurityContext. If set in both SecurityContext and + /// PodSecurityContext, the value specified in SecurityContext takes precedence. #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")] pub run_as_user_name: Option, } -/// The pod this Toleration is attached to tolerates any taint that matches the triple using the matching operator . +/// The pod this Toleration is attached to tolerates any taint that matches +/// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentTolerations { - /// Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + /// Effect indicates the taint effect to match. Empty means match all taint effects. + /// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. #[serde(default, skip_serializing_if = "Option::is_none")] pub effect: Option, - /// Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. + /// Key is the taint key that the toleration applies to. Empty means match all taint keys. + /// If the key is empty, operator must be Exists; this combination means to match all values and all keys. #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. + /// Operator represents a key's relationship to the value. + /// Valid operators are Exists and Equal. Defaults to Equal. + /// Exists is equivalent to wildcard for value, so that a pod can + /// tolerate all taints of a particular category. #[serde(default, skip_serializing_if = "Option::is_none")] pub operator: Option, - /// TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. + /// TolerationSeconds represents the period of time the toleration (which must be + /// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + /// it is not set, which means tolerate the taint forever (do not evict). Zero and + /// negative values will be treated as 0 (evict immediately) by the system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, - /// Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. + /// Value is the taint value the toleration matches to. + /// If the operator is Exists, the value should be empty, otherwise just a regular string. #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, } @@ -3016,64 +4464,165 @@ pub struct AmazonCloudWatchAgentTolerations { /// TopologySpreadConstraint specifies how to spread matching pods among the given topology. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentTopologySpreadConstraints { - /// LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. + /// LabelSelector is used to find matching pods. + /// Pods that match this label selector are counted to determine the number of pods + /// in their corresponding topology domain. #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated. The keys are used to lookup values from the incoming pod labels, those key-value labels are ANDed with labelSelector to select the group of existing pods over which spreading will be calculated for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. MatchLabelKeys cannot be set when LabelSelector isn't set. Keys that don't exist in the incoming pod labels will be ignored. A null or empty list means only match against labelSelector. - /// This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default). + /// MatchLabelKeys is a set of pod label keys to select the pods over which + /// spreading will be calculated. The keys are used to lookup values from the + /// incoming pod labels, those key-value labels are ANDed with labelSelector + /// to select the group of existing pods over which spreading will be calculated + /// for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. + /// MatchLabelKeys cannot be set when LabelSelector isn't set. + /// Keys that don't exist in the incoming pod labels will + /// be ignored. A null or empty list means only match against labelSelector. + /// + /// + /// This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default). #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")] pub match_label_keys: Option>, - /// MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. The global minimum is the minimum number of matching pods in an eligible domain or zero if the number of eligible domains is less than MinDomains. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 2/2/1: In this case, the global minimum is 1. | zone1 | zone2 | zone3 | | P P | P P | P | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2; scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It's a required field. Default value is 1 and 0 is not allowed. + /// MaxSkew describes the degree to which pods may be unevenly distributed. + /// When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference + /// between the number of matching pods in the target topology and the global minimum. + /// The global minimum is the minimum number of matching pods in an eligible domain + /// or zero if the number of eligible domains is less than MinDomains. + /// For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same + /// labelSelector spread as 2/2/1: + /// In this case, the global minimum is 1. + /// | zone1 | zone2 | zone3 | + /// | P P | P P | P | + /// - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2; + /// scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2) + /// violate MaxSkew(1). + /// - if MaxSkew is 2, incoming pod can be scheduled onto any zone. + /// When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence + /// to topologies that satisfy it. + /// It's a required field. Default value is 1 and 0 is not allowed. #[serde(rename = "maxSkew")] pub max_skew: i32, - /// MinDomains indicates a minimum number of eligible domains. When the number of eligible domains with matching topology keys is less than minDomains, Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed. And when the number of eligible domains with matching topology keys equals or greater than minDomains, this value has no effect on scheduling. As a result, when the number of eligible domains is less than minDomains, scheduler won't schedule more than maxSkew Pods to those domains. If value is nil, the constraint behaves as if MinDomains is equal to 1. Valid values are integers greater than 0. When value is not nil, WhenUnsatisfiable must be DoNotSchedule. - /// For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same labelSelector spread as 2/2/2: | zone1 | zone2 | zone3 | | P P | P P | P P | The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0. In this situation, new pod with the same labelSelector cannot be scheduled, because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, it will violate MaxSkew. - /// This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default). + /// MinDomains indicates a minimum number of eligible domains. + /// When the number of eligible domains with matching topology keys is less than minDomains, + /// Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed. + /// And when the number of eligible domains with matching topology keys equals or greater than minDomains, + /// this value has no effect on scheduling. + /// As a result, when the number of eligible domains is less than minDomains, + /// scheduler won't schedule more than maxSkew Pods to those domains. + /// If value is nil, the constraint behaves as if MinDomains is equal to 1. + /// Valid values are integers greater than 0. + /// When value is not nil, WhenUnsatisfiable must be DoNotSchedule. + /// + /// + /// For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same + /// labelSelector spread as 2/2/2: + /// | zone1 | zone2 | zone3 | + /// | P P | P P | P P | + /// The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0. + /// In this situation, new pod with the same labelSelector cannot be scheduled, + /// because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones, + /// it will violate MaxSkew. + /// + /// + /// This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default). #[serde(default, skip_serializing_if = "Option::is_none", rename = "minDomains")] pub min_domains: Option, - /// NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector when calculating pod topology spread skew. Options are: - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. - /// If this value is nil, the behavior is equivalent to the Honor policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + /// NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector + /// when calculating pod topology spread skew. Options are: + /// - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations. + /// - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations. + /// + /// + /// If this value is nil, the behavior is equivalent to the Honor policy. + /// This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinityPolicy")] pub node_affinity_policy: Option, - /// NodeTaintsPolicy indicates how we will treat node taints when calculating pod topology spread skew. Options are: - Honor: nodes without taints, along with tainted nodes for which the incoming pod has a toleration, are included. - Ignore: node taints are ignored. All nodes are included. - /// If this value is nil, the behavior is equivalent to the Ignore policy. This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. + /// NodeTaintsPolicy indicates how we will treat node taints when calculating + /// pod topology spread skew. Options are: + /// - Honor: nodes without taints, along with tainted nodes for which the incoming pod + /// has a toleration, are included. + /// - Ignore: node taints are ignored. All nodes are included. + /// + /// + /// If this value is nil, the behavior is equivalent to the Ignore policy. + /// This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeTaintsPolicy")] pub node_taints_policy: Option, - /// TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each as a "bucket", and try to put balanced number of pods into each bucket. We define a domain as a particular instance of a topology. Also, we define an eligible domain as a domain whose nodes meet the requirements of nodeAffinityPolicy and nodeTaintsPolicy. e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology. And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology. It's a required field. + /// TopologyKey is the key of node labels. Nodes that have a label with this key + /// and identical values are considered to be in the same topology. + /// We consider each as a "bucket", and try to put balanced number + /// of pods into each bucket. + /// We define a domain as a particular instance of a topology. + /// Also, we define an eligible domain as a domain whose nodes meet the requirements of + /// nodeAffinityPolicy and nodeTaintsPolicy. + /// e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology. + /// And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology. + /// It's a required field. #[serde(rename = "topologyKey")] pub topology_key: String, - /// WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location, but giving higher precedence to topologies that would help reduce the skew. A constraint is considered "Unsatisfiable" for an incoming pod if and only if every possible node assignment for that pod would violate "MaxSkew" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won't make it *more* imbalanced. It's a required field. + /// WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy + /// the spread constraint. + /// - DoNotSchedule (default) tells the scheduler not to schedule it. + /// - ScheduleAnyway tells the scheduler to schedule the pod in any location, + /// but giving higher precedence to topologies that would help reduce the + /// skew. + /// A constraint is considered "Unsatisfiable" for an incoming pod + /// if and only if every possible node assignment for that pod would violate + /// "MaxSkew" on some topology. + /// For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same + /// labelSelector spread as 3/1/1: + /// | zone1 | zone2 | zone3 | + /// | P P P | P | P | + /// If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled + /// to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies + /// MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler + /// won't make it *more* imbalanced. + /// It's a required field. #[serde(rename = "whenUnsatisfiable")] pub when_unsatisfiable: String, } -/// LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain. +/// LabelSelector is used to find matching pods. +/// Pods that match this label selector are counted to determine the number of pods +/// in their corresponding topology domain. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentTopologySpreadConstraintsLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentTopologySpreadConstraintsLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// UpdateStrategy represents the strategy the operator will take replacing existing DaemonSet pods with new pods https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/#DaemonSetSpec This is only applicable to Daemonset mode. +/// UpdateStrategy represents the strategy the operator will take replacing existing DaemonSet pods with new pods +/// https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/#DaemonSetSpec +/// This is only applicable to Daemonset mode. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentUpdateStrategy { - /// Rolling update config params. Present only if type = "RollingUpdate". --- TODO: Update this to follow our convention for oneOf, whatever we decide it to be. Same as Deployment `strategy.rollingUpdate`. See https://github.com/kubernetes/kubernetes/issues/35345 + /// Rolling update config params. Present only if type = "RollingUpdate". + /// --- + /// TODO: Update this to follow our convention for oneOf, whatever we decide it + /// to be. Same as Deployment `strategy.rollingUpdate`. + /// See https://github.com/kubernetes/kubernetes/issues/35345 #[serde(default, skip_serializing_if = "Option::is_none", rename = "rollingUpdate")] pub rolling_update: Option, /// Type of daemon set update. Can be "RollingUpdate" or "OnDelete". Default is RollingUpdate. @@ -3081,13 +4630,47 @@ pub struct AmazonCloudWatchAgentUpdateStrategy { pub r#type: Option, } -/// Rolling update config params. Present only if type = "RollingUpdate". --- TODO: Update this to follow our convention for oneOf, whatever we decide it to be. Same as Deployment `strategy.rollingUpdate`. See https://github.com/kubernetes/kubernetes/issues/35345 +/// Rolling update config params. Present only if type = "RollingUpdate". +/// --- +/// TODO: Update this to follow our convention for oneOf, whatever we decide it +/// to be. Same as Deployment `strategy.rollingUpdate`. +/// See https://github.com/kubernetes/kubernetes/issues/35345 #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentUpdateStrategyRollingUpdate { - /// The maximum number of nodes with an existing available DaemonSet pod that can have an updated DaemonSet pod during during an update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up to a minimum of 1. Default value is 0. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their a new pod created before the old pod is marked as deleted. The update starts by launching new pods on 30% of nodes. Once an updated pod is available (Ready for at least minReadySeconds) the old DaemonSet pod on that node is marked deleted. If the old pod becomes unavailable for any reason (Ready transitions to false, is evicted, or is drained) an updated pod is immediatedly created on that node without considering surge limits. Allowing surge implies the possibility that the resources consumed by the daemonset on any given node can double if the readiness check fails, and so resource intensive daemonsets should take into account that they may cause evictions during disruption. + /// The maximum number of nodes with an existing available DaemonSet pod that + /// can have an updated DaemonSet pod during during an update. + /// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). + /// This can not be 0 if MaxUnavailable is 0. + /// Absolute number is calculated from percentage by rounding up to a minimum of 1. + /// Default value is 0. + /// Example: when this is set to 30%, at most 30% of the total number of nodes + /// that should be running the daemon pod (i.e. status.desiredNumberScheduled) + /// can have their a new pod created before the old pod is marked as deleted. + /// The update starts by launching new pods on 30% of nodes. Once an updated + /// pod is available (Ready for at least minReadySeconds) the old DaemonSet pod + /// on that node is marked deleted. If the old pod becomes unavailable for any + /// reason (Ready transitions to false, is evicted, or is drained) an updated + /// pod is immediatedly created on that node without considering surge limits. + /// Allowing surge implies the possibility that the resources consumed by the + /// daemonset on any given node can double if the readiness check fails, and + /// so resource intensive daemonsets should take into account that they may + /// cause evictions during disruption. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxSurge")] pub max_surge: Option, - /// The maximum number of DaemonSet pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of total number of DaemonSet pods at the start of the update (ex: 10%). Absolute number is calculated from percentage by rounding up. This cannot be 0 if MaxSurge is 0 Default value is 1. Example: when this is set to 30%, at most 30% of the total number of nodes that should be running the daemon pod (i.e. status.desiredNumberScheduled) can have their pods stopped for an update at any given time. The update starts by stopping at most 30% of those DaemonSet pods and then brings up new DaemonSet pods in their place. Once the new pods are available, it then proceeds onto other DaemonSet pods, thus ensuring that at least 70% of original number of DaemonSet pods are available at all times during the update. + /// The maximum number of DaemonSet pods that can be unavailable during the + /// update. Value can be an absolute number (ex: 5) or a percentage of total + /// number of DaemonSet pods at the start of the update (ex: 10%). Absolute + /// number is calculated from percentage by rounding up. + /// This cannot be 0 if MaxSurge is 0 + /// Default value is 1. + /// Example: when this is set to 30%, at most 30% of the total number of nodes + /// that should be running the daemon pod (i.e. status.desiredNumberScheduled) + /// can have their pods stopped for an update at any given time. The update + /// starts by stopping at most 30% of those DaemonSet pods and then brings + /// up new DaemonSet pods in their place. Once the new pods are available, + /// it then proceeds onto other DaemonSet pods, thus ensuring that at least + /// 70% of original number of DaemonSet pods are available at all times during + /// the update. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxUnavailable")] pub max_unavailable: Option, } @@ -3104,24 +4687,36 @@ pub enum AmazonCloudWatchAgentUpgradeStrategy { /// PersistentVolumeClaim is a user's request for and claim to a persistent volume #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumeClaimTemplates { - /// 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 + /// 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 #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] pub api_version: Option, - /// 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 + /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub kind: Option, - /// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + /// Standard object's metadata. + /// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata #[serde(default, skip_serializing_if = "Option::is_none")] pub metadata: Option, - /// spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + /// spec defines the desired characteristics of a volume requested by a pod author. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[serde(default, skip_serializing_if = "Option::is_none")] pub spec: Option, - /// status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + /// status represents the current information/status of a persistent volume claim. + /// Read-only. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[serde(default, skip_serializing_if = "Option::is_none")] pub status: Option, } -/// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata +/// Standard object's metadata. +/// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumeClaimTemplatesMetadata { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3136,31 +4731,79 @@ pub struct AmazonCloudWatchAgentVolumeClaimTemplatesMetadata { pub namespace: Option, } -/// spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims +/// spec defines the desired characteristics of a volume requested by a pod author. +/// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumeClaimTemplatesSpec { - /// accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + /// accessModes contains the desired access modes the volume should have. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")] pub access_modes: Option>, - /// dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource. + /// dataSource field can be used to specify either: + /// * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + /// * An existing PVC (PersistentVolumeClaim) + /// If the provisioner or an external controller can support the specified data source, + /// it will create a new volume based on the contents of the specified data source. + /// When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, + /// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. + /// If the namespace is specified, then dataSourceRef will not be copied to dataSource. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")] pub data_source: Option, - /// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + /// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty + /// volume is desired. This may be any object from a non-empty API group (non + /// core object) or a PersistentVolumeClaim object. + /// When this field is specified, volume binding will only succeed if the type of + /// the specified object matches some installed volume populator or dynamic + /// provisioner. + /// This field will replace the functionality of the dataSource field and as such + /// if both fields are non-empty, they must have the same value. For backwards + /// compatibility, when namespace isn't specified in dataSourceRef, + /// both fields (dataSource and dataSourceRef) will be set to the same + /// value automatically if one of them is empty and the other is non-empty. + /// When namespace is specified in dataSourceRef, + /// dataSource isn't set to the same value and must be empty. + /// There are three important differences between dataSource and dataSourceRef: + /// * While dataSource only allows two specific types of objects, dataSourceRef + /// allows any non-core object, as well as PersistentVolumeClaim objects. + /// * While dataSource ignores disallowed values (dropping them), dataSourceRef + /// preserves all values, and generates an error if a disallowed value is + /// specified. + /// * While dataSource only allows local objects, dataSourceRef allows objects + /// in any namespaces. + /// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. + /// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")] pub data_source_ref: Option, - /// resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + /// resources represents the minimum resources the volume should have. + /// If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements + /// that are lower than previous value but must still be higher than capacity recorded in the + /// status field of the claim. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources #[serde(default, skip_serializing_if = "Option::is_none")] pub resources: Option, /// selector is a label query over volumes to consider for binding. #[serde(default, skip_serializing_if = "Option::is_none")] pub selector: Option, - /// storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + /// storageClassName is the name of the StorageClass required by the claim. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")] pub storage_class_name: Option, - /// volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. + /// volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. + /// If specified, the CSI driver will create or update the volume with the attributes defined + /// in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, + /// it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass + /// will be applied to the claim but it's not allowed to reset this field to empty string once it is set. + /// If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass + /// will be set by the persistentvolume controller if it exists. + /// If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be + /// set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource + /// exists. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass + /// (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributesClassName")] pub volume_attributes_class_name: Option, - /// volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. + /// volumeMode defines what type of volume is required by the claim. + /// Value of Filesystem is implied when not included in claim spec. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMode")] pub volume_mode: Option, /// volumeName is the binding reference to the PersistentVolume backing this claim. @@ -3168,10 +4811,19 @@ pub struct AmazonCloudWatchAgentVolumeClaimTemplatesSpec { pub volume_name: Option, } -/// dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource. +/// dataSource field can be used to specify either: +/// * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) +/// * An existing PVC (PersistentVolumeClaim) +/// If the provisioner or an external controller can support the specified data source, +/// it will create a new volume based on the contents of the specified data source. +/// When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, +/// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. +/// If the namespace is specified, then dataSourceRef will not be copied to dataSource. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumeClaimTemplatesSpecDataSource { - /// APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + /// APIGroup is the group for the resource being referenced. + /// If APIGroup is not specified, the specified Kind must be in the core API group. + /// For any other third-party types, APIGroup is required. #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")] pub api_group: Option, /// Kind is the type of resource being referenced @@ -3180,28 +4832,62 @@ pub struct AmazonCloudWatchAgentVolumeClaimTemplatesSpecDataSource { pub name: String, } -/// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. +/// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty +/// volume is desired. This may be any object from a non-empty API group (non +/// core object) or a PersistentVolumeClaim object. +/// When this field is specified, volume binding will only succeed if the type of +/// the specified object matches some installed volume populator or dynamic +/// provisioner. +/// This field will replace the functionality of the dataSource field and as such +/// if both fields are non-empty, they must have the same value. For backwards +/// compatibility, when namespace isn't specified in dataSourceRef, +/// both fields (dataSource and dataSourceRef) will be set to the same +/// value automatically if one of them is empty and the other is non-empty. +/// When namespace is specified in dataSourceRef, +/// dataSource isn't set to the same value and must be empty. +/// There are three important differences between dataSource and dataSourceRef: +/// * While dataSource only allows two specific types of objects, dataSourceRef +/// allows any non-core object, as well as PersistentVolumeClaim objects. +/// * While dataSource ignores disallowed values (dropping them), dataSourceRef +/// preserves all values, and generates an error if a disallowed value is +/// specified. +/// * While dataSource only allows local objects, dataSourceRef allows objects +/// in any namespaces. +/// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. +/// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumeClaimTemplatesSpecDataSourceRef { - /// APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + /// APIGroup is the group for the resource being referenced. + /// If APIGroup is not specified, the specified Kind must be in the core API group. + /// For any other third-party types, APIGroup is required. #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")] pub api_group: Option, /// Kind is the type of resource being referenced pub kind: String, /// Name is the name of resource being referenced pub name: String, - /// Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + /// Namespace is the namespace of resource being referenced + /// Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. + /// (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. #[serde(default, skip_serializing_if = "Option::is_none")] pub namespace: Option, } -/// resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +/// resources represents the minimum resources the volume should have. +/// If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements +/// that are lower than previous value but must still be higher than capacity recorded in the +/// status field of the claim. +/// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumeClaimTemplatesSpecResources { - /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Limits describes the maximum amount of compute resources allowed. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, - /// Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Requests describes the minimum amount of compute resources required. + /// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + /// otherwise to an implementation-defined value. Requests cannot exceed Limits. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub requests: Option>, } @@ -3212,51 +4898,121 @@ pub struct AmazonCloudWatchAgentVolumeClaimTemplatesSpecSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumeClaimTemplatesSpecSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } -/// status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims +/// status represents the current information/status of a persistent volume claim. +/// Read-only. +/// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumeClaimTemplatesStatus { - /// accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + /// accessModes contains the actual access modes the volume backing the PVC has. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")] pub access_modes: Option>, - /// allocatedResourceStatuses stores status of resource being resized for the given PVC. Key names follow standard Kubernetes label syntax. Valid values are either: * Un-prefixed keys: - storage - the capacity of the volume. * Custom resources must use implementation-defined prefixed names such as "example.com/my-custom-resource" Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used. - /// ClaimResourceStatus can be in any of following states: - ControllerResizeInProgress: State set when resize controller starts resizing the volume in control-plane. - ControllerResizeFailed: State set when resize has failed in resize controller with a terminal error. - NodeResizePending: State set when resize controller has finished resizing the volume but further resizing of volume is needed on the node. - NodeResizeInProgress: State set when kubelet starts resizing the volume. - NodeResizeFailed: State set when resizing has failed in kubelet with a terminal error. Transient errors don't set NodeResizeFailed. For example: if expanding a PVC for more capacity - this field can be one of the following states: - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeInProgress" - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeFailed" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizePending" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeInProgress" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeFailed" When this field is not set, it means that no resize operation is in progress for the given PVC. - /// A controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC. - /// This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. + /// allocatedResourceStatuses stores status of resource being resized for the given PVC. + /// Key names follow standard Kubernetes label syntax. Valid values are either: + /// * Un-prefixed keys: + /// - storage - the capacity of the volume. + /// * Custom resources must use implementation-defined prefixed names such as "example.com/my-custom-resource" + /// Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered + /// reserved and hence may not be used. + /// + /// + /// ClaimResourceStatus can be in any of following states: + /// - ControllerResizeInProgress: + /// State set when resize controller starts resizing the volume in control-plane. + /// - ControllerResizeFailed: + /// State set when resize has failed in resize controller with a terminal error. + /// - NodeResizePending: + /// State set when resize controller has finished resizing the volume but further resizing of + /// volume is needed on the node. + /// - NodeResizeInProgress: + /// State set when kubelet starts resizing the volume. + /// - NodeResizeFailed: + /// State set when resizing has failed in kubelet with a terminal error. Transient errors don't set + /// NodeResizeFailed. + /// For example: if expanding a PVC for more capacity - this field can be one of the following states: + /// - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeInProgress" + /// - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeFailed" + /// - pvc.status.allocatedResourceStatus['storage'] = "NodeResizePending" + /// - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeInProgress" + /// - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeFailed" + /// When this field is not set, it means that no resize operation is in progress for the given PVC. + /// + /// + /// A controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus + /// should ignore the update for the purpose it was designed. For example - a controller that + /// only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid + /// resources associated with PVC. + /// + /// + /// This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. #[serde(default, skip_serializing_if = "Option::is_none", rename = "allocatedResourceStatuses")] pub allocated_resource_statuses: Option>, - /// allocatedResources tracks the resources allocated to a PVC including its capacity. Key names follow standard Kubernetes label syntax. Valid values are either: * Un-prefixed keys: - storage - the capacity of the volume. * Custom resources must use implementation-defined prefixed names such as "example.com/my-custom-resource" Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used. - /// Capacity reported here may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. - /// A controller that receives PVC update with previously unknown resourceName should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC. - /// This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. + /// allocatedResources tracks the resources allocated to a PVC including its capacity. + /// Key names follow standard Kubernetes label syntax. Valid values are either: + /// * Un-prefixed keys: + /// - storage - the capacity of the volume. + /// * Custom resources must use implementation-defined prefixed names such as "example.com/my-custom-resource" + /// Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered + /// reserved and hence may not be used. + /// + /// + /// Capacity reported here may be larger than the actual capacity when a volume expansion operation + /// is requested. + /// For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. + /// If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. + /// If a volume expansion capacity request is lowered, allocatedResources is only + /// lowered if there are no expansion operations in progress and if the actual volume capacity + /// is equal or lower than the requested capacity. + /// + /// + /// A controller that receives PVC update with previously unknown resourceName + /// should ignore the update for the purpose it was designed. For example - a controller that + /// only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid + /// resources associated with PVC. + /// + /// + /// This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. #[serde(default, skip_serializing_if = "Option::is_none", rename = "allocatedResources")] pub allocated_resources: Option>, /// capacity represents the actual resources of the underlying volume. #[serde(default, skip_serializing_if = "Option::is_none")] pub capacity: Option>, - /// conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'. + /// conditions is the current Condition of persistent volume claim. If underlying persistent volume is being + /// resized then the Condition will be set to 'ResizeStarted'. #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, - /// currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is an alpha field and requires enabling VolumeAttributesClass feature. + /// currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. + /// When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim + /// This is an alpha field and requires enabling VolumeAttributesClass feature. #[serde(default, skip_serializing_if = "Option::is_none", rename = "currentVolumeAttributesClassName")] pub current_volume_attributes_class_name: Option, - /// ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is an alpha field and requires enabling VolumeAttributesClass feature. + /// ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. + /// When this is unset, there is no ModifyVolume operation being attempted. + /// This is an alpha field and requires enabling VolumeAttributesClass feature. #[serde(default, skip_serializing_if = "Option::is_none", rename = "modifyVolumeStatus")] pub modify_volume_status: Option, /// phase represents the current phase of PersistentVolumeClaim. @@ -3264,10 +5020,21 @@ pub struct AmazonCloudWatchAgentVolumeClaimTemplatesStatus { pub phase: Option, } -/// ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is an alpha field and requires enabling VolumeAttributesClass feature. +/// ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. +/// When this is unset, there is no ModifyVolume operation being attempted. +/// This is an alpha field and requires enabling VolumeAttributesClass feature. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumeClaimTemplatesStatusModifyVolumeStatus { - /// status is the status of the ControllerModifyVolume operation. It can be in any of following states: - Pending Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as the specified VolumeAttributesClass not existing. - InProgress InProgress indicates that the volume is being modified. - Infeasible Infeasible indicates that the request has been rejected as invalid by the CSI driver. To resolve the error, a valid VolumeAttributesClass needs to be specified. Note: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately. + /// status is the status of the ControllerModifyVolume operation. It can be in any of following states: + /// - Pending + /// Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as + /// the specified VolumeAttributesClass not existing. + /// - InProgress + /// InProgress indicates that the volume is being modified. + /// - Infeasible + /// Infeasible indicates that the request has been rejected as invalid by the CSI driver. To + /// resolve the error, a valid VolumeAttributesClass needs to be specified. + /// Note: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately. pub status: String, /// targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetVolumeAttributesClassName")] @@ -3277,21 +5044,30 @@ pub struct AmazonCloudWatchAgentVolumeClaimTemplatesStatusModifyVolumeStatus { /// VolumeMount describes a mounting of a Volume within a container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumeMounts { - /// Path within the container at which the volume should be mounted. Must not contain ':'. + /// Path within the container at which the volume should be mounted. Must + /// not contain ':'. #[serde(rename = "mountPath")] pub mount_path: String, - /// mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + /// mountPropagation determines how mounts are propagated from the host + /// to container and the other way around. + /// When not set, MountPropagationNone is used. + /// This field is beta in 1.10. #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")] pub mount_propagation: Option, /// This must match the Name of a Volume. pub name: String, - /// Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. + /// Mounted read-only if true, read-write otherwise (false or unspecified). + /// Defaults to false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). + /// Path within the volume from which the container's volume should be mounted. + /// Defaults to "" (volume's root). #[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")] pub sub_path: Option, - /// Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive. + /// Expanded path within the volume from which the container's volume should be mounted. + /// Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + /// Defaults to "" (volume's root). + /// SubPathExpr and SubPath are mutually exclusive. #[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")] pub sub_path_expr: Option, } @@ -3299,7 +5075,9 @@ pub struct AmazonCloudWatchAgentVolumeMounts { /// Volume represents a named volume in a pod that may be accessed by any container in the pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumes { - /// awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + /// awsElasticBlockStore represents an AWS Disk resource that is attached to a + /// kubelet's host machine and then exposed to the pod. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore #[serde(default, skip_serializing_if = "Option::is_none", rename = "awsElasticBlockStore")] pub aws_elastic_block_store: Option, /// azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. @@ -3311,7 +5089,8 @@ pub struct AmazonCloudWatchAgentVolumes { /// cephFS represents a Ceph FS mount on the host that shares a pod's lifetime #[serde(default, skip_serializing_if = "Option::is_none")] pub cephfs: Option, - /// cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + /// cinder represents a cinder volume attached and mounted on kubelets host machine. + /// More info: https://examples.k8s.io/mysql-cinder-pd/README.md #[serde(default, skip_serializing_if = "Option::is_none")] pub cinder: Option, /// configMap represents a configMap that should populate this volume @@ -3323,46 +5102,91 @@ pub struct AmazonCloudWatchAgentVolumes { /// downwardAPI represents downward API about the pod that should populate this volume #[serde(default, skip_serializing_if = "Option::is_none", rename = "downwardAPI")] pub downward_api: Option, - /// emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + /// emptyDir represents a temporary directory that shares a pod's lifetime. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir #[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")] pub empty_dir: Option, - /// ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. - /// Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). - /// Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. - /// Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. - /// A pod can use both types of ephemeral volumes and persistent volumes at the same time. + /// ephemeral represents a volume that is handled by a cluster storage driver. + /// The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, + /// and deleted when the pod is removed. + /// + /// + /// Use this if: + /// a) the volume is only needed while the pod runs, + /// b) features of normal volumes like restoring from snapshot or capacity + /// tracking are needed, + /// c) the storage driver is specified through a storage class, and + /// d) the storage driver supports dynamic volume provisioning through + /// a PersistentVolumeClaim (see EphemeralVolumeSource for more + /// information on the connection between this volume type + /// and PersistentVolumeClaim). + /// + /// + /// Use PersistentVolumeClaim or one of the vendor-specific + /// APIs for volumes that persist for longer than the lifecycle + /// of an individual pod. + /// + /// + /// Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to + /// be used that way - see the documentation of the driver for + /// more information. + /// + /// + /// A pod can use both types of ephemeral volumes and + /// persistent volumes at the same time. #[serde(default, skip_serializing_if = "Option::is_none")] pub ephemeral: Option, /// fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. #[serde(default, skip_serializing_if = "Option::is_none")] pub fc: Option, - /// flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. + /// flexVolume represents a generic volume resource that is + /// provisioned/attached using an exec based plugin. #[serde(default, skip_serializing_if = "Option::is_none", rename = "flexVolume")] pub flex_volume: Option, /// flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running #[serde(default, skip_serializing_if = "Option::is_none")] pub flocker: Option, - /// gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + /// gcePersistentDisk represents a GCE Disk resource that is attached to a + /// kubelet's host machine and then exposed to the pod. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk #[serde(default, skip_serializing_if = "Option::is_none", rename = "gcePersistentDisk")] pub gce_persistent_disk: Option, - /// gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container. + /// gitRepo represents a git repository at a particular revision. + /// DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an + /// EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir + /// into the Pod's container. #[serde(default, skip_serializing_if = "Option::is_none", rename = "gitRepo")] pub git_repo: Option, - /// glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md + /// glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. + /// More info: https://examples.k8s.io/volumes/glusterfs/README.md #[serde(default, skip_serializing_if = "Option::is_none")] pub glusterfs: Option, - /// hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host directories as read/write. + /// hostPath represents a pre-existing file or directory on the host + /// machine that is directly exposed to the container. This is generally + /// used for system agents or other privileged things that are allowed + /// to see the host machine. Most containers will NOT need this. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + /// --- + /// TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not + /// mount host directories as read/write. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPath")] pub host_path: Option, - /// iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md + /// iscsi represents an ISCSI Disk resource that is attached to a + /// kubelet's host machine and then exposed to the pod. + /// More info: https://examples.k8s.io/volumes/iscsi/README.md #[serde(default, skip_serializing_if = "Option::is_none")] pub iscsi: Option, - /// name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// name of the volume. + /// Must be a DNS_LABEL and unique within the pod. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names pub name: String, - /// nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + /// nfs represents an NFS mount on the host that shares a pod's lifetime + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs #[serde(default, skip_serializing_if = "Option::is_none")] pub nfs: Option, - /// persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + /// persistentVolumeClaimVolumeSource represents a reference to a + /// PersistentVolumeClaim in the same namespace. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentVolumeClaim")] pub persistent_volume_claim: Option, /// photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine @@ -3377,13 +5201,15 @@ pub struct AmazonCloudWatchAgentVolumes { /// quobyte represents a Quobyte mount on the host that shares a pod's lifetime #[serde(default, skip_serializing_if = "Option::is_none")] pub quobyte: Option, - /// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md + /// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. + /// More info: https://examples.k8s.io/volumes/rbd/README.md #[serde(default, skip_serializing_if = "Option::is_none")] pub rbd: Option, /// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "scaleIO")] pub scale_io: Option, - /// secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + /// secret represents a secret that should populate this volume. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#secret #[serde(default, skip_serializing_if = "Option::is_none")] pub secret: Option, /// storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. @@ -3394,19 +5220,30 @@ pub struct AmazonCloudWatchAgentVolumes { pub vsphere_volume: Option, } -/// awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore +/// awsElasticBlockStore represents an AWS Disk resource that is attached to a +/// kubelet's host machine and then exposed to the pod. +/// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesAwsElasticBlockStore { - /// fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore TODO: how do we prevent errors in the filesystem from compromising the machine + /// fsType is the filesystem type of the volume that you want to mount. + /// Tip: Ensure that the filesystem type is supported by the host operating system. + /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + /// TODO: how do we prevent errors in the filesystem from compromising the machine #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, - /// partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). + /// partition is the partition in the volume that you want to mount. + /// If omitted, the default is to mount by volume name. + /// Examples: For volume /dev/sda1, you specify the partition as "1". + /// Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). #[serde(default, skip_serializing_if = "Option::is_none")] pub partition: Option, - /// readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + /// readOnly value true will force the readOnly setting in VolumeMounts. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore + /// volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore #[serde(rename = "volumeID")] pub volume_id: String, } @@ -3423,13 +5260,16 @@ pub struct AmazonCloudWatchAgentVolumesAzureDisk { /// diskURI is the URI of data disk in the blob storage #[serde(rename = "diskURI")] pub disk_uri: String, - /// fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// fsType is Filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, /// kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared #[serde(default, skip_serializing_if = "Option::is_none")] pub kind: Option, - /// readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + /// readOnly Defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, } @@ -3437,7 +5277,8 @@ pub struct AmazonCloudWatchAgentVolumesAzureDisk { /// azureFile represents an Azure File Service mount on the host and bind mount to the pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesAzureFile { - /// readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + /// readOnly defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, /// secretName is the name of secret that contains Azure Storage Account Name and Key @@ -3451,54 +5292,74 @@ pub struct AmazonCloudWatchAgentVolumesAzureFile { /// cephFS represents a Ceph FS mount on the host that shares a pod's lifetime #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesCephfs { - /// monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + /// monitors is Required: Monitors is a collection of Ceph monitors + /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it pub monitors: Vec, /// path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, - /// readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + /// readOnly is Optional: Defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. + /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + /// secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret + /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretFile")] pub secret_file: Option, - /// secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + /// secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. + /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] pub secret_ref: Option, - /// user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it + /// user is optional: User is the rados user name, default is admin + /// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none")] pub user: Option, } -/// secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it +/// secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. +/// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesCephfsSecretRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md +/// cinder represents a cinder volume attached and mounted on kubelets host machine. +/// More info: https://examples.k8s.io/mysql-cinder-pd/README.md #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesCinder { - /// fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + /// fsType is the filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// More info: https://examples.k8s.io/mysql-cinder-pd/README.md #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, - /// readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + /// readOnly defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. + /// More info: https://examples.k8s.io/mysql-cinder-pd/README.md #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// secretRef is optional: points to a secret object containing parameters used to connect to OpenStack. + /// secretRef is optional: points to a secret object containing parameters used to connect + /// to OpenStack. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] pub secret_ref: Option, - /// volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md + /// volumeID used to identify the volume in cinder. + /// More info: https://examples.k8s.io/mysql-cinder-pd/README.md #[serde(rename = "volumeID")] pub volume_id: String, } -/// secretRef is optional: points to a secret object containing parameters used to connect to OpenStack. +/// secretRef is optional: points to a secret object containing parameters used to connect +/// to OpenStack. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesCinderSecretRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } @@ -3506,13 +5367,27 @@ pub struct AmazonCloudWatchAgentVolumesCinderSecretRef { /// configMap represents a configMap that should populate this volume #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesConfigMap { - /// defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + /// defaultMode is optional: mode bits used to set permissions on created files by default. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// Defaults to 0644. + /// Directories within the path are not affected by this setting. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] pub default_mode: Option, - /// items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + /// items if unspecified, each key-value pair in the Data field of the referenced + /// ConfigMap will be projected into the volume as a file whose name is the + /// key and content is the value. If specified, the listed keys will be + /// projected into the specified paths, and unlisted keys will not be + /// present. If a key is specified which is not present in the ConfigMap, + /// the volume setup will error unless it is marked optional. Paths must be + /// relative and may not contain the '..' path or start with '..'. #[serde(default, skip_serializing_if = "Option::is_none")] pub items: Option>, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// optional specify whether the ConfigMap or its keys must be defined @@ -3525,36 +5400,59 @@ pub struct AmazonCloudWatchAgentVolumesConfigMap { pub struct AmazonCloudWatchAgentVolumesConfigMapItems { /// key is the key to project. pub key: String, - /// mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + /// mode is Optional: mode bits used to set permissions on this file. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// If not specified, the volume defaultMode will be used. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. #[serde(default, skip_serializing_if = "Option::is_none")] pub mode: Option, - /// path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + /// path is the relative path of the file to map the key to. + /// May not be an absolute path. + /// May not contain the path element '..'. + /// May not start with the string '..'. pub path: String, } /// csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesCsi { - /// driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster. + /// driver is the name of the CSI driver that handles this volume. + /// Consult with your admin for the correct name as registered in the cluster. pub driver: String, - /// fsType to mount. Ex. "ext4", "xfs", "ntfs". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply. + /// fsType to mount. Ex. "ext4", "xfs", "ntfs". + /// If not provided, the empty value is passed to the associated CSI driver + /// which will determine the default filesystem to apply. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, - /// nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed. + /// nodePublishSecretRef is a reference to the secret object containing + /// sensitive information to pass to the CSI driver to complete the CSI + /// NodePublishVolume and NodeUnpublishVolume calls. + /// This field is optional, and may be empty if no secret is required. If the + /// secret object contains more than one secret, all secret references are passed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePublishSecretRef")] pub node_publish_secret_ref: Option, - /// readOnly specifies a read-only configuration for the volume. Defaults to false (read/write). + /// readOnly specifies a read-only configuration for the volume. + /// Defaults to false (read/write). #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values. + /// volumeAttributes stores driver-specific properties that are passed to the CSI + /// driver. Consult your driver's documentation for supported values. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributes")] pub volume_attributes: Option>, } -/// nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed. +/// nodePublishSecretRef is a reference to the secret object containing +/// sensitive information to pass to the CSI driver to complete the CSI +/// NodePublishVolume and NodeUnpublishVolume calls. +/// This field is optional, and may be empty if no secret is required. If the +/// secret object contains more than one secret, all secret references are passed. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesCsiNodePublishSecretRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } @@ -3562,7 +5460,14 @@ pub struct AmazonCloudWatchAgentVolumesCsiNodePublishSecretRef { /// downwardAPI represents downward API about the pod that should populate this volume #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesDownwardApi { - /// Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + /// Optional: mode bits to use on created files by default. Must be a + /// Optional: mode bits used to set permissions on created files by default. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// Defaults to 0644. + /// Directories within the path are not affected by this setting. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] pub default_mode: Option, /// Items is a list of downward API volume file @@ -3576,12 +5481,18 @@ pub struct AmazonCloudWatchAgentVolumesDownwardApiItems { /// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + /// Optional: mode bits used to set permissions on this file, must be an octal value + /// between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// If not specified, the volume defaultMode will be used. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. #[serde(default, skip_serializing_if = "Option::is_none")] pub mode: Option, /// Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' pub path: String, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, } @@ -3597,7 +5508,8 @@ pub struct AmazonCloudWatchAgentVolumesDownwardApiItemsFieldRef { pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesDownwardApiItemsResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -3610,46 +5522,125 @@ pub struct AmazonCloudWatchAgentVolumesDownwardApiItemsResourceFieldRef { pub resource: String, } -/// emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir +/// emptyDir represents a temporary directory that shares a pod's lifetime. +/// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesEmptyDir { - /// medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + /// medium represents what type of storage medium should back this directory. + /// The default is "" which means to use the node's default medium. + /// Must be an empty string (default) or Memory. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir #[serde(default, skip_serializing_if = "Option::is_none")] pub medium: Option, - /// sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + /// sizeLimit is the total amount of local storage required for this EmptyDir volume. + /// The size limit is also applicable for memory medium. + /// The maximum usage on memory medium EmptyDir would be the minimum value between + /// the SizeLimit specified here and the sum of memory limits of all containers in a pod. + /// The default is nil which means that the limit is undefined. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir #[serde(default, skip_serializing_if = "Option::is_none", rename = "sizeLimit")] pub size_limit: Option, } -/// ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. -/// Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). -/// Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. -/// Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. -/// A pod can use both types of ephemeral volumes and persistent volumes at the same time. +/// ephemeral represents a volume that is handled by a cluster storage driver. +/// The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, +/// and deleted when the pod is removed. +/// +/// +/// Use this if: +/// a) the volume is only needed while the pod runs, +/// b) features of normal volumes like restoring from snapshot or capacity +/// tracking are needed, +/// c) the storage driver is specified through a storage class, and +/// d) the storage driver supports dynamic volume provisioning through +/// a PersistentVolumeClaim (see EphemeralVolumeSource for more +/// information on the connection between this volume type +/// and PersistentVolumeClaim). +/// +/// +/// Use PersistentVolumeClaim or one of the vendor-specific +/// APIs for volumes that persist for longer than the lifecycle +/// of an individual pod. +/// +/// +/// Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to +/// be used that way - see the documentation of the driver for +/// more information. +/// +/// +/// A pod can use both types of ephemeral volumes and +/// persistent volumes at the same time. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesEphemeral { - /// Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). - /// An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. - /// This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. - /// Required, must not be nil. + /// Will be used to create a stand-alone PVC to provision the volume. + /// The pod in which this EphemeralVolumeSource is embedded will be the + /// owner of the PVC, i.e. the PVC will be deleted together with the + /// pod. The name of the PVC will be `-` where + /// `` is the name from the `PodSpec.Volumes` array + /// entry. Pod validation will reject the pod if the concatenated name + /// is not valid for a PVC (for example, too long). + /// + /// + /// An existing PVC with that name that is not owned by the pod + /// will *not* be used for the pod to avoid using an unrelated + /// volume by mistake. Starting the pod is then blocked until + /// the unrelated PVC is removed. If such a pre-created PVC is + /// meant to be used by the pod, the PVC has to updated with an + /// owner reference to the pod once the pod exists. Normally + /// this should not be necessary, but it may be useful when + /// manually reconstructing a broken cluster. + /// + /// + /// This field is read-only and no changes will be made by Kubernetes + /// to the PVC after it has been created. + /// + /// + /// Required, must not be nil. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeClaimTemplate")] pub volume_claim_template: Option, } -/// Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). -/// An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. -/// This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. -/// Required, must not be nil. +/// Will be used to create a stand-alone PVC to provision the volume. +/// The pod in which this EphemeralVolumeSource is embedded will be the +/// owner of the PVC, i.e. the PVC will be deleted together with the +/// pod. The name of the PVC will be `-` where +/// `` is the name from the `PodSpec.Volumes` array +/// entry. Pod validation will reject the pod if the concatenated name +/// is not valid for a PVC (for example, too long). +/// +/// +/// An existing PVC with that name that is not owned by the pod +/// will *not* be used for the pod to avoid using an unrelated +/// volume by mistake. Starting the pod is then blocked until +/// the unrelated PVC is removed. If such a pre-created PVC is +/// meant to be used by the pod, the PVC has to updated with an +/// owner reference to the pod once the pod exists. Normally +/// this should not be necessary, but it may be useful when +/// manually reconstructing a broken cluster. +/// +/// +/// This field is read-only and no changes will be made by Kubernetes +/// to the PVC after it has been created. +/// +/// +/// Required, must not be nil. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesEphemeralVolumeClaimTemplate { - /// May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation. + /// May contain labels and annotations that will be copied into the PVC + /// when creating it. No other fields are allowed and will be rejected during + /// validation. #[serde(default, skip_serializing_if = "Option::is_none")] pub metadata: Option, - /// The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here. + /// The specification for the PersistentVolumeClaim. The entire content is + /// copied unchanged into the PVC that gets created from this + /// template. The same fields as in a PersistentVolumeClaim + /// are also valid here. pub spec: AmazonCloudWatchAgentVolumesEphemeralVolumeClaimTemplateSpec, } -/// May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation. +/// May contain labels and annotations that will be copied into the PVC +/// when creating it. No other fields are allowed and will be rejected during +/// validation. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesEphemeralVolumeClaimTemplateMetadata { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3664,31 +5655,81 @@ pub struct AmazonCloudWatchAgentVolumesEphemeralVolumeClaimTemplateMetadata { pub namespace: Option, } -/// The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here. +/// The specification for the PersistentVolumeClaim. The entire content is +/// copied unchanged into the PVC that gets created from this +/// template. The same fields as in a PersistentVolumeClaim +/// are also valid here. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesEphemeralVolumeClaimTemplateSpec { - /// accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 + /// accessModes contains the desired access modes the volume should have. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")] pub access_modes: Option>, - /// dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource. + /// dataSource field can be used to specify either: + /// * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + /// * An existing PVC (PersistentVolumeClaim) + /// If the provisioner or an external controller can support the specified data source, + /// it will create a new volume based on the contents of the specified data source. + /// When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, + /// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. + /// If the namespace is specified, then dataSourceRef will not be copied to dataSource. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")] pub data_source: Option, - /// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + /// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty + /// volume is desired. This may be any object from a non-empty API group (non + /// core object) or a PersistentVolumeClaim object. + /// When this field is specified, volume binding will only succeed if the type of + /// the specified object matches some installed volume populator or dynamic + /// provisioner. + /// This field will replace the functionality of the dataSource field and as such + /// if both fields are non-empty, they must have the same value. For backwards + /// compatibility, when namespace isn't specified in dataSourceRef, + /// both fields (dataSource and dataSourceRef) will be set to the same + /// value automatically if one of them is empty and the other is non-empty. + /// When namespace is specified in dataSourceRef, + /// dataSource isn't set to the same value and must be empty. + /// There are three important differences between dataSource and dataSourceRef: + /// * While dataSource only allows two specific types of objects, dataSourceRef + /// allows any non-core object, as well as PersistentVolumeClaim objects. + /// * While dataSource ignores disallowed values (dropping them), dataSourceRef + /// preserves all values, and generates an error if a disallowed value is + /// specified. + /// * While dataSource only allows local objects, dataSourceRef allows objects + /// in any namespaces. + /// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. + /// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")] pub data_source_ref: Option, - /// resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + /// resources represents the minimum resources the volume should have. + /// If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements + /// that are lower than previous value but must still be higher than capacity recorded in the + /// status field of the claim. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources #[serde(default, skip_serializing_if = "Option::is_none")] pub resources: Option, /// selector is a label query over volumes to consider for binding. #[serde(default, skip_serializing_if = "Option::is_none")] pub selector: Option, - /// storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 + /// storageClassName is the name of the StorageClass required by the claim. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")] pub storage_class_name: Option, - /// volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. + /// volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. + /// If specified, the CSI driver will create or update the volume with the attributes defined + /// in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, + /// it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass + /// will be applied to the claim but it's not allowed to reset this field to empty string once it is set. + /// If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass + /// will be set by the persistentvolume controller if it exists. + /// If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be + /// set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource + /// exists. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass + /// (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributesClassName")] pub volume_attributes_class_name: Option, - /// volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. + /// volumeMode defines what type of volume is required by the claim. + /// Value of Filesystem is implied when not included in claim spec. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMode")] pub volume_mode: Option, /// volumeName is the binding reference to the PersistentVolume backing this claim. @@ -3696,10 +5737,19 @@ pub struct AmazonCloudWatchAgentVolumesEphemeralVolumeClaimTemplateSpec { pub volume_name: Option, } -/// dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource. +/// dataSource field can be used to specify either: +/// * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) +/// * An existing PVC (PersistentVolumeClaim) +/// If the provisioner or an external controller can support the specified data source, +/// it will create a new volume based on the contents of the specified data source. +/// When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, +/// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. +/// If the namespace is specified, then dataSourceRef will not be copied to dataSource. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesEphemeralVolumeClaimTemplateSpecDataSource { - /// APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + /// APIGroup is the group for the resource being referenced. + /// If APIGroup is not specified, the specified Kind must be in the core API group. + /// For any other third-party types, APIGroup is required. #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")] pub api_group: Option, /// Kind is the type of resource being referenced @@ -3708,28 +5758,62 @@ pub struct AmazonCloudWatchAgentVolumesEphemeralVolumeClaimTemplateSpecDataSourc pub name: String, } -/// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. +/// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty +/// volume is desired. This may be any object from a non-empty API group (non +/// core object) or a PersistentVolumeClaim object. +/// When this field is specified, volume binding will only succeed if the type of +/// the specified object matches some installed volume populator or dynamic +/// provisioner. +/// This field will replace the functionality of the dataSource field and as such +/// if both fields are non-empty, they must have the same value. For backwards +/// compatibility, when namespace isn't specified in dataSourceRef, +/// both fields (dataSource and dataSourceRef) will be set to the same +/// value automatically if one of them is empty and the other is non-empty. +/// When namespace is specified in dataSourceRef, +/// dataSource isn't set to the same value and must be empty. +/// There are three important differences between dataSource and dataSourceRef: +/// * While dataSource only allows two specific types of objects, dataSourceRef +/// allows any non-core object, as well as PersistentVolumeClaim objects. +/// * While dataSource ignores disallowed values (dropping them), dataSourceRef +/// preserves all values, and generates an error if a disallowed value is +/// specified. +/// * While dataSource only allows local objects, dataSourceRef allows objects +/// in any namespaces. +/// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. +/// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesEphemeralVolumeClaimTemplateSpecDataSourceRef { - /// APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. + /// APIGroup is the group for the resource being referenced. + /// If APIGroup is not specified, the specified Kind must be in the core API group. + /// For any other third-party types, APIGroup is required. #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")] pub api_group: Option, /// Kind is the type of resource being referenced pub kind: String, /// Name is the name of resource being referenced pub name: String, - /// Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. + /// Namespace is the namespace of resource being referenced + /// Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. + /// (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. #[serde(default, skip_serializing_if = "Option::is_none")] pub namespace: Option, } -/// resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +/// resources represents the minimum resources the volume should have. +/// If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements +/// that are lower than previous value but must still be higher than capacity recorded in the +/// status field of the claim. +/// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesEphemeralVolumeClaimTemplateSpecResources { - /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Limits describes the maximum amount of compute resources allowed. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, - /// Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Requests describes the minimum amount of compute resources required. + /// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + /// otherwise to an implementation-defined value. Requests cannot exceed Limits. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub requests: Option>, } @@ -3740,19 +5824,26 @@ pub struct AmazonCloudWatchAgentVolumesEphemeralVolumeClaimTemplateSpecSelector /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesEphemeralVolumeClaimTemplateSpecSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -3760,46 +5851,65 @@ pub struct AmazonCloudWatchAgentVolumesEphemeralVolumeClaimTemplateSpecSelectorM /// fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesFc { - /// fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. TODO: how do we prevent errors in the filesystem from compromising the machine + /// fsType is the filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// TODO: how do we prevent errors in the filesystem from compromising the machine #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, /// lun is Optional: FC target lun number #[serde(default, skip_serializing_if = "Option::is_none")] pub lun: Option, - /// readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + /// readOnly is Optional: Defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, /// targetWWNs is Optional: FC target worldwide names (WWNs) #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetWWNs")] pub target_ww_ns: Option>, - /// wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. + /// wwids Optional: FC volume world wide identifiers (wwids) + /// Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. #[serde(default, skip_serializing_if = "Option::is_none")] pub wwids: Option>, } -/// flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. +/// flexVolume represents a generic volume resource that is +/// provisioned/attached using an exec based plugin. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesFlexVolume { /// driver is the name of the driver to use for this volume. pub driver: String, - /// fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. + /// fsType is the filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, /// options is Optional: this field holds extra command options if any. #[serde(default, skip_serializing_if = "Option::is_none")] pub options: Option>, - /// readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + /// readOnly is Optional: defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts. + /// secretRef is Optional: secretRef is reference to the secret object containing + /// sensitive information to pass to the plugin scripts. This may be + /// empty if no secret object is specified. If the secret object + /// contains more than one secret, all secrets are passed to the plugin + /// scripts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] pub secret_ref: Option, } -/// secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts. +/// secretRef is Optional: secretRef is reference to the secret object containing +/// sensitive information to pass to the plugin scripts. This may be +/// empty if no secret object is specified. If the secret object +/// contains more than one secret, all secrets are passed to the plugin +/// scripts. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesFlexVolumeSecretRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } @@ -3807,7 +5917,8 @@ pub struct AmazonCloudWatchAgentVolumesFlexVolumeSecretRef { /// flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesFlocker { - /// datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated + /// datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker + /// should be considered as deprecated #[serde(default, skip_serializing_if = "Option::is_none", rename = "datasetName")] pub dataset_name: Option, /// datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset @@ -3815,27 +5926,46 @@ pub struct AmazonCloudWatchAgentVolumesFlocker { pub dataset_uuid: Option, } -/// gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk +/// gcePersistentDisk represents a GCE Disk resource that is attached to a +/// kubelet's host machine and then exposed to the pod. +/// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesGcePersistentDisk { - /// fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk TODO: how do we prevent errors in the filesystem from compromising the machine + /// fsType is filesystem type of the volume that you want to mount. + /// Tip: Ensure that the filesystem type is supported by the host operating system. + /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + /// TODO: how do we prevent errors in the filesystem from compromising the machine #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, - /// partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + /// partition is the partition in the volume that you want to mount. + /// If omitted, the default is to mount by volume name. + /// Examples: For volume /dev/sda1, you specify the partition as "1". + /// Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk #[serde(default, skip_serializing_if = "Option::is_none")] pub partition: Option, - /// pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + /// pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk #[serde(rename = "pdName")] pub pd_name: String, - /// readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk + /// readOnly here will force the ReadOnly setting in VolumeMounts. + /// Defaults to false. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, } -/// gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container. +/// gitRepo represents a git repository at a particular revision. +/// DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an +/// EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir +/// into the Pod's container. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesGitRepo { - /// directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. + /// directory is the target directory name. + /// Must not contain or start with '..'. If '.' is supplied, the volume directory will be the + /// git repository. Otherwise, if specified, the volume will contain the git repository in + /// the subdirectory with the given name. #[serde(default, skip_serializing_if = "Option::is_none")] pub directory: Option, /// repository is the URL @@ -3845,29 +5975,47 @@ pub struct AmazonCloudWatchAgentVolumesGitRepo { pub revision: Option, } -/// glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md +/// glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. +/// More info: https://examples.k8s.io/volumes/glusterfs/README.md #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesGlusterfs { - /// endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + /// endpoints is the endpoint name that details Glusterfs topology. + /// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod pub endpoints: String, - /// path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + /// path is the Glusterfs volume path. + /// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod pub path: String, - /// readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod + /// readOnly here will force the Glusterfs volume to be mounted with read-only permissions. + /// Defaults to false. + /// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, } -/// hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host directories as read/write. +/// hostPath represents a pre-existing file or directory on the host +/// machine that is directly exposed to the container. This is generally +/// used for system agents or other privileged things that are allowed +/// to see the host machine. Most containers will NOT need this. +/// More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath +/// --- +/// TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not +/// mount host directories as read/write. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesHostPath { - /// path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + /// path of the directory on the host. + /// If the path is a symlink, it will follow the link to the real path. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath pub path: String, - /// type for HostPath Volume Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath + /// type for HostPath Volume + /// Defaults to "" + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] pub r#type: Option, } -/// iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md +/// iscsi represents an ISCSI Disk resource that is attached to a +/// kubelet's host machine and then exposed to the pod. +/// More info: https://examples.k8s.io/volumes/iscsi/README.md #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesIscsi { /// chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication @@ -3876,29 +6024,39 @@ pub struct AmazonCloudWatchAgentVolumesIscsi { /// chapAuthSession defines whether support iSCSI Session CHAP authentication #[serde(default, skip_serializing_if = "Option::is_none", rename = "chapAuthSession")] pub chap_auth_session: Option, - /// fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi TODO: how do we prevent errors in the filesystem from compromising the machine + /// fsType is the filesystem type of the volume that you want to mount. + /// Tip: Ensure that the filesystem type is supported by the host operating system. + /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi + /// TODO: how do we prevent errors in the filesystem from compromising the machine #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, - /// initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection. + /// initiatorName is the custom iSCSI Initiator Name. + /// If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface + /// : will be created for the connection. #[serde(default, skip_serializing_if = "Option::is_none", rename = "initiatorName")] pub initiator_name: Option, /// iqn is the target iSCSI Qualified Name. pub iqn: String, - /// iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp). + /// iscsiInterface is the interface Name that uses an iSCSI transport. + /// Defaults to 'default' (tcp). #[serde(default, skip_serializing_if = "Option::is_none", rename = "iscsiInterface")] pub iscsi_interface: Option, /// lun represents iSCSI Target Lun number. pub lun: i32, - /// portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). + /// portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port + /// is other than default (typically TCP ports 860 and 3260). #[serde(default, skip_serializing_if = "Option::is_none")] pub portals: Option>, - /// readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. + /// readOnly here will force the ReadOnly setting in VolumeMounts. + /// Defaults to false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, /// secretRef is the CHAP Secret for iSCSI target and initiator authentication #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] pub secret_ref: Option, - /// targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). + /// targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port + /// is other than default (typically TCP ports 860 and 3260). #[serde(rename = "targetPortal")] pub target_portal: String, } @@ -3906,30 +6064,41 @@ pub struct AmazonCloudWatchAgentVolumesIscsi { /// secretRef is the CHAP Secret for iSCSI target and initiator authentication #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesIscsiSecretRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs +/// nfs represents an NFS mount on the host that shares a pod's lifetime +/// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesNfs { - /// path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + /// path that is exported by the NFS server. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs pub path: String, - /// readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + /// readOnly here will force the NFS export to be mounted with read-only permissions. + /// Defaults to false. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs + /// server is the hostname or IP address of the NFS server. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs pub server: String, } -/// persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims +/// persistentVolumeClaimVolumeSource represents a reference to a +/// PersistentVolumeClaim in the same namespace. +/// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesPersistentVolumeClaim { - /// claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims + /// claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. + /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[serde(rename = "claimName")] pub claim_name: String, - /// readOnly Will force the ReadOnly setting in VolumeMounts. Default false. + /// readOnly Will force the ReadOnly setting in VolumeMounts. + /// Default false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, } @@ -3937,7 +6106,9 @@ pub struct AmazonCloudWatchAgentVolumesPersistentVolumeClaim { /// photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesPhotonPersistentDisk { - /// fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// fsType is the filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, /// pdID is the ID that identifies Photon Controller persistent disk @@ -3948,10 +6119,13 @@ pub struct AmazonCloudWatchAgentVolumesPhotonPersistentDisk { /// portworxVolume represents a portworx volume attached and mounted on kubelets host machine #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesPortworxVolume { - /// fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. + /// fSType represents the filesystem type to mount + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, - /// readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + /// readOnly defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, /// volumeID uniquely identifies a Portworx volume @@ -3962,7 +6136,12 @@ pub struct AmazonCloudWatchAgentVolumesPortworxVolume { /// projected items for all in one resources secrets, configmaps, and downward API #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesProjected { - /// defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + /// defaultMode are the mode bits used to set permissions on created files by default. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// Directories within the path are not affected by this setting. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] pub default_mode: Option, /// sources is the list of volume projections @@ -3973,10 +6152,22 @@ pub struct AmazonCloudWatchAgentVolumesProjected { /// Projection that may be projected along with other supported volume types #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesProjectedSources { - /// ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field of ClusterTrustBundle objects in an auto-updating file. - /// Alpha, gated by the ClusterTrustBundleProjection feature gate. - /// ClusterTrustBundle objects can either be selected by name, or by the combination of signer name and a label selector. - /// Kubelet performs aggressive normalization of the PEM contents written into the pod filesystem. Esoteric PEM features such as inter-block comments and block headers are stripped. Certificates are deduplicated. The ordering of certificates within the file is arbitrary, and Kubelet may change the order over time. + /// ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field + /// of ClusterTrustBundle objects in an auto-updating file. + /// + /// + /// Alpha, gated by the ClusterTrustBundleProjection feature gate. + /// + /// + /// ClusterTrustBundle objects can either be selected by name, or by the + /// combination of signer name and a label selector. + /// + /// + /// Kubelet performs aggressive normalization of the PEM contents written + /// into the pod filesystem. Esoteric PEM features such as inter-block + /// comments and block headers are stripped. Certificates are deduplicated. + /// The ordering of certificates within the file is arbitrary, and Kubelet + /// may change the order over time. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterTrustBundle")] pub cluster_trust_bundle: Option, /// configMap information about the configMap data to project @@ -3993,47 +6184,79 @@ pub struct AmazonCloudWatchAgentVolumesProjectedSources { pub service_account_token: Option, } -/// ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field of ClusterTrustBundle objects in an auto-updating file. -/// Alpha, gated by the ClusterTrustBundleProjection feature gate. -/// ClusterTrustBundle objects can either be selected by name, or by the combination of signer name and a label selector. -/// Kubelet performs aggressive normalization of the PEM contents written into the pod filesystem. Esoteric PEM features such as inter-block comments and block headers are stripped. Certificates are deduplicated. The ordering of certificates within the file is arbitrary, and Kubelet may change the order over time. +/// ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field +/// of ClusterTrustBundle objects in an auto-updating file. +/// +/// +/// Alpha, gated by the ClusterTrustBundleProjection feature gate. +/// +/// +/// ClusterTrustBundle objects can either be selected by name, or by the +/// combination of signer name and a label selector. +/// +/// +/// Kubelet performs aggressive normalization of the PEM contents written +/// into the pod filesystem. Esoteric PEM features such as inter-block +/// comments and block headers are stripped. Certificates are deduplicated. +/// The ordering of certificates within the file is arbitrary, and Kubelet +/// may change the order over time. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesProjectedSourcesClusterTrustBundle { - /// Select all ClusterTrustBundles that match this label selector. Only has effect if signerName is set. Mutually-exclusive with name. If unset, interpreted as "match nothing". If set but empty, interpreted as "match everything". + /// Select all ClusterTrustBundles that match this label selector. Only has + /// effect if signerName is set. Mutually-exclusive with name. If unset, + /// interpreted as "match nothing". If set but empty, interpreted as "match + /// everything". #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, - /// Select a single ClusterTrustBundle by object name. Mutually-exclusive with signerName and labelSelector. + /// Select a single ClusterTrustBundle by object name. Mutually-exclusive + /// with signerName and labelSelector. #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, - /// If true, don't block pod startup if the referenced ClusterTrustBundle(s) aren't available. If using name, then the named ClusterTrustBundle is allowed not to exist. If using signerName, then the combination of signerName and labelSelector is allowed to match zero ClusterTrustBundles. + /// If true, don't block pod startup if the referenced ClusterTrustBundle(s) + /// aren't available. If using name, then the named ClusterTrustBundle is + /// allowed not to exist. If using signerName, then the combination of + /// signerName and labelSelector is allowed to match zero + /// ClusterTrustBundles. #[serde(default, skip_serializing_if = "Option::is_none")] pub optional: Option, /// Relative path from the volume root to write the bundle. pub path: String, - /// Select all ClusterTrustBundles that match this signer name. Mutually-exclusive with name. The contents of all selected ClusterTrustBundles will be unified and deduplicated. + /// Select all ClusterTrustBundles that match this signer name. + /// Mutually-exclusive with name. The contents of all selected + /// ClusterTrustBundles will be unified and deduplicated. #[serde(default, skip_serializing_if = "Option::is_none", rename = "signerName")] pub signer_name: Option, } -/// Select all ClusterTrustBundles that match this label selector. Only has effect if signerName is set. Mutually-exclusive with name. If unset, interpreted as "match nothing". If set but empty, interpreted as "match everything". +/// Select all ClusterTrustBundles that match this label selector. Only has +/// effect if signerName is set. Mutually-exclusive with name. If unset, +/// interpreted as "match nothing". If set but empty, interpreted as "match +/// everything". #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesProjectedSourcesClusterTrustBundleLabelSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesProjectedSourcesClusterTrustBundleLabelSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -4041,10 +6264,18 @@ pub struct AmazonCloudWatchAgentVolumesProjectedSourcesClusterTrustBundleLabelSe /// configMap information about the configMap data to project #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesProjectedSourcesConfigMap { - /// items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + /// items if unspecified, each key-value pair in the Data field of the referenced + /// ConfigMap will be projected into the volume as a file whose name is the + /// key and content is the value. If specified, the listed keys will be + /// projected into the specified paths, and unlisted keys will not be + /// present. If a key is specified which is not present in the ConfigMap, + /// the volume setup will error unless it is marked optional. Paths must be + /// relative and may not contain the '..' path or start with '..'. #[serde(default, skip_serializing_if = "Option::is_none")] pub items: Option>, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// optional specify whether the ConfigMap or its keys must be defined @@ -4057,10 +6288,18 @@ pub struct AmazonCloudWatchAgentVolumesProjectedSourcesConfigMap { pub struct AmazonCloudWatchAgentVolumesProjectedSourcesConfigMapItems { /// key is the key to project. pub key: String, - /// mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + /// mode is Optional: mode bits used to set permissions on this file. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// If not specified, the volume defaultMode will be used. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. #[serde(default, skip_serializing_if = "Option::is_none")] pub mode: Option, - /// path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + /// path is the relative path of the file to map the key to. + /// May not be an absolute path. + /// May not contain the path element '..'. + /// May not start with the string '..'. pub path: String, } @@ -4078,12 +6317,18 @@ pub struct AmazonCloudWatchAgentVolumesProjectedSourcesDownwardApiItems { /// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + /// Optional: mode bits used to set permissions on this file, must be an octal value + /// between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// If not specified, the volume defaultMode will be used. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. #[serde(default, skip_serializing_if = "Option::is_none")] pub mode: Option, /// Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' pub path: String, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, } @@ -4099,7 +6344,8 @@ pub struct AmazonCloudWatchAgentVolumesProjectedSourcesDownwardApiItemsFieldRef pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesProjectedSourcesDownwardApiItemsResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -4115,10 +6361,18 @@ pub struct AmazonCloudWatchAgentVolumesProjectedSourcesDownwardApiItemsResourceF /// secret information about the secret data to project #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesProjectedSourcesSecret { - /// items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + /// items if unspecified, each key-value pair in the Data field of the referenced + /// Secret will be projected into the volume as a file whose name is the + /// key and content is the value. If specified, the listed keys will be + /// projected into the specified paths, and unlisted keys will not be + /// present. If a key is specified which is not present in the Secret, + /// the volume setup will error unless it is marked optional. Paths must be + /// relative and may not contain the '..' path or start with '..'. #[serde(default, skip_serializing_if = "Option::is_none")] pub items: Option>, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// optional field specify whether the Secret or its key must be defined @@ -4131,78 +6385,124 @@ pub struct AmazonCloudWatchAgentVolumesProjectedSourcesSecret { pub struct AmazonCloudWatchAgentVolumesProjectedSourcesSecretItems { /// key is the key to project. pub key: String, - /// mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + /// mode is Optional: mode bits used to set permissions on this file. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// If not specified, the volume defaultMode will be used. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. #[serde(default, skip_serializing_if = "Option::is_none")] pub mode: Option, - /// path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + /// path is the relative path of the file to map the key to. + /// May not be an absolute path. + /// May not contain the path element '..'. + /// May not start with the string '..'. pub path: String, } /// serviceAccountToken is information about the serviceAccountToken data to project #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesProjectedSourcesServiceAccountToken { - /// audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver. + /// audience is the intended audience of the token. A recipient of a token + /// must identify itself with an identifier specified in the audience of the + /// token, and otherwise should reject the token. The audience defaults to the + /// identifier of the apiserver. #[serde(default, skip_serializing_if = "Option::is_none")] pub audience: Option, - /// expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes. + /// expirationSeconds is the requested duration of validity of the service + /// account token. As the token approaches expiration, the kubelet volume + /// plugin will proactively rotate the service account token. The kubelet will + /// start trying to rotate the token if the token is older than 80 percent of + /// its time to live or if the token is older than 24 hours.Defaults to 1 hour + /// and must be at least 10 minutes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "expirationSeconds")] pub expiration_seconds: Option, - /// path is the path relative to the mount point of the file to project the token into. + /// path is the path relative to the mount point of the file to project the + /// token into. pub path: String, } /// quobyte represents a Quobyte mount on the host that shares a pod's lifetime #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesQuobyte { - /// group to map volume access to Default is no group + /// group to map volume access to + /// Default is no group #[serde(default, skip_serializing_if = "Option::is_none")] pub group: Option, - /// readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false. + /// readOnly here will force the Quobyte volume to be mounted with read-only permissions. + /// Defaults to false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes + /// registry represents a single or multiple Quobyte Registry services + /// specified as a string as host:port pair (multiple entries are separated with commas) + /// which acts as the central registry for volumes pub registry: String, - /// tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin + /// tenant owning the given Quobyte volume in the Backend + /// Used with dynamically provisioned Quobyte volumes, value is set by the plugin #[serde(default, skip_serializing_if = "Option::is_none")] pub tenant: Option, - /// user to map volume access to Defaults to serivceaccount user + /// user to map volume access to + /// Defaults to serivceaccount user #[serde(default, skip_serializing_if = "Option::is_none")] pub user: Option, /// volume is a string that references an already created Quobyte volume by name. pub volume: String, } -/// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md +/// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. +/// More info: https://examples.k8s.io/volumes/rbd/README.md #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesRbd { - /// fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd TODO: how do we prevent errors in the filesystem from compromising the machine + /// fsType is the filesystem type of the volume that you want to mount. + /// Tip: Ensure that the filesystem type is supported by the host operating system. + /// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd + /// TODO: how do we prevent errors in the filesystem from compromising the machine #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, - /// image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + /// image is the rados image name. + /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it pub image: String, - /// keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + /// keyring is the path to key ring for RBDUser. + /// Default is /etc/ceph/keyring. + /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none")] pub keyring: Option, - /// monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + /// monitors is a collection of Ceph monitors. + /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it pub monitors: Vec, - /// pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + /// pool is the rados pool name. + /// Default is rbd. + /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none")] pub pool: Option, - /// readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + /// readOnly here will force the ReadOnly setting in VolumeMounts. + /// Defaults to false. + /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + /// secretRef is name of the authentication secret for RBDUser. If provided + /// overrides keyring. + /// Default is nil. + /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] pub secret_ref: Option, - /// user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it + /// user is the rados user name. + /// Default is admin. + /// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it #[serde(default, skip_serializing_if = "Option::is_none")] pub user: Option, } -/// secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it +/// secretRef is name of the authentication secret for RBDUser. If provided +/// overrides keyring. +/// Default is nil. +/// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesRbdSecretRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } @@ -4210,7 +6510,10 @@ pub struct AmazonCloudWatchAgentVolumesRbdSecretRef { /// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesScaleIo { - /// fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs". + /// fsType is the filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs", "ntfs". + /// Default is "xfs". #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, /// gateway is the host address of the ScaleIO API Gateway. @@ -4218,16 +6521,19 @@ pub struct AmazonCloudWatchAgentVolumesScaleIo { /// protectionDomain is the name of the ScaleIO Protection Domain for the configured storage. #[serde(default, skip_serializing_if = "Option::is_none", rename = "protectionDomain")] pub protection_domain: Option, - /// readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + /// readOnly Defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail. + /// secretRef references to the secret for ScaleIO user and other + /// sensitive information. If this is not provided, Login operation will fail. #[serde(rename = "secretRef")] pub secret_ref: AmazonCloudWatchAgentVolumesScaleIoSecretRef, /// sslEnabled Flag enable/disable SSL communication with Gateway, default false #[serde(default, skip_serializing_if = "Option::is_none", rename = "sslEnabled")] pub ssl_enabled: Option, - /// storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned. + /// storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. + /// Default is ThinProvisioned. #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageMode")] pub storage_mode: Option, /// storagePool is the ScaleIO Storage Pool associated with the protection domain. @@ -4235,32 +6541,50 @@ pub struct AmazonCloudWatchAgentVolumesScaleIo { pub storage_pool: Option, /// system is the name of the storage system as configured in ScaleIO. pub system: String, - /// volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source. + /// volumeName is the name of a volume already created in the ScaleIO system + /// that is associated with this volume source. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")] pub volume_name: Option, } -/// secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail. +/// secretRef references to the secret for ScaleIO user and other +/// sensitive information. If this is not provided, Login operation will fail. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesScaleIoSecretRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret +/// secret represents a secret that should populate this volume. +/// More info: https://kubernetes.io/docs/concepts/storage/volumes#secret #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesSecret { - /// defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + /// defaultMode is Optional: mode bits used to set permissions on created files by default. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values + /// for mode bits. Defaults to 0644. + /// Directories within the path are not affected by this setting. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] pub default_mode: Option, - /// items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. + /// items If unspecified, each key-value pair in the Data field of the referenced + /// Secret will be projected into the volume as a file whose name is the + /// key and content is the value. If specified, the listed keys will be + /// projected into the specified paths, and unlisted keys will not be + /// present. If a key is specified which is not present in the Secret, + /// the volume setup will error unless it is marked optional. Paths must be + /// relative and may not contain the '..' path or start with '..'. #[serde(default, skip_serializing_if = "Option::is_none")] pub items: Option>, /// optional field specify whether the Secret or its keys must be defined #[serde(default, skip_serializing_if = "Option::is_none")] pub optional: Option, - /// secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret + /// secretName is the name of the secret in the pod's namespace to use. + /// More info: https://kubernetes.io/docs/concepts/storage/volumes#secret #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] pub secret_name: Option, } @@ -4270,37 +6594,58 @@ pub struct AmazonCloudWatchAgentVolumesSecret { pub struct AmazonCloudWatchAgentVolumesSecretItems { /// key is the key to project. pub key: String, - /// mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + /// mode is Optional: mode bits used to set permissions on this file. + /// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. + /// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. + /// If not specified, the volume defaultMode will be used. + /// This might be in conflict with other options that affect the file + /// mode, like fsGroup, and the result can be other mode bits set. #[serde(default, skip_serializing_if = "Option::is_none")] pub mode: Option, - /// path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. + /// path is the relative path of the file to map the key to. + /// May not be an absolute path. + /// May not contain the path element '..'. + /// May not start with the string '..'. pub path: String, } /// storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesStorageos { - /// fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// fsType is the filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, - /// readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. + /// readOnly defaults to false (read/write). ReadOnly here will force + /// the ReadOnly setting in VolumeMounts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted. + /// secretRef specifies the secret to use for obtaining the StorageOS API + /// credentials. If not specified, default values will be attempted. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")] pub secret_ref: Option, - /// volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace. + /// volumeName is the human-readable name of the StorageOS volume. Volume + /// names are only unique within a namespace. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")] pub volume_name: Option, - /// volumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to "default" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created. + /// volumeNamespace specifies the scope of the volume within StorageOS. If no + /// namespace is specified then the Pod's namespace will be used. This allows the + /// Kubernetes name scoping to be mirrored within StorageOS for tighter integration. + /// Set VolumeName to any name to override the default behaviour. + /// Set to "default" if you are not using namespaces within StorageOS. + /// Namespaces that do not pre-exist within StorageOS will be created. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeNamespace")] pub volume_namespace: Option, } -/// secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted. +/// secretRef specifies the secret to use for obtaining the StorageOS API +/// credentials. If not specified, default values will be attempted. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesStorageosSecretRef { - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } @@ -4308,7 +6653,9 @@ pub struct AmazonCloudWatchAgentVolumesStorageosSecretRef { /// vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentVolumesVsphereVolume { - /// fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. + /// fsType is filesystem type to mount. + /// Must be a filesystem type supported by the host operating system. + /// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, /// storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. @@ -4328,10 +6675,12 @@ pub struct AmazonCloudWatchAgentStatus { /// Image indicates the container image to use for the OpenTelemetry Collector. #[serde(default, skip_serializing_if = "Option::is_none")] pub image: Option, - /// Messages about actions performed by the operator on this resource. Deprecated: use Kubernetes events instead. + /// Messages about actions performed by the operator on this resource. + /// Deprecated: use Kubernetes events instead. #[serde(default, skip_serializing_if = "Option::is_none")] pub messages: Option>, - /// Replicas is currently not being set and might be removed in the next version. Deprecated: use "AmazonCloudWatchAgent.Status.Scale.Replicas" instead. + /// Replicas is currently not being set and might be removed in the next version. + /// Deprecated: use "AmazonCloudWatchAgent.Status.Scale.Replicas" instead. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, /// Scale is the AmazonCloudWatchAgent's scale subresource status. @@ -4345,13 +6694,17 @@ pub struct AmazonCloudWatchAgentStatus { /// Scale is the AmazonCloudWatchAgent's scale subresource status. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AmazonCloudWatchAgentStatusScale { - /// The total number non-terminated pods targeted by this AmazonCloudWatchAgent's deployment or statefulSet. + /// The total number non-terminated pods targeted by this + /// AmazonCloudWatchAgent's deployment or statefulSet. #[serde(default, skip_serializing_if = "Option::is_none")] pub replicas: Option, - /// The selector used to match the AmazonCloudWatchAgent's deployment or statefulSet pods. + /// The selector used to match the AmazonCloudWatchAgent's + /// deployment or statefulSet pods. #[serde(default, skip_serializing_if = "Option::is_none")] pub selector: Option, - /// StatusReplicas is the number of pods targeted by this AmazonCloudWatchAgent's with a Ready Condition / Total number of non-terminated pods targeted by this AmazonCloudWatchAgent's (their labels match the selector). Deployment, Daemonset, StatefulSet. + /// StatusReplicas is the number of pods targeted by this AmazonCloudWatchAgent's with a Ready Condition / + /// Total number of non-terminated pods targeted by this AmazonCloudWatchAgent's (their labels match the selector). + /// Deployment, Daemonset, StatefulSet. #[serde(default, skip_serializing_if = "Option::is_none", rename = "statusReplicas")] pub status_replicas: Option, } diff --git a/kube-custom-resources-rs/src/cloudwatch_aws_amazon_com/v1alpha1/instrumentations.rs b/kube-custom-resources-rs/src/cloudwatch_aws_amazon_com/v1alpha1/instrumentations.rs index 94e812e76..09d5b9b2f 100644 --- a/kube-custom-resources-rs/src/cloudwatch_aws_amazon_com/v1alpha1/instrumentations.rs +++ b/kube-custom-resources-rs/src/cloudwatch_aws_amazon_com/v1alpha1/instrumentations.rs @@ -25,13 +25,18 @@ pub struct InstrumentationSpec { /// DotNet defines configuration for DotNet auto-instrumentation. #[serde(default, skip_serializing_if = "Option::is_none")] pub dotnet: Option, - /// Env defines common env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored. + /// Env defines common env vars. There are four layers for env vars' definitions and + /// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. + /// If the former var had been defined, then the other vars would be ignored. #[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, /// Exporter defines exporter configuration. #[serde(default, skip_serializing_if = "Option::is_none")] pub exporter: Option, - /// Go defines configuration for Go auto-instrumentation. When using Go auto-instrumentation you must provide a value for the OTEL_GO_AUTO_TARGET_EXE env var via the Instrumentation env vars or via the instrumentation.opentelemetry.io/otel-go-auto-target-exe pod annotation. Failure to set this value causes instrumentation injection to abort, leaving the original pod unchanged. + /// Go defines configuration for Go auto-instrumentation. + /// When using Go auto-instrumentation you must provide a value for the OTEL_GO_AUTO_TARGET_EXE env var via the + /// Instrumentation env vars or via the instrumentation.opentelemetry.io/otel-go-auto-target-exe pod annotation. + /// Failure to set this value causes instrumentation injection to abort, leaving the original pod unchanged. #[serde(default, skip_serializing_if = "Option::is_none")] pub go: Option, /// Java defines configuration for java auto-instrumentation. @@ -43,7 +48,9 @@ pub struct InstrumentationSpec { /// NodeJS defines configuration for nodejs auto-instrumentation. #[serde(default, skip_serializing_if = "Option::is_none")] pub nodejs: Option, - /// Propagators defines inter-process context propagation configuration. Values in this list will be set in the OTEL_PROPAGATORS env var. Enum=tracecontext;baggage;b3;b3multi;jaeger;xray;ottrace;none + /// Propagators defines inter-process context propagation configuration. + /// Values in this list will be set in the OTEL_PROPAGATORS env var. + /// Enum=tracecontext;baggage;b3;b3multi;jaeger;xray;ottrace;none #[serde(default, skip_serializing_if = "Option::is_none")] pub propagators: Option>, /// Python defines configuration for python auto-instrumentation. @@ -60,13 +67,18 @@ pub struct InstrumentationSpec { /// ApacheHttpd defines configuration for Apache HTTPD auto-instrumentation. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationApacheHttpd { - /// Attrs defines Apache HTTPD agent specific attributes. The precedence is: `agent default attributes` > `instrument spec attributes` . Attributes are documented at https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/otel-webserver-module + /// Attrs defines Apache HTTPD agent specific attributes. The precedence is: + /// `agent default attributes` > `instrument spec attributes` . + /// Attributes are documented at https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/otel-webserver-module #[serde(default, skip_serializing_if = "Option::is_none")] pub attrs: Option>, - /// Location of Apache HTTPD server configuration. Needed only if different from default "/usr/local/apache2/conf" + /// Location of Apache HTTPD server configuration. + /// Needed only if different from default "/usr/local/apache2/conf" #[serde(default, skip_serializing_if = "Option::is_none", rename = "configPath")] pub config_path: Option, - /// Env defines Apache HTTPD specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored. + /// Env defines Apache HTTPD specific env vars. There are four layers for env vars' definitions and + /// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. + /// If the former var had been defined, then the other vars would be ignored. #[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, /// Image is a container image with Apache SDK and auto-instrumentation. @@ -78,7 +90,8 @@ pub struct InstrumentationApacheHttpd { /// Apache HTTPD server version. One of 2.4 or 2.2. Default is 2.4 #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, - /// VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 200Mi. + /// VolumeSizeLimit defines size limit for volume used for auto-instrumentation. + /// The default size is 200Mi. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeLimitSize")] pub volume_limit_size: Option, } @@ -88,7 +101,15 @@ pub struct InstrumentationApacheHttpd { pub struct InstrumentationApacheHttpdAttrs { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, - /// Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + /// Variable references $(VAR_NAME) are expanded + /// using the previously defined environment variables in the container and + /// any service environment variables. If a variable cannot be resolved, + /// the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + /// "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + /// Escaped references will never be expanded, regardless of whether the variable + /// exists or not. + /// Defaults to "". #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. @@ -102,10 +123,12 @@ pub struct InstrumentationApacheHttpdAttrsValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] pub config_map_key_ref: Option, - /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace @@ -118,7 +141,9 @@ pub struct InstrumentationApacheHttpdAttrsValueFrom { pub struct InstrumentationApacheHttpdAttrsValueFromConfigMapKeyRef { /// The key to select. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap or its key must be defined @@ -126,7 +151,8 @@ pub struct InstrumentationApacheHttpdAttrsValueFromConfigMapKeyRef { pub optional: Option, } -/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, +/// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationApacheHttpdAttrsValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -137,7 +163,8 @@ pub struct InstrumentationApacheHttpdAttrsValueFromFieldRef { pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationApacheHttpdAttrsValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -155,7 +182,9 @@ pub struct InstrumentationApacheHttpdAttrsValueFromResourceFieldRef { pub struct InstrumentationApacheHttpdAttrsValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -168,7 +197,15 @@ pub struct InstrumentationApacheHttpdAttrsValueFromSecretKeyRef { pub struct InstrumentationApacheHttpdEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, - /// Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + /// Variable references $(VAR_NAME) are expanded + /// using the previously defined environment variables in the container and + /// any service environment variables. If a variable cannot be resolved, + /// the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + /// "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + /// Escaped references will never be expanded, regardless of whether the variable + /// exists or not. + /// Defaults to "". #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. @@ -182,10 +219,12 @@ pub struct InstrumentationApacheHttpdEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] pub config_map_key_ref: Option, - /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace @@ -198,7 +237,9 @@ pub struct InstrumentationApacheHttpdEnvValueFrom { pub struct InstrumentationApacheHttpdEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap or its key must be defined @@ -206,7 +247,8 @@ pub struct InstrumentationApacheHttpdEnvValueFromConfigMapKeyRef { pub optional: Option, } -/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, +/// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationApacheHttpdEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -217,7 +259,8 @@ pub struct InstrumentationApacheHttpdEnvValueFromFieldRef { pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationApacheHttpdEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -235,7 +278,9 @@ pub struct InstrumentationApacheHttpdEnvValueFromResourceFieldRef { pub struct InstrumentationApacheHttpdEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -246,15 +291,25 @@ pub struct InstrumentationApacheHttpdEnvValueFromSecretKeyRef { /// Resources describes the compute resource requirements. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationApacheHttpdResourceRequirements { - /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. - /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. - /// This field is immutable. It can only be set for containers. + /// Claims lists the names of resources, defined in spec.resourceClaims, + /// that are used by this container. + /// + /// + /// This is an alpha field and requires enabling the + /// DynamicResourceAllocation feature gate. + /// + /// + /// This field is immutable. It can only be set for containers. #[serde(default, skip_serializing_if = "Option::is_none")] pub claims: Option>, - /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Limits describes the maximum amount of compute resources allowed. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, - /// Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Requests describes the minimum amount of compute resources required. + /// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + /// otherwise to an implementation-defined value. Requests cannot exceed Limits. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub requests: Option>, } @@ -262,14 +317,18 @@ pub struct InstrumentationApacheHttpdResourceRequirements { /// ResourceClaim references one entry in PodSpec.ResourceClaims. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationApacheHttpdResourceRequirementsClaims { - /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + /// Name must match the name of one entry in pod.spec.resourceClaims of + /// the Pod where this field is used. It makes that resource available + /// inside a container. pub name: String, } /// DotNet defines configuration for DotNet auto-instrumentation. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationDotnet { - /// Env defines DotNet specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored. + /// Env defines DotNet specific env vars. There are four layers for env vars' definitions and + /// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. + /// If the former var had been defined, then the other vars would be ignored. #[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, /// Image is a container image with DotNet SDK and auto-instrumentation. @@ -278,7 +337,8 @@ pub struct InstrumentationDotnet { /// Resources describes the compute resource requirements. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceRequirements")] pub resource_requirements: Option, - /// VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 200Mi. + /// VolumeSizeLimit defines size limit for volume used for auto-instrumentation. + /// The default size is 200Mi. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeLimitSize")] pub volume_limit_size: Option, } @@ -288,7 +348,15 @@ pub struct InstrumentationDotnet { pub struct InstrumentationDotnetEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, - /// Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + /// Variable references $(VAR_NAME) are expanded + /// using the previously defined environment variables in the container and + /// any service environment variables. If a variable cannot be resolved, + /// the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + /// "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + /// Escaped references will never be expanded, regardless of whether the variable + /// exists or not. + /// Defaults to "". #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. @@ -302,10 +370,12 @@ pub struct InstrumentationDotnetEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] pub config_map_key_ref: Option, - /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace @@ -318,7 +388,9 @@ pub struct InstrumentationDotnetEnvValueFrom { pub struct InstrumentationDotnetEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap or its key must be defined @@ -326,7 +398,8 @@ pub struct InstrumentationDotnetEnvValueFromConfigMapKeyRef { pub optional: Option, } -/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, +/// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationDotnetEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -337,7 +410,8 @@ pub struct InstrumentationDotnetEnvValueFromFieldRef { pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationDotnetEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -355,7 +429,9 @@ pub struct InstrumentationDotnetEnvValueFromResourceFieldRef { pub struct InstrumentationDotnetEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -366,15 +442,25 @@ pub struct InstrumentationDotnetEnvValueFromSecretKeyRef { /// Resources describes the compute resource requirements. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationDotnetResourceRequirements { - /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. - /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. - /// This field is immutable. It can only be set for containers. + /// Claims lists the names of resources, defined in spec.resourceClaims, + /// that are used by this container. + /// + /// + /// This is an alpha field and requires enabling the + /// DynamicResourceAllocation feature gate. + /// + /// + /// This field is immutable. It can only be set for containers. #[serde(default, skip_serializing_if = "Option::is_none")] pub claims: Option>, - /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Limits describes the maximum amount of compute resources allowed. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, - /// Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Requests describes the minimum amount of compute resources required. + /// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + /// otherwise to an implementation-defined value. Requests cannot exceed Limits. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub requests: Option>, } @@ -382,7 +468,9 @@ pub struct InstrumentationDotnetResourceRequirements { /// ResourceClaim references one entry in PodSpec.ResourceClaims. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationDotnetResourceRequirementsClaims { - /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + /// Name must match the name of one entry in pod.spec.resourceClaims of + /// the Pod where this field is used. It makes that resource available + /// inside a container. pub name: String, } @@ -391,7 +479,15 @@ pub struct InstrumentationDotnetResourceRequirementsClaims { pub struct InstrumentationEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, - /// Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + /// Variable references $(VAR_NAME) are expanded + /// using the previously defined environment variables in the container and + /// any service environment variables. If a variable cannot be resolved, + /// the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + /// "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + /// Escaped references will never be expanded, regardless of whether the variable + /// exists or not. + /// Defaults to "". #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. @@ -405,10 +501,12 @@ pub struct InstrumentationEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] pub config_map_key_ref: Option, - /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace @@ -421,7 +519,9 @@ pub struct InstrumentationEnvValueFrom { pub struct InstrumentationEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap or its key must be defined @@ -429,7 +529,8 @@ pub struct InstrumentationEnvValueFromConfigMapKeyRef { pub optional: Option, } -/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, +/// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -440,7 +541,8 @@ pub struct InstrumentationEnvValueFromFieldRef { pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -458,7 +560,9 @@ pub struct InstrumentationEnvValueFromResourceFieldRef { pub struct InstrumentationEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -474,10 +578,15 @@ pub struct InstrumentationExporter { pub endpoint: Option, } -/// Go defines configuration for Go auto-instrumentation. When using Go auto-instrumentation you must provide a value for the OTEL_GO_AUTO_TARGET_EXE env var via the Instrumentation env vars or via the instrumentation.opentelemetry.io/otel-go-auto-target-exe pod annotation. Failure to set this value causes instrumentation injection to abort, leaving the original pod unchanged. +/// Go defines configuration for Go auto-instrumentation. +/// When using Go auto-instrumentation you must provide a value for the OTEL_GO_AUTO_TARGET_EXE env var via the +/// Instrumentation env vars or via the instrumentation.opentelemetry.io/otel-go-auto-target-exe pod annotation. +/// Failure to set this value causes instrumentation injection to abort, leaving the original pod unchanged. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationGo { - /// Env defines Go specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored. + /// Env defines Go specific env vars. There are four layers for env vars' definitions and + /// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. + /// If the former var had been defined, then the other vars would be ignored. #[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, /// Image is a container image with Go SDK and auto-instrumentation. @@ -486,7 +595,8 @@ pub struct InstrumentationGo { /// Resources describes the compute resource requirements. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceRequirements")] pub resource_requirements: Option, - /// VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 200Mi. + /// VolumeSizeLimit defines size limit for volume used for auto-instrumentation. + /// The default size is 200Mi. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeLimitSize")] pub volume_limit_size: Option, } @@ -496,7 +606,15 @@ pub struct InstrumentationGo { pub struct InstrumentationGoEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, - /// Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + /// Variable references $(VAR_NAME) are expanded + /// using the previously defined environment variables in the container and + /// any service environment variables. If a variable cannot be resolved, + /// the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + /// "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + /// Escaped references will never be expanded, regardless of whether the variable + /// exists or not. + /// Defaults to "". #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. @@ -510,10 +628,12 @@ pub struct InstrumentationGoEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] pub config_map_key_ref: Option, - /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace @@ -526,7 +646,9 @@ pub struct InstrumentationGoEnvValueFrom { pub struct InstrumentationGoEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap or its key must be defined @@ -534,7 +656,8 @@ pub struct InstrumentationGoEnvValueFromConfigMapKeyRef { pub optional: Option, } -/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, +/// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationGoEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -545,7 +668,8 @@ pub struct InstrumentationGoEnvValueFromFieldRef { pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationGoEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -563,7 +687,9 @@ pub struct InstrumentationGoEnvValueFromResourceFieldRef { pub struct InstrumentationGoEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -574,15 +700,25 @@ pub struct InstrumentationGoEnvValueFromSecretKeyRef { /// Resources describes the compute resource requirements. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationGoResourceRequirements { - /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. - /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. - /// This field is immutable. It can only be set for containers. + /// Claims lists the names of resources, defined in spec.resourceClaims, + /// that are used by this container. + /// + /// + /// This is an alpha field and requires enabling the + /// DynamicResourceAllocation feature gate. + /// + /// + /// This field is immutable. It can only be set for containers. #[serde(default, skip_serializing_if = "Option::is_none")] pub claims: Option>, - /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Limits describes the maximum amount of compute resources allowed. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, - /// Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Requests describes the minimum amount of compute resources required. + /// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + /// otherwise to an implementation-defined value. Requests cannot exceed Limits. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub requests: Option>, } @@ -590,14 +726,18 @@ pub struct InstrumentationGoResourceRequirements { /// ResourceClaim references one entry in PodSpec.ResourceClaims. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationGoResourceRequirementsClaims { - /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + /// Name must match the name of one entry in pod.spec.resourceClaims of + /// the Pod where this field is used. It makes that resource available + /// inside a container. pub name: String, } /// Java defines configuration for java auto-instrumentation. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationJava { - /// Env defines java specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored. + /// Env defines java specific env vars. There are four layers for env vars' definitions and + /// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. + /// If the former var had been defined, then the other vars would be ignored. #[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, /// Image is a container image with javaagent auto-instrumentation JAR. @@ -606,7 +746,8 @@ pub struct InstrumentationJava { /// Resources describes the compute resource requirements. #[serde(default, skip_serializing_if = "Option::is_none")] pub resources: Option, - /// VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 200Mi. + /// VolumeSizeLimit defines size limit for volume used for auto-instrumentation. + /// The default size is 200Mi. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeLimitSize")] pub volume_limit_size: Option, } @@ -616,7 +757,15 @@ pub struct InstrumentationJava { pub struct InstrumentationJavaEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, - /// Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + /// Variable references $(VAR_NAME) are expanded + /// using the previously defined environment variables in the container and + /// any service environment variables. If a variable cannot be resolved, + /// the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + /// "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + /// Escaped references will never be expanded, regardless of whether the variable + /// exists or not. + /// Defaults to "". #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. @@ -630,10 +779,12 @@ pub struct InstrumentationJavaEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] pub config_map_key_ref: Option, - /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace @@ -646,7 +797,9 @@ pub struct InstrumentationJavaEnvValueFrom { pub struct InstrumentationJavaEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap or its key must be defined @@ -654,7 +807,8 @@ pub struct InstrumentationJavaEnvValueFromConfigMapKeyRef { pub optional: Option, } -/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, +/// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationJavaEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -665,7 +819,8 @@ pub struct InstrumentationJavaEnvValueFromFieldRef { pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationJavaEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -683,7 +838,9 @@ pub struct InstrumentationJavaEnvValueFromResourceFieldRef { pub struct InstrumentationJavaEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -694,15 +851,25 @@ pub struct InstrumentationJavaEnvValueFromSecretKeyRef { /// Resources describes the compute resource requirements. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationJavaResources { - /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. - /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. - /// This field is immutable. It can only be set for containers. + /// Claims lists the names of resources, defined in spec.resourceClaims, + /// that are used by this container. + /// + /// + /// This is an alpha field and requires enabling the + /// DynamicResourceAllocation feature gate. + /// + /// + /// This field is immutable. It can only be set for containers. #[serde(default, skip_serializing_if = "Option::is_none")] pub claims: Option>, - /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Limits describes the maximum amount of compute resources allowed. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, - /// Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Requests describes the minimum amount of compute resources required. + /// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + /// otherwise to an implementation-defined value. Requests cannot exceed Limits. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub requests: Option>, } @@ -710,20 +877,27 @@ pub struct InstrumentationJavaResources { /// ResourceClaim references one entry in PodSpec.ResourceClaims. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationJavaResourcesClaims { - /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + /// Name must match the name of one entry in pod.spec.resourceClaims of + /// the Pod where this field is used. It makes that resource available + /// inside a container. pub name: String, } /// Nginx defines configuration for Nginx auto-instrumentation. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationNginx { - /// Attrs defines Nginx agent specific attributes. The precedence order is: `agent default attributes` > `instrument spec attributes` . Attributes are documented at https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/otel-webserver-module + /// Attrs defines Nginx agent specific attributes. The precedence order is: + /// `agent default attributes` > `instrument spec attributes` . + /// Attributes are documented at https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/otel-webserver-module #[serde(default, skip_serializing_if = "Option::is_none")] pub attrs: Option>, - /// Location of Nginx configuration file. Needed only if different from default "/etx/nginx/nginx.conf" + /// Location of Nginx configuration file. + /// Needed only if different from default "/etx/nginx/nginx.conf" #[serde(default, skip_serializing_if = "Option::is_none", rename = "configFile")] pub config_file: Option, - /// Env defines Nginx specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored. + /// Env defines Nginx specific env vars. There are four layers for env vars' definitions and + /// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. + /// If the former var had been defined, then the other vars would be ignored. #[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, /// Image is a container image with Nginx SDK and auto-instrumentation. @@ -732,7 +906,8 @@ pub struct InstrumentationNginx { /// Resources describes the compute resource requirements. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceRequirements")] pub resource_requirements: Option, - /// VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 200Mi. + /// VolumeSizeLimit defines size limit for volume used for auto-instrumentation. + /// The default size is 200Mi. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeLimitSize")] pub volume_limit_size: Option, } @@ -742,7 +917,15 @@ pub struct InstrumentationNginx { pub struct InstrumentationNginxAttrs { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, - /// Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + /// Variable references $(VAR_NAME) are expanded + /// using the previously defined environment variables in the container and + /// any service environment variables. If a variable cannot be resolved, + /// the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + /// "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + /// Escaped references will never be expanded, regardless of whether the variable + /// exists or not. + /// Defaults to "". #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. @@ -756,10 +939,12 @@ pub struct InstrumentationNginxAttrsValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] pub config_map_key_ref: Option, - /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace @@ -772,7 +957,9 @@ pub struct InstrumentationNginxAttrsValueFrom { pub struct InstrumentationNginxAttrsValueFromConfigMapKeyRef { /// The key to select. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap or its key must be defined @@ -780,7 +967,8 @@ pub struct InstrumentationNginxAttrsValueFromConfigMapKeyRef { pub optional: Option, } -/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, +/// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationNginxAttrsValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -791,7 +979,8 @@ pub struct InstrumentationNginxAttrsValueFromFieldRef { pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationNginxAttrsValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -809,7 +998,9 @@ pub struct InstrumentationNginxAttrsValueFromResourceFieldRef { pub struct InstrumentationNginxAttrsValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -822,7 +1013,15 @@ pub struct InstrumentationNginxAttrsValueFromSecretKeyRef { pub struct InstrumentationNginxEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, - /// Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + /// Variable references $(VAR_NAME) are expanded + /// using the previously defined environment variables in the container and + /// any service environment variables. If a variable cannot be resolved, + /// the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + /// "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + /// Escaped references will never be expanded, regardless of whether the variable + /// exists or not. + /// Defaults to "". #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. @@ -836,10 +1035,12 @@ pub struct InstrumentationNginxEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] pub config_map_key_ref: Option, - /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace @@ -852,7 +1053,9 @@ pub struct InstrumentationNginxEnvValueFrom { pub struct InstrumentationNginxEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap or its key must be defined @@ -860,7 +1063,8 @@ pub struct InstrumentationNginxEnvValueFromConfigMapKeyRef { pub optional: Option, } -/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, +/// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationNginxEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -871,7 +1075,8 @@ pub struct InstrumentationNginxEnvValueFromFieldRef { pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationNginxEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -889,7 +1094,9 @@ pub struct InstrumentationNginxEnvValueFromResourceFieldRef { pub struct InstrumentationNginxEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -900,15 +1107,25 @@ pub struct InstrumentationNginxEnvValueFromSecretKeyRef { /// Resources describes the compute resource requirements. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationNginxResourceRequirements { - /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. - /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. - /// This field is immutable. It can only be set for containers. + /// Claims lists the names of resources, defined in spec.resourceClaims, + /// that are used by this container. + /// + /// + /// This is an alpha field and requires enabling the + /// DynamicResourceAllocation feature gate. + /// + /// + /// This field is immutable. It can only be set for containers. #[serde(default, skip_serializing_if = "Option::is_none")] pub claims: Option>, - /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Limits describes the maximum amount of compute resources allowed. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, - /// Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Requests describes the minimum amount of compute resources required. + /// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + /// otherwise to an implementation-defined value. Requests cannot exceed Limits. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub requests: Option>, } @@ -916,14 +1133,18 @@ pub struct InstrumentationNginxResourceRequirements { /// ResourceClaim references one entry in PodSpec.ResourceClaims. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationNginxResourceRequirementsClaims { - /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + /// Name must match the name of one entry in pod.spec.resourceClaims of + /// the Pod where this field is used. It makes that resource available + /// inside a container. pub name: String, } /// NodeJS defines configuration for nodejs auto-instrumentation. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationNodejs { - /// Env defines nodejs specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored. + /// Env defines nodejs specific env vars. There are four layers for env vars' definitions and + /// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. + /// If the former var had been defined, then the other vars would be ignored. #[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, /// Image is a container image with NodeJS SDK and auto-instrumentation. @@ -932,7 +1153,8 @@ pub struct InstrumentationNodejs { /// Resources describes the compute resource requirements. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceRequirements")] pub resource_requirements: Option, - /// VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 200Mi. + /// VolumeSizeLimit defines size limit for volume used for auto-instrumentation. + /// The default size is 200Mi. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeLimitSize")] pub volume_limit_size: Option, } @@ -942,7 +1164,15 @@ pub struct InstrumentationNodejs { pub struct InstrumentationNodejsEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, - /// Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + /// Variable references $(VAR_NAME) are expanded + /// using the previously defined environment variables in the container and + /// any service environment variables. If a variable cannot be resolved, + /// the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + /// "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + /// Escaped references will never be expanded, regardless of whether the variable + /// exists or not. + /// Defaults to "". #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. @@ -956,10 +1186,12 @@ pub struct InstrumentationNodejsEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] pub config_map_key_ref: Option, - /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace @@ -972,7 +1204,9 @@ pub struct InstrumentationNodejsEnvValueFrom { pub struct InstrumentationNodejsEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap or its key must be defined @@ -980,7 +1214,8 @@ pub struct InstrumentationNodejsEnvValueFromConfigMapKeyRef { pub optional: Option, } -/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, +/// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationNodejsEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -991,7 +1226,8 @@ pub struct InstrumentationNodejsEnvValueFromFieldRef { pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationNodejsEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -1009,7 +1245,9 @@ pub struct InstrumentationNodejsEnvValueFromResourceFieldRef { pub struct InstrumentationNodejsEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -1020,15 +1258,25 @@ pub struct InstrumentationNodejsEnvValueFromSecretKeyRef { /// Resources describes the compute resource requirements. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationNodejsResourceRequirements { - /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. - /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. - /// This field is immutable. It can only be set for containers. + /// Claims lists the names of resources, defined in spec.resourceClaims, + /// that are used by this container. + /// + /// + /// This is an alpha field and requires enabling the + /// DynamicResourceAllocation feature gate. + /// + /// + /// This field is immutable. It can only be set for containers. #[serde(default, skip_serializing_if = "Option::is_none")] pub claims: Option>, - /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Limits describes the maximum amount of compute resources allowed. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, - /// Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Requests describes the minimum amount of compute resources required. + /// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + /// otherwise to an implementation-defined value. Requests cannot exceed Limits. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub requests: Option>, } @@ -1036,14 +1284,18 @@ pub struct InstrumentationNodejsResourceRequirements { /// ResourceClaim references one entry in PodSpec.ResourceClaims. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationNodejsResourceRequirementsClaims { - /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + /// Name must match the name of one entry in pod.spec.resourceClaims of + /// the Pod where this field is used. It makes that resource available + /// inside a container. pub name: String, } /// Python defines configuration for python auto-instrumentation. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationPython { - /// Env defines python specific env vars. There are four layers for env vars' definitions and the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. If the former var had been defined, then the other vars would be ignored. + /// Env defines python specific env vars. There are four layers for env vars' definitions and + /// the precedence order is: `original container env vars` > `language specific env vars` > `common env vars` > `instrument spec configs' vars`. + /// If the former var had been defined, then the other vars would be ignored. #[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, /// Image is a container image with Python SDK and auto-instrumentation. @@ -1052,7 +1304,8 @@ pub struct InstrumentationPython { /// Resources describes the compute resource requirements. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceRequirements")] pub resource_requirements: Option, - /// VolumeSizeLimit defines size limit for volume used for auto-instrumentation. The default size is 200Mi. + /// VolumeSizeLimit defines size limit for volume used for auto-instrumentation. + /// The default size is 200Mi. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeLimitSize")] pub volume_limit_size: Option, } @@ -1062,7 +1315,15 @@ pub struct InstrumentationPython { pub struct InstrumentationPythonEnv { /// Name of the environment variable. Must be a C_IDENTIFIER. pub name: String, - /// Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". + /// Variable references $(VAR_NAME) are expanded + /// using the previously defined environment variables in the container and + /// any service environment variables. If a variable cannot be resolved, + /// the reference in the input string will be unchanged. Double $$ are reduced + /// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + /// "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + /// Escaped references will never be expanded, regardless of whether the variable + /// exists or not. + /// Defaults to "". #[serde(default, skip_serializing_if = "Option::is_none")] pub value: Option, /// Source for the environment variable's value. Cannot be used if value is not empty. @@ -1076,10 +1337,12 @@ pub struct InstrumentationPythonEnvValueFrom { /// Selects a key of a ConfigMap. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] pub config_map_key_ref: Option, - /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + /// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + /// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] pub field_ref: Option, - /// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + /// Selects a resource of the container: only resources limits and requests + /// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")] pub resource_field_ref: Option, /// Selects a key of a secret in the pod's namespace @@ -1092,7 +1355,9 @@ pub struct InstrumentationPythonEnvValueFrom { pub struct InstrumentationPythonEnvValueFromConfigMapKeyRef { /// The key to select. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the ConfigMap or its key must be defined @@ -1100,7 +1365,8 @@ pub struct InstrumentationPythonEnvValueFromConfigMapKeyRef { pub optional: Option, } -/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. +/// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, +/// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationPythonEnvValueFromFieldRef { /// Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -1111,7 +1377,8 @@ pub struct InstrumentationPythonEnvValueFromFieldRef { pub field_path: String, } -/// Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +/// Selects a resource of the container: only resources limits and requests +/// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationPythonEnvValueFromResourceFieldRef { /// Container name: required for volumes, optional for env vars @@ -1129,7 +1396,9 @@ pub struct InstrumentationPythonEnvValueFromResourceFieldRef { pub struct InstrumentationPythonEnvValueFromSecretKeyRef { /// The key of the secret to select from. Must be a valid secret key. pub key: String, - /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, /// Specify whether the Secret or its key must be defined @@ -1140,15 +1409,25 @@ pub struct InstrumentationPythonEnvValueFromSecretKeyRef { /// Resources describes the compute resource requirements. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationPythonResourceRequirements { - /// Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. - /// This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. - /// This field is immutable. It can only be set for containers. + /// Claims lists the names of resources, defined in spec.resourceClaims, + /// that are used by this container. + /// + /// + /// This is an alpha field and requires enabling the + /// DynamicResourceAllocation feature gate. + /// + /// + /// This field is immutable. It can only be set for containers. #[serde(default, skip_serializing_if = "Option::is_none")] pub claims: Option>, - /// Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Limits describes the maximum amount of compute resources allowed. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, - /// Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + /// Requests describes the minimum amount of compute resources required. + /// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + /// otherwise to an implementation-defined value. Requests cannot exceed Limits. + /// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ #[serde(default, skip_serializing_if = "Option::is_none")] pub requests: Option>, } @@ -1156,7 +1435,9 @@ pub struct InstrumentationPythonResourceRequirements { /// ResourceClaim references one entry in PodSpec.ResourceClaims. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationPythonResourceRequirementsClaims { - /// Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. + /// Name must match the name of one entry in pod.spec.resourceClaims of + /// the Pod where this field is used. It makes that resource available + /// inside a container. pub name: String, } @@ -1166,7 +1447,8 @@ pub struct InstrumentationResource { /// AddK8sUIDAttributes defines whether K8s UID attributes should be collected (e.g. k8s.deployment.uid). #[serde(default, skip_serializing_if = "Option::is_none", rename = "addK8sUIDAttributes")] pub add_k8s_uid_attributes: Option, - /// Attributes defines attributes that are added to the resource. For example environment: dev + /// Attributes defines attributes that are added to the resource. + /// For example environment: dev #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceAttributes")] pub resource_attributes: Option>, } @@ -1174,10 +1456,15 @@ pub struct InstrumentationResource { /// Sampler defines sampling configuration. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct InstrumentationSampler { - /// Argument defines sampler argument. The value depends on the sampler type. For instance for parentbased_traceidratio sampler type it is a number in range [0..1] e.g. 0.25. The value will be set in the OTEL_TRACES_SAMPLER_ARG env var. + /// Argument defines sampler argument. + /// The value depends on the sampler type. + /// For instance for parentbased_traceidratio sampler type it is a number in range [0..1] e.g. 0.25. + /// The value will be set in the OTEL_TRACES_SAMPLER_ARG env var. #[serde(default, skip_serializing_if = "Option::is_none")] pub argument: Option, - /// Type defines sampler type. The value will be set in the OTEL_TRACES_SAMPLER env var. The value can be for instance parentbased_always_on, parentbased_always_off, parentbased_traceidratio... + /// Type defines sampler type. + /// The value will be set in the OTEL_TRACES_SAMPLER env var. + /// The value can be for instance parentbased_always_on, parentbased_always_off, parentbased_traceidratio... #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] pub r#type: Option, } diff --git a/kube-custom-resources-rs/src/cloudwatch_services_k8s_aws/v1alpha1/metricalarms.rs b/kube-custom-resources-rs/src/cloudwatch_services_k8s_aws/v1alpha1/metricalarms.rs index 0085b9e0d..70e7c4f19 100644 --- a/kube-custom-resources-rs/src/cloudwatch_services_k8s_aws/v1alpha1/metricalarms.rs +++ b/kube-custom-resources-rs/src/cloudwatch_services_k8s_aws/v1alpha1/metricalarms.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// MetricAlarmSpec defines the desired state of MetricAlarm. /// -/// /// The details about a metric alarm. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "cloudwatch.services.k8s.aws", version = "v1alpha1", kind = "MetricAlarm", plural = "metricalarms")] @@ -30,52 +29,36 @@ pub struct MetricAlarmSpec { /// any other state. Each action is specified as an Amazon Resource Name (ARN). /// Valid values: /// - /// /// EC2 actions: /// - /// /// * arn:aws:automate:region:ec2:stop /// - /// /// * arn:aws:automate:region:ec2:terminate /// - /// /// * arn:aws:automate:region:ec2:reboot /// - /// /// * arn:aws:automate:region:ec2:recover /// - /// /// * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 /// - /// /// * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 /// - /// /// * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0 /// - /// /// * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0 /// - /// /// Autoscaling action: /// - /// /// * arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name /// - /// /// SNS notification action: /// - /// /// * arn:aws:sns:region:account-id:sns-topic-name:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name /// - /// /// SSM integration actions: /// - /// /// * arn:aws:ssm:region:account-id:opsitem:severity#CATEGORY=category-name /// - /// /// * arn:aws:ssm-incidents::account-id:responseplan/response-plan-name #[serde(default, skip_serializing_if = "Option::is_none", rename = "alarmActions")] pub alarm_actions: Option>, @@ -85,7 +68,6 @@ pub struct MetricAlarmSpec { /// The arithmetic operation to use when comparing the specified statistic and /// threshold. The specified statistic value is used as the first operand. /// - /// /// The values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold, /// and GreaterThanUpperThreshold are used only for alarms based on anomaly detection /// models. @@ -107,7 +89,6 @@ pub struct MetricAlarmSpec { /// are available. For more information, see Percentile-Based CloudWatch Alarms /// and Low Data Samples (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#percentiles-with-low-samples). /// - /// /// Valid Values: evaluate | ignore #[serde(default, skip_serializing_if = "Option::is_none", rename = "evaluateLowSampleCountPercentile")] pub evaluate_low_sample_count_percentile: Option, @@ -116,7 +97,6 @@ pub struct MetricAlarmSpec { /// points be breaching to trigger the alarm, this value specifies that number. /// If you are setting an "M out of N" alarm, this value is the N. /// - /// /// An alarm's total current evaluation period can be no longer than one day, /// so this number multiplied by Period cannot be more than 86,400 seconds. #[serde(rename = "evaluationPeriods")] @@ -125,43 +105,30 @@ pub struct MetricAlarmSpec { /// PutMetricAlarm and specify a MetricName, you must specify either Statistic /// or ExtendedStatistic but not both. /// - /// /// If you specify ExtendedStatistic, the following are valid values: /// - /// /// * p90 /// - /// /// * tm90 /// - /// /// * tc90 /// - /// /// * ts90 /// - /// /// * wm90 /// - /// /// * IQM /// - /// /// * PR(n:m) where n and m are values of the metric /// - /// /// * TC(X%:X%) where X is between 10 and 90 inclusive. /// - /// /// * TM(X%:X%) where X is between 10 and 90 inclusive. /// - /// /// * TS(X%:X%) where X is between 10 and 90 inclusive. /// - /// /// * WM(X%:X%) where X is between 10 and 90 inclusive. /// - /// /// For more information about these extended statistics, see CloudWatch statistics /// definitions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html). #[serde(default, skip_serializing_if = "Option::is_none", rename = "extendedStatistic")] @@ -170,59 +137,42 @@ pub struct MetricAlarmSpec { /// state from any other state. Each action is specified as an Amazon Resource /// Name (ARN). Valid values: /// - /// /// EC2 actions: /// - /// /// * arn:aws:automate:region:ec2:stop /// - /// /// * arn:aws:automate:region:ec2:terminate /// - /// /// * arn:aws:automate:region:ec2:reboot /// - /// /// * arn:aws:automate:region:ec2:recover /// - /// /// * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 /// - /// /// * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 /// - /// /// * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0 /// - /// /// * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0 /// - /// /// Autoscaling action: /// - /// /// * arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name /// - /// /// SNS notification action: /// - /// /// * arn:aws:sns:region:account-id:sns-topic-name:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name /// - /// /// SSM integration actions: /// - /// /// * arn:aws:ssm:region:account-id:opsitem:severity#CATEGORY=category-name /// - /// /// * arn:aws:ssm-incidents::account-id:responseplan/response-plan-name #[serde(default, skip_serializing_if = "Option::is_none", rename = "insufficientDataActions")] pub insufficient_data_actions: Option>, /// The name for the metric associated with the alarm. For each PutMetricAlarm /// operation, you must specify either MetricName or a Metrics array. /// - /// /// If you are creating an alarm based on a math expression, you cannot specify /// this parameter, or any of the Namespace, Dimensions, Period, Unit, Statistic, /// or ExtendedStatistic parameters. Instead, you specify all this information @@ -233,16 +183,13 @@ pub struct MetricAlarmSpec { /// based on the result of a metric math expression. For each PutMetricAlarm /// operation, you must specify either MetricName or a Metrics array. /// - /// /// Each item in the Metrics array either retrieves a metric or performs a math /// expression. /// - /// /// One item in the Metrics array is the expression that the alarm watches. You /// designate this expression by setting ReturnData to true for this object in /// the array. For more information, see MetricDataQuery (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDataQuery.html). /// - /// /// If you use the Metrics parameter, you cannot include the Namespace, MetricName, /// Dimensions, Period, Unit, Statistic, or ExtendedStatistic parameters of PutMetricAlarm /// in the same operation. Instead, you retrieve the metrics you are using in @@ -251,7 +198,6 @@ pub struct MetricAlarmSpec { pub metrics: Option>, /// The name for the alarm. This name must be unique within the Region. /// - /// /// The name must contain only UTF-8 characters, and can't contain ASCII control /// characters pub name: String, @@ -262,64 +208,46 @@ pub struct MetricAlarmSpec { /// other state. Each action is specified as an Amazon Resource Name (ARN). Valid /// values: /// - /// /// EC2 actions: /// - /// /// * arn:aws:automate:region:ec2:stop /// - /// /// * arn:aws:automate:region:ec2:terminate /// - /// /// * arn:aws:automate:region:ec2:reboot /// - /// /// * arn:aws:automate:region:ec2:recover /// - /// /// * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 /// - /// /// * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 /// - /// /// * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0 /// - /// /// * arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Recover/1.0 /// - /// /// Autoscaling action: /// - /// /// * arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name /// - /// /// SNS notification action: /// - /// /// * arn:aws:sns:region:account-id:sns-topic-name:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name /// - /// /// SSM integration actions: /// - /// /// * arn:aws:ssm:region:account-id:opsitem:severity#CATEGORY=category-name /// - /// /// * arn:aws:ssm-incidents::account-id:responseplan/response-plan-name #[serde(default, skip_serializing_if = "Option::is_none", rename = "oKActions")] pub o_k_actions: Option>, /// The length, in seconds, used each time the metric specified in MetricName /// is evaluated. Valid values are 10, 30, and any multiple of 60. /// - /// /// Period is required for alarms based on static thresholds. If you are creating /// an alarm based on a metric math expression, you specify the period for each /// metric within the objects in the Metrics array. /// - /// /// Be sure to specify 10 or 30 only for metrics that are stored by a PutMetricData /// call with a StorageResolution of 1. If you specify a period of 10 or 30 for /// a metric that does not have sub-minute resolution, the alarm still attempts @@ -330,7 +258,6 @@ pub struct MetricAlarmSpec { /// has a higher charge than other alarms. For more information about pricing, /// see Amazon CloudWatch Pricing (https://aws.amazon.com/cloudwatch/pricing/). /// - /// /// An alarm's total current evaluation period can be no longer than one day, /// so Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -345,12 +272,10 @@ pub struct MetricAlarmSpec { /// as many as 50 tags with an alarm. To be able to associate tags with the alarm /// when you create the alarm, you must have the cloudwatch:TagResource permission. /// - /// /// Tags can help you organize and categorize your resources. You can also use /// them to scope user permissions by granting a user permission to access or /// change only resources with certain tag values. /// - /// /// If you are using this operation to update an existing alarm, any tags you /// specify in this parameter are ignored. To change the tags of an existing /// alarm, use TagResource (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html) @@ -359,7 +284,6 @@ pub struct MetricAlarmSpec { pub tags: Option>, /// The value against which the specified statistic is compared. /// - /// /// This parameter is required for alarms based on static thresholds, but should /// not be used for alarms based on anomaly detection models. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -367,11 +291,9 @@ pub struct MetricAlarmSpec { /// If this is an alarm based on an anomaly detection model, make this value /// match the ID of the ANOMALY_DETECTION_BAND function. /// - /// /// For an example of how to use this parameter, see the Anomaly Detection Model /// Alarm example on this page. /// - /// /// If your alarm uses this parameter, it cannot have Auto Scaling actions. #[serde(default, skip_serializing_if = "Option::is_none", rename = "thresholdMetricID")] pub threshold_metric_id: Option, @@ -379,10 +301,8 @@ pub struct MetricAlarmSpec { /// is omitted, the default behavior of missing is used. For more information, /// see Configuring How CloudWatch Alarms Treats Missing Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data). /// - /// /// Valid Values: breaching | notBreaching | ignore | missing /// - /// /// Alarms that evaluate metrics in the AWS/DynamoDB namespace always ignore /// missing data even if you choose a different option for TreatMissingData. /// When an AWS/DynamoDB metric has missing data, alarms that evaluate that metric @@ -398,17 +318,14 @@ pub struct MetricAlarmSpec { /// a metric math expression, you can specify the unit for each metric (if needed) /// within the objects in the Metrics array. /// - /// /// If you don't specify Unit, CloudWatch retrieves all unit types that have /// been published for the metric and attempts to evaluate the alarm. Usually, /// metrics are published with only one unit, so the alarm works as intended. /// - /// /// However, if the metric is published with multiple types of units and you /// don't specify a unit, the alarm's behavior is not defined and it behaves /// unpredictably. /// - /// /// We recommend omitting Unit so that you don't inadvertently specify an incorrect /// unit that is not published for this metric. Doing so causes the alarm to /// be stuck in the INSUFFICIENT DATA state. @@ -423,7 +340,6 @@ pub struct MetricAlarmSpec { /// InstanceId as a dimension name, and the actual instance ID as the value for /// that dimension. /// -/// /// You can assign up to 30 dimensions to a metric. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MetricAlarmDimensions { @@ -436,13 +352,11 @@ pub struct MetricAlarmDimensions { /// This structure is used in both GetMetricData and PutMetricAlarm. The supported /// use of this structure is different for those two operations. /// -/// /// When used in GetMetricData, it indicates the metric data to return, and whether /// this call is just retrieving a batch set of data for one metric, or is performing /// a Metrics Insights query or a math expression. A single GetMetricData call /// can include up to 500 MetricDataQuery structures. /// -/// /// When used in PutMetricAlarm, it enables you to create an alarm based on a /// metric math expression. Each MetricDataQuery in the array specifies either /// a metric to retrieve, or a math expression to be performed on retrieved metrics. @@ -453,12 +367,10 @@ pub struct MetricAlarmDimensions { /// Expression structures, one must have true as the value for ReturnData. The /// result of this expression is the value the alarm watches. /// -/// /// Any expression used in a PutMetricAlarm operation must return a single time /// series. For more information, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) /// in the Amazon CloudWatch User Guide. /// -/// /// Some of the parameters of this structure also have different uses whether /// you are using this structure in a GetMetricData operation or a PutMetricAlarm /// operation. These differences are explained in the following parameter list. @@ -515,7 +427,6 @@ pub struct MetricAlarmMetricsMetricStatMetric { /// InstanceId as a dimension name, and the actual instance ID as the value for /// that dimension. /// -/// /// You can assign up to 30 dimensions to a metric. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MetricAlarmMetricsMetricStatMetricDimensions { @@ -561,7 +472,6 @@ pub struct MetricAlarmStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/cloudwatchlogs_services_k8s_aws/v1alpha1/loggroups.rs b/kube-custom-resources-rs/src/cloudwatchlogs_services_k8s_aws/v1alpha1/loggroups.rs index 8bff9656e..bda16799a 100644 --- a/kube-custom-resources-rs/src/cloudwatchlogs_services_k8s_aws/v1alpha1/loggroups.rs +++ b/kube-custom-resources-rs/src/cloudwatchlogs_services_k8s_aws/v1alpha1/loggroups.rs @@ -13,7 +13,6 @@ use self::prelude::*; /// LogGroupSpec defines the desired state of LogGroup. /// -/// /// Represents a log group. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "cloudwatchlogs.services.k8s.aws", version = "v1alpha1", kind = "LogGroup", plural = "loggroups")] @@ -32,7 +31,6 @@ pub struct LogGroupSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsKeyRef")] @@ -44,7 +42,6 @@ pub struct LogGroupSpec { pub subscription_filters: Option>, /// The key-value pairs to use for the tags. /// - /// /// You can grant users access to certain log groups while preventing them from /// accessing other log groups. To do so, tag your groups and use IAM policies /// that refer to those tags. To assign tags when you create a log group, you @@ -62,7 +59,6 @@ pub struct LogGroupSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -146,7 +142,6 @@ pub struct LogGroupStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/data_fluid_io/v1alpha1/jindoruntimes.rs b/kube-custom-resources-rs/src/data_fluid_io/v1alpha1/jindoruntimes.rs index 0ac842666..02386bc5c 100644 --- a/kube-custom-resources-rs/src/data_fluid_io/v1alpha1/jindoruntimes.rs +++ b/kube-custom-resources-rs/src/data_fluid_io/v1alpha1/jindoruntimes.rs @@ -33,6 +33,9 @@ pub struct JindoRuntimeSpec { /// of the file as the value. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hadoopConfig")] pub hadoop_config: Option, + /// ImagePullSecrets that will be used to pull images + #[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullSecrets")] + pub image_pull_secrets: Option>, /// The version information that instructs fluid to orchestrate a particular version of Jindo. #[serde(default, skip_serializing_if = "Option::is_none", rename = "jindoVersion")] pub jindo_version: Option, @@ -120,6 +123,9 @@ pub struct JindoRuntimeFuse { /// One of the three policies: `Always`, `IfNotPresent`, `Never` #[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")] pub image_pull_policy: Option, + /// ImagePullSecrets that will be used to pull images + #[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullSecrets")] + pub image_pull_secrets: Option>, /// Image Tag for Jindo Fuse(e.g. 2.3.0-SNAPSHOT) #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageTag")] pub image_tag: Option, @@ -154,6 +160,17 @@ pub struct JindoRuntimeFuse { pub tolerations: Option>, } +/// LocalObjectReference contains enough information to let you locate the +/// referenced object inside the same namespace. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct JindoRuntimeFuseImagePullSecrets { + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + /// Define whether fuse metrics will be enabled. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct JindoRuntimeFuseMetrics { @@ -246,6 +263,17 @@ pub struct JindoRuntimeFuseTolerations { pub value: Option, } +/// LocalObjectReference contains enough information to let you locate the +/// referenced object inside the same namespace. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct JindoRuntimeImagePullSecrets { + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + /// The version information that instructs fluid to orchestrate a particular version of Jindo. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct JindoRuntimeJindoVersion { @@ -269,6 +297,9 @@ pub struct JindoRuntimeMaster { /// Environment variables that will be used by Jindo component.
#[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, + /// ImagePullSecrets that will be used to pull images + #[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullSecrets")] + pub image_pull_secrets: Option>, /// Labels will be added on JindoFS Master or Worker pods. /// DEPRECATED: This is a deprecated field. Please use PodMetadata instead. /// Note: this field is set to be exclusive with PodMetadata.Labels @@ -304,6 +335,17 @@ pub struct JindoRuntimeMaster { pub volume_mounts: Option>, } +/// LocalObjectReference contains enough information to let you locate the +/// referenced object inside the same namespace. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct JindoRuntimeMasterImagePullSecrets { + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + /// PodMetadata defines labels and annotations that will be propagated to Jindo's pods #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct JindoRuntimeMasterPodMetadata { @@ -3696,6 +3738,9 @@ pub struct JindoRuntimeWorker { /// Environment variables that will be used by Jindo component.
#[serde(default, skip_serializing_if = "Option::is_none")] pub env: Option>, + /// ImagePullSecrets that will be used to pull images + #[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullSecrets")] + pub image_pull_secrets: Option>, /// Labels will be added on JindoFS Master or Worker pods. /// DEPRECATED: This is a deprecated field. Please use PodMetadata instead. /// Note: this field is set to be exclusive with PodMetadata.Labels @@ -3731,6 +3776,17 @@ pub struct JindoRuntimeWorker { pub volume_mounts: Option>, } +/// LocalObjectReference contains enough information to let you locate the +/// referenced object inside the same namespace. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct JindoRuntimeWorkerImagePullSecrets { + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + /// TODO: Add other useful fields. apiVersion, kind, uid? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + /// PodMetadata defines labels and annotations that will be propagated to Jindo's pods #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct JindoRuntimeWorkerPodMetadata { diff --git a/kube-custom-resources-rs/src/devices_kubeedge_io/v1beta1/devices.rs b/kube-custom-resources-rs/src/devices_kubeedge_io/v1beta1/devices.rs index ff096c421..1bbb5bd09 100644 --- a/kube-custom-resources-rs/src/devices_kubeedge_io/v1beta1/devices.rs +++ b/kube-custom-resources-rs/src/devices_kubeedge_io/v1beta1/devices.rs @@ -21,6 +21,9 @@ pub struct DeviceSpec { /// Required: DeviceModelRef is reference to the device model used as a template to create the device instance. #[serde(default, skip_serializing_if = "Option::is_none", rename = "deviceModelRef")] pub device_model_ref: Option, + /// List of methods of device. methods list item must be unique by method.Name. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub methods: Option>, /// NodeName is a request to schedule this device onto a specific node. If it is non-empty, the scheduler simply schedules this device onto that node, assuming that it fits resource requirements. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeName")] pub node_name: Option, @@ -40,6 +43,20 @@ pub struct DeviceDeviceModelRef { pub name: Option, } +/// DeviceMethod describes the specifics all the methods of the device. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct DeviceMethods { + /// Define the description of device method. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub description: Option, + /// Required: The device method name to be accessed. It must be unique. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// PropertyNames are list of device properties that device methods can control. Required: A device method can control multiple device properties. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "propertyNames")] + pub property_names: Option>, +} + /// DeviceProperty describes the specifics all the properties of the device. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct DeviceProperties { diff --git a/kube-custom-resources-rs/src/documentdb_services_k8s_aws/v1alpha1/dbclusters.rs b/kube-custom-resources-rs/src/documentdb_services_k8s_aws/v1alpha1/dbclusters.rs index 900cbbeb9..9366d5dd9 100644 --- a/kube-custom-resources-rs/src/documentdb_services_k8s_aws/v1alpha1/dbclusters.rs +++ b/kube-custom-resources-rs/src/documentdb_services_k8s_aws/v1alpha1/dbclusters.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// DBClusterSpec defines the desired state of DBCluster. /// -/// /// Detailed information about a cluster. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "documentdb.services.k8s.aws", version = "v1alpha1", kind = "DBCluster", plural = "dbclusters")] @@ -29,31 +28,23 @@ pub struct DBClusterSpec { /// The number of days for which automated backups are retained. You must specify /// a minimum value of 1. /// - /// /// Default: 1 /// - /// /// Constraints: /// - /// /// * Must be a value from 1 to 35. #[serde(default, skip_serializing_if = "Option::is_none", rename = "backupRetentionPeriod")] pub backup_retention_period: Option, /// The cluster identifier. This parameter is stored as a lowercase string. /// - /// /// Constraints: /// - /// /// * Must contain from 1 to 63 letters, numbers, or hyphens. /// - /// /// * The first character must be a letter. /// - /// /// * Cannot end with a hyphen or contain two consecutive hyphens. /// - /// /// Example: my-cluster #[serde(rename = "dbClusterIdentifier")] pub db_cluster_identifier: String, @@ -62,11 +53,9 @@ pub struct DBClusterSpec { pub db_cluster_parameter_group_name: Option, /// A subnet group to associate with this cluster. /// - /// /// Constraints: Must match the name of an existing DBSubnetGroup. Must not be /// default. /// - /// /// Example: mySubnetgroup #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbSubnetGroupName")] pub db_subnet_group_name: Option, @@ -75,7 +64,6 @@ pub struct DBClusterSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbSubnetGroupRef")] @@ -97,7 +85,6 @@ pub struct DBClusterSpec { pub enable_cloudwatch_logs_exports: Option>, /// The name of the database engine to be used for this cluster. /// - /// /// Valid values: docdb pub engine: String, /// The version number of the database engine to use. The --engine-version will @@ -111,20 +98,16 @@ pub struct DBClusterSpec { pub global_cluster_identifier: Option, /// The KMS key identifier for an encrypted cluster. /// - /// /// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption /// key. If you are creating a cluster using the same Amazon Web Services account /// that owns the KMS encryption key that is used to encrypt the new cluster, /// you can use the KMS key alias instead of the ARN for the KMS encryption key. /// - /// /// If an encryption key is not specified in KmsKeyId: /// - /// /// * If the StorageEncrypted parameter is true, Amazon DocumentDB uses your /// default encryption key. /// - /// /// KMS creates the default encryption key for your Amazon Web Services account. /// Your Amazon Web Services account has a different default encryption key for /// each Amazon Web Services Regions. @@ -135,7 +118,6 @@ pub struct DBClusterSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsKeyRef")] @@ -144,22 +126,17 @@ pub struct DBClusterSpec { /// printable ASCII character except forward slash (/), double quote ("), or /// the "at" symbol (@). /// - /// /// Constraints: Must contain from 8 to 100 characters. #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterUserPassword")] pub master_user_password: Option, /// The name of the master user for the cluster. /// - /// /// Constraints: /// - /// /// * Must be from 1 to 63 letters or numbers. /// - /// /// * The first character must be a letter. /// - /// /// * Cannot be a reserved word for the chosen database engine. #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterUsername")] pub master_username: Option, @@ -172,54 +149,41 @@ pub struct DBClusterSpec { /// The daily time range during which automated backups are created if automated /// backups are enabled using the BackupRetentionPeriod parameter. /// - /// /// The default is a 30-minute window selected at random from an 8-hour block /// of time for each Amazon Web Services Region. /// - /// /// Constraints: /// - /// /// * Must be in the format hh24:mi-hh24:mi. /// - /// /// * Must be in Universal Coordinated Time (UTC). /// - /// /// * Must not conflict with the preferred maintenance window. /// - /// /// * Must be at least 30 minutes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredBackupWindow")] pub preferred_backup_window: Option, /// The weekly time range during which system maintenance can occur, in Universal /// Coordinated Time (UTC). /// - /// /// Format: ddd:hh24:mi-ddd:hh24:mi /// - /// /// The default is a 30-minute window selected at random from an 8-hour block /// of time for each Amazon Web Services Region, occurring on a random day of /// the week. /// - /// /// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun /// - /// /// Constraints: Minimum 30-minute window. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredMaintenanceWindow")] pub preferred_maintenance_window: Option, /// The identifier for the snapshot or cluster snapshot to restore from. /// - /// /// You can use either the name or the Amazon Resource Name (ARN) to specify /// a cluster snapshot. However, you can use only the ARN to specify a snapshot. /// - /// /// Constraints: /// - /// /// * Must match the identifier of an existing snapshot. #[serde(default, skip_serializing_if = "Option::is_none", rename = "snapshotIdentifier")] pub snapshot_identifier: Option, @@ -233,17 +197,13 @@ pub struct DBClusterSpec { pub storage_encrypted: Option, /// The storage type to associate with the DB cluster. /// - /// /// For information on storage types for Amazon DocumentDB clusters, see Cluster /// storage configurations in the Amazon DocumentDB Developer Guide. /// - /// /// Valid values for storage type - standard | iopt1 /// - /// /// Default value is standard /// - /// /// When you create a DocumentDB DB cluster with the storage type set to iopt1, /// the storage type is returned in the response. The storage type isn't returned /// when you set it to standard. @@ -264,7 +224,6 @@ pub struct DBClusterSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -290,7 +249,6 @@ pub struct DBClusterDbSubnetGroupRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -315,7 +273,6 @@ pub struct DBClusterKmsKeyRefFrom { /// printable ASCII character except forward slash (/), double quote ("), or /// the "at" symbol (@). /// -/// /// Constraints: Must contain from 8 to 100 characters. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct DBClusterMasterUserPassword { @@ -344,7 +301,6 @@ pub struct DBClusterTags { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -442,7 +398,6 @@ pub struct DBClusterStatus { /// replicas in the cluster. This functionality can help balance your read workload /// across multiple Amazon DocumentDB replicas in your cluster. /// - /// /// If a failover occurs, and the Amazon DocumentDB replica that you are connected /// to is promoted to be the primary instance, your connection is dropped. To /// continue sending your read workload to other Amazon DocumentDB replicas in @@ -473,7 +428,6 @@ pub struct DBClusterStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/documentdb_services_k8s_aws/v1alpha1/dbinstances.rs b/kube-custom-resources-rs/src/documentdb_services_k8s_aws/v1alpha1/dbinstances.rs index 1fcfd85f5..56c23d7f1 100644 --- a/kube-custom-resources-rs/src/documentdb_services_k8s_aws/v1alpha1/dbinstances.rs +++ b/kube-custom-resources-rs/src/documentdb_services_k8s_aws/v1alpha1/dbinstances.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// DBInstanceSpec defines the desired state of DBInstance. /// -/// /// Detailed information about an instance. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "documentdb.services.k8s.aws", version = "v1alpha1", kind = "DBInstance", plural = "dbinstances")] @@ -25,23 +24,19 @@ pub struct DBInstanceSpec { /// This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does /// not perform minor version upgrades regardless of the value set. /// - /// /// Default: false #[serde(default, skip_serializing_if = "Option::is_none", rename = "autoMinorVersionUpgrade")] pub auto_minor_version_upgrade: Option, /// The Amazon EC2 Availability Zone that the instance is created in. /// - /// /// Default: A random, system-chosen Availability Zone in the endpoint's Amazon /// Web Services Region. /// - /// /// Example: us-east-1d #[serde(default, skip_serializing_if = "Option::is_none", rename = "availabilityZone")] pub availability_zone: Option, /// The CA certificate identifier to use for the DB instance's server certificate. /// - /// /// For more information, see Updating Your Amazon DocumentDB TLS Certificates /// (https://docs.aws.amazon.com/documentdb/latest/developerguide/ca_cert_rotation.html) /// and Encrypting Data in Transit (https://docs.aws.amazon.com/documentdb/latest/developerguide/security.encryption.ssl.html) @@ -60,25 +55,19 @@ pub struct DBInstanceSpec { pub db_instance_class: String, /// The instance identifier. This parameter is stored as a lowercase string. /// - /// /// Constraints: /// - /// /// * Must contain from 1 to 63 letters, numbers, or hyphens. /// - /// /// * The first character must be a letter. /// - /// /// * Cannot end with a hyphen or contain two consecutive hyphens. /// - /// /// Example: mydbinstance #[serde(rename = "dbInstanceIdentifier")] pub db_instance_identifier: String, /// The name of the database engine to be used for this instance. /// - /// /// Valid value: docdb pub engine: String, /// A value that indicates whether to enable Performance Insights for the DB @@ -87,11 +76,9 @@ pub struct DBInstanceSpec { pub performance_insights_enabled: Option, /// The KMS key identifier for encryption of Performance Insights data. /// - /// /// The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for /// the KMS key. /// - /// /// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon /// DocumentDB uses your default KMS key. There is a default KMS key for your /// Amazon Web Services account. Your Amazon Web Services account has a different @@ -103,7 +90,6 @@ pub struct DBInstanceSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "performanceInsightsKMSKeyRef")] @@ -111,18 +97,14 @@ pub struct DBInstanceSpec { /// The time range each week during which system maintenance can occur, in Universal /// Coordinated Time (UTC). /// - /// /// Format: ddd:hh24:mi-ddd:hh24:mi /// - /// /// The default is a 30-minute window selected at random from an 8-hour block /// of time for each Amazon Web Services Region, occurring on a random day of /// the week. /// - /// /// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun /// - /// /// Constraints: Minimum 30-minute window. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredMaintenanceWindow")] pub preferred_maintenance_window: Option, @@ -130,10 +112,8 @@ pub struct DBInstanceSpec { /// promoted to the primary instance after a failure of the existing primary /// instance. /// - /// /// Default: 1 /// - /// /// Valid values: 0-15 #[serde(default, skip_serializing_if = "Option::is_none", rename = "promotionTier")] pub promotion_tier: Option, @@ -148,7 +128,6 @@ pub struct DBInstanceSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -267,7 +246,6 @@ pub struct DBInstanceStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/documentdb_services_k8s_aws/v1alpha1/dbsubnetgroups.rs b/kube-custom-resources-rs/src/documentdb_services_k8s_aws/v1alpha1/dbsubnetgroups.rs index 6aa90c52c..d480591b9 100644 --- a/kube-custom-resources-rs/src/documentdb_services_k8s_aws/v1alpha1/dbsubnetgroups.rs +++ b/kube-custom-resources-rs/src/documentdb_services_k8s_aws/v1alpha1/dbsubnetgroups.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// DBSubnetGroupSpec defines the desired state of DBSubnetGroup. /// -/// /// Detailed information about a subnet group. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "documentdb.services.k8s.aws", version = "v1alpha1", kind = "DBSubnetGroup", plural = "dbsubnetgroups")] @@ -26,11 +25,9 @@ pub struct DBSubnetGroupSpec { pub description: String, /// The name for the subnet group. This value is stored as a lowercase string. /// - /// /// Constraints: Must contain no more than 255 letters, numbers, periods, underscores, /// spaces, or hyphens. Must not be default. /// - /// /// Example: mySubnetgroup pub name: String, /// The Amazon EC2 subnet IDs for the subnet group. @@ -48,7 +45,6 @@ pub struct DBSubnetGroupSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -115,7 +111,6 @@ pub struct DBSubnetGroupStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/dynamodb_services_k8s_aws/v1alpha1/backups.rs b/kube-custom-resources-rs/src/dynamodb_services_k8s_aws/v1alpha1/backups.rs index 41f260856..41345311d 100644 --- a/kube-custom-resources-rs/src/dynamodb_services_k8s_aws/v1alpha1/backups.rs +++ b/kube-custom-resources-rs/src/dynamodb_services_k8s_aws/v1alpha1/backups.rs @@ -51,16 +51,13 @@ pub struct BackupStatus { pub backup_status: Option, /// BackupType: /// - /// /// * USER - You create and manage these using the on-demand backup feature. /// - /// /// * SYSTEM - If you delete a table with point-in-time recovery enabled, /// a SYSTEM backup is automatically created and is retained for 35 days (at /// no additional cost). System backups allow you to restore the deleted table /// to the state it was in just before the point of deletion. /// - /// /// * AWS_BACKUP - On-demand backup created by you from Backup service. #[serde(default, skip_serializing_if = "Option::is_none", rename = "backupType")] pub backup_type: Option, @@ -83,7 +80,6 @@ pub struct BackupStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/dynamodb_services_k8s_aws/v1alpha1/globaltables.rs b/kube-custom-resources-rs/src/dynamodb_services_k8s_aws/v1alpha1/globaltables.rs index 5d5c05e92..ec6c08d2a 100644 --- a/kube-custom-resources-rs/src/dynamodb_services_k8s_aws/v1alpha1/globaltables.rs +++ b/kube-custom-resources-rs/src/dynamodb_services_k8s_aws/v1alpha1/globaltables.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// GlobalTableSpec defines the desired state of GlobalTable. /// -/// /// Represents the properties of a global table. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "dynamodb.services.k8s.aws", version = "v1alpha1", kind = "GlobalTable", plural = "globaltables")] @@ -56,16 +55,12 @@ pub struct GlobalTableStatus { pub creation_date_time: Option, /// The current state of the global table: /// - /// /// * CREATING - The global table is being created. /// - /// /// * UPDATING - The global table is being updated. /// - /// /// * DELETING - The global table is being deleted. /// - /// /// * ACTIVE - The global table is ready for use. #[serde(default, skip_serializing_if = "Option::is_none", rename = "globalTableStatus")] pub global_table_status: Option, @@ -82,7 +77,6 @@ pub struct GlobalTableStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/dynamodb_services_k8s_aws/v1alpha1/tables.rs b/kube-custom-resources-rs/src/dynamodb_services_k8s_aws/v1alpha1/tables.rs index 06e058b82..59cadd90c 100644 --- a/kube-custom-resources-rs/src/dynamodb_services_k8s_aws/v1alpha1/tables.rs +++ b/kube-custom-resources-rs/src/dynamodb_services_k8s_aws/v1alpha1/tables.rs @@ -25,11 +25,9 @@ pub struct TableSpec { /// Controls how you are charged for read and write throughput and how you manage /// capacity. This setting can be changed later. /// - /// /// * PROVISIONED - We recommend using PROVISIONED for predictable workloads. /// PROVISIONED sets the billing mode to Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual). /// - /// /// * PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable /// workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand). #[serde(default, skip_serializing_if = "Option::is_none", rename = "billingMode")] @@ -44,14 +42,11 @@ pub struct TableSpec { /// One or more global secondary indexes (the maximum is 20) to be created on /// the table. Each global secondary index in the array includes the following: /// - /// /// * IndexName - The name of the global secondary index. Must be unique only /// for this table. /// - /// /// * KeySchema - Specifies the key schema for the global secondary index. /// - /// /// * Projection - Specifies attributes that are copied (projected) from the /// table into the index. These are in addition to the primary key attributes /// and index key attributes, which are automatically projected. Each attribute @@ -66,7 +61,6 @@ pub struct TableSpec { /// the same attribute into two different indexes, this counts as two distinct /// attributes when determining the total. /// - /// /// * ProvisionedThroughput - The provisioned throughput settings for the /// global secondary index, consisting of read and write capacity units. #[serde(default, skip_serializing_if = "Option::is_none", rename = "globalSecondaryIndexes")] @@ -76,37 +70,29 @@ pub struct TableSpec { /// array. For more information, see Data Model (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html) /// in the Amazon DynamoDB Developer Guide. /// - /// /// Each KeySchemaElement in the array is composed of: /// - /// /// * AttributeName - The name of this key attribute. /// - /// /// * KeyType - The role that the key attribute will assume: HASH - partition /// key RANGE - sort key /// - /// /// The partition key of an item is also known as its hash attribute. The term /// "hash attribute" derives from the DynamoDB usage of an internal hash function /// to evenly distribute data items across partitions, based on their partition /// key values. /// - /// /// The sort key of an item is also known as its range attribute. The term "range /// attribute" derives from the way DynamoDB stores items with the same partition /// key physically close together, in sorted order by the sort key value. /// - /// /// For a simple primary key (partition key), you must provide exactly one element /// with a KeyType of HASH. /// - /// /// For a composite primary key (partition key and sort key), you must provide /// exactly two elements, in this order: The first element must have a KeyType /// of HASH, and the second element must have a KeyType of RANGE. /// - /// /// For more information, see Working with Tables (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key) /// in the Amazon DynamoDB Developer Guide. #[serde(rename = "keySchema")] @@ -116,18 +102,14 @@ pub struct TableSpec { /// GB size limit per partition key value; otherwise, the size of a local secondary /// index is unconstrained. /// - /// /// Each local secondary index in the array includes the following: /// - /// /// * IndexName - The name of the local secondary index. Must be unique only /// for this table. /// - /// /// * KeySchema - Specifies the key schema for the local secondary index. /// The key schema must begin with the same partition key as the table. /// - /// /// * Projection - Specifies attributes that are copied (projected) from the /// table into the index. These are in addition to the primary key attributes /// and index key attributes, which are automatically projected. Each attribute @@ -146,11 +128,9 @@ pub struct TableSpec { /// Represents the provisioned throughput settings for a specified table or index. /// The settings can be modified using the UpdateTable operation. /// - /// /// If you set BillingMode as PROVISIONED, you must specify this property. If /// you set BillingMode as PAY_PER_REQUEST, you cannot specify this property. /// - /// /// For current minimum and maximum provisioned throughput values, see Service, /// Account, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) /// in the Amazon DynamoDB Developer Guide. @@ -161,11 +141,9 @@ pub struct TableSpec { pub sse_specification: Option, /// The settings for DynamoDB Streams on the table. These settings consist of: /// - /// /// * StreamEnabled - Indicates whether DynamoDB Streams is to be enabled /// (true) or disabled (false). /// - /// /// * StreamViewType - When an item in the table is modified, StreamViewType /// determines what information is written to the table's stream. Valid values /// for StreamViewType are: KEYS_ONLY - Only the key attributes of the modified @@ -223,7 +201,6 @@ pub struct TableGlobalSecondaryIndexes { /// Represents the provisioned throughput settings for a specified table or index. /// The settings can be modified using the UpdateTable operation. /// - /// /// For current minimum and maximum provisioned throughput values, see Service, /// Account, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) /// in the Amazon DynamoDB Developer Guide. @@ -234,13 +211,11 @@ pub struct TableGlobalSecondaryIndexes { /// Represents a single element of a key schema. A key schema specifies the attributes /// that make up the primary key of a table, or the key attributes of an index. /// -/// /// A KeySchemaElement represents exactly one attribute of the primary key. For /// example, a simple primary key would be represented by one KeySchemaElement /// (for the partition key). A composite primary key would require one KeySchemaElement /// for the partition key, and another KeySchemaElement for the sort key. /// -/// /// A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute). /// The data type must be one of String, Number, or Binary. The attribute cannot /// be nested within a List or a Map. @@ -266,7 +241,6 @@ pub struct TableGlobalSecondaryIndexesProjection { /// Represents the provisioned throughput settings for a specified table or index. /// The settings can be modified using the UpdateTable operation. /// -/// /// For current minimum and maximum provisioned throughput values, see Service, /// Account, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) /// in the Amazon DynamoDB Developer Guide. @@ -281,13 +255,11 @@ pub struct TableGlobalSecondaryIndexesProvisionedThroughput { /// Represents a single element of a key schema. A key schema specifies the attributes /// that make up the primary key of a table, or the key attributes of an index. /// -/// /// A KeySchemaElement represents exactly one attribute of the primary key. For /// example, a simple primary key would be represented by one KeySchemaElement /// (for the partition key). A composite primary key would require one KeySchemaElement /// for the partition key, and another KeySchemaElement for the sort key. /// -/// /// A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute). /// The data type must be one of String, Number, or Binary. The attribute cannot /// be nested within a List or a Map. @@ -316,13 +288,11 @@ pub struct TableLocalSecondaryIndexes { /// Represents a single element of a key schema. A key schema specifies the attributes /// that make up the primary key of a table, or the key attributes of an index. /// -/// /// A KeySchemaElement represents exactly one attribute of the primary key. For /// example, a simple primary key would be represented by one KeySchemaElement /// (for the partition key). A composite primary key would require one KeySchemaElement /// for the partition key, and another KeySchemaElement for the sort key. /// -/// /// A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute). /// The data type must be one of String, Number, or Binary. The attribute cannot /// be nested within a List or a Map. @@ -348,11 +318,9 @@ pub struct TableLocalSecondaryIndexesProjection { /// Represents the provisioned throughput settings for a specified table or index. /// The settings can be modified using the UpdateTable operation. /// -/// /// If you set BillingMode as PROVISIONED, you must specify this property. If /// you set BillingMode as PAY_PER_REQUEST, you cannot specify this property. /// -/// /// For current minimum and maximum provisioned throughput values, see Service, /// Account, and Table Quotas (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) /// in the Amazon DynamoDB Developer Guide. @@ -377,11 +345,9 @@ pub struct TableSseSpecification { /// The settings for DynamoDB Streams on the table. These settings consist of: /// -/// /// * StreamEnabled - Indicates whether DynamoDB Streams is to be enabled /// (true) or disabled (false). /// -/// /// * StreamViewType - When an item in the table is modified, StreamViewType /// determines what information is written to the table's stream. Valid values /// for StreamViewType are: KEYS_ONLY - Only the key attributes of the modified @@ -401,14 +367,12 @@ pub struct TableStreamSpecification { /// Describes a tag. A tag is a key-value pair. You can add up to 50 tags to /// a single DynamoDB table. /// -/// /// Amazon Web Services-assigned tag names and values are automatically assigned /// the aws: prefix, which the user cannot assign. Amazon Web Services-assigned /// tag names do not count towards the tag limit of 50. User-assigned tag names /// have the prefix user: in the Cost Allocation Report. You cannot backdate /// the application of a tag. /// -/// /// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) /// in the Amazon DynamoDB Developer Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -466,19 +430,15 @@ pub struct TableStatus { pub latest_stream_arn: Option, /// A timestamp, in ISO 8601 format, for this stream. /// - /// /// Note that LatestStreamLabel is not a unique identifier for the stream, because /// it is possible that a stream from another table might have the same timestamp. /// However, the combination of the following three elements is guaranteed to /// be unique: /// - /// /// * Amazon Web Services customer ID /// - /// /// * Table name /// - /// /// * StreamLabel #[serde(default, skip_serializing_if = "Option::is_none", rename = "latestStreamLabel")] pub latest_stream_label: Option, @@ -498,30 +458,23 @@ pub struct TableStatus { pub table_size_bytes: Option, /// The current state of the table: /// - /// /// * CREATING - The table is being created. /// - /// /// * UPDATING - The table/index configuration is being updated. The table/index /// remains available for data operations when UPDATING. /// - /// /// * DELETING - The table is being deleted. /// - /// /// * ACTIVE - The table is ready for use. /// - /// /// * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key used to encrypt the /// table in inaccessible. Table operations may fail due to failure to use /// the KMS key. DynamoDB will initiate the table archival process when a /// table's KMS key remains inaccessible for more than seven days. /// - /// /// * ARCHIVING - The table is being archived. Operations are not allowed /// until archival is complete. /// - /// /// * ARCHIVED - The table has been archived. See the ArchivalReason for more /// information. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tableStatus")] @@ -539,7 +492,6 @@ pub struct TableStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, @@ -593,13 +545,11 @@ pub struct TableStatusGlobalSecondaryIndexesDescriptions { /// Represents a single element of a key schema. A key schema specifies the attributes /// that make up the primary key of a table, or the key attributes of an index. /// -/// /// A KeySchemaElement represents exactly one attribute of the primary key. For /// example, a simple primary key would be represented by one KeySchemaElement /// (for the partition key). A composite primary key would require one KeySchemaElement /// for the partition key, and another KeySchemaElement for the sort key. /// -/// /// A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute). /// The data type must be one of String, Number, or Binary. The attribute cannot /// be nested within a List or a Map. diff --git a/kube-custom-resources-rs/src/ecr_services_k8s_aws/v1alpha1/pullthroughcacherules.rs b/kube-custom-resources-rs/src/ecr_services_k8s_aws/v1alpha1/pullthroughcacherules.rs index 512c056a3..b9ab60b6c 100644 --- a/kube-custom-resources-rs/src/ecr_services_k8s_aws/v1alpha1/pullthroughcacherules.rs +++ b/kube-custom-resources-rs/src/ecr_services_k8s_aws/v1alpha1/pullthroughcacherules.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// PullThroughCacheRuleSpec defines the desired state of PullThroughCacheRule. /// -/// /// The details of a pull through cache rule. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "ecr.services.k8s.aws", version = "v1alpha1", kind = "PullThroughCacheRule", plural = "pullthroughcacherules")] @@ -67,7 +66,6 @@ pub struct PullThroughCacheRuleStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/ecr_services_k8s_aws/v1alpha1/repositories.rs b/kube-custom-resources-rs/src/ecr_services_k8s_aws/v1alpha1/repositories.rs index c78dca8ef..22ad7c749 100644 --- a/kube-custom-resources-rs/src/ecr_services_k8s_aws/v1alpha1/repositories.rs +++ b/kube-custom-resources-rs/src/ecr_services_k8s_aws/v1alpha1/repositories.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// RepositorySpec defines the desired state of Repository. /// -/// /// An object representing a repository. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "ecr.services.k8s.aws", version = "v1alpha1", kind = "Repository", plural = "repositories")] @@ -125,7 +124,6 @@ pub struct RepositoryStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/efs_services_k8s_aws/v1alpha1/accesspoints.rs b/kube-custom-resources-rs/src/efs_services_k8s_aws/v1alpha1/accesspoints.rs index 464cbdc47..938972ba7 100644 --- a/kube-custom-resources-rs/src/efs_services_k8s_aws/v1alpha1/accesspoints.rs +++ b/kube-custom-resources-rs/src/efs_services_k8s_aws/v1alpha1/accesspoints.rs @@ -27,7 +27,6 @@ pub struct AccessPointSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "fileSystemRef")] @@ -44,7 +43,6 @@ pub struct AccessPointSpec { /// an access point. When specifying a RootDirectory, you must provide the Path, /// and the CreationInfo. /// - /// /// Amazon EFS creates a root directory only if you have provided the CreationInfo: /// OwnUid, OwnGID, and permissions for the directory. If you do not provide /// this information, Amazon EFS does not create the root directory. If the root @@ -64,7 +62,6 @@ pub struct AccessPointSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -105,7 +102,6 @@ pub struct AccessPointPosixUser { /// an access point. When specifying a RootDirectory, you must provide the Path, /// and the CreationInfo. /// -/// /// Amazon EFS creates a root directory only if you have provided the CreationInfo: /// OwnUid, OwnGID, and permissions for the directory. If you do not provide /// this information, Amazon EFS does not create the root directory. If the root @@ -118,13 +114,11 @@ pub struct AccessPointRootDirectory { /// with these settings when a client connects to the access point. When specifying /// CreationInfo, you must include values for all properties. /// - /// /// Amazon EFS creates a root directory only if you have provided the CreationInfo: /// OwnUid, OwnGID, and permissions for the directory. If you do not provide /// this information, Amazon EFS does not create the root directory. If the root /// directory does not exist, attempts to mount using the access point will fail. /// - /// /// If you do not provide CreationInfo and the specified RootDirectory does not /// exist, attempts to mount the file system using the access point will fail. #[serde(default, skip_serializing_if = "Option::is_none", rename = "creationInfo")] @@ -139,13 +133,11 @@ pub struct AccessPointRootDirectory { /// with these settings when a client connects to the access point. When specifying /// CreationInfo, you must include values for all properties. /// -/// /// Amazon EFS creates a root directory only if you have provided the CreationInfo: /// OwnUid, OwnGID, and permissions for the directory. If you do not provide /// this information, Amazon EFS does not create the root directory. If the root /// directory does not exist, attempts to mount using the access point will fail. /// -/// /// If you do not provide CreationInfo and the specified RootDirectory does not /// exist, attempts to mount the file system using the access point will fail. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -208,7 +200,6 @@ pub struct AccessPointStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/efs_services_k8s_aws/v1alpha1/filesystems.rs b/kube-custom-resources-rs/src/efs_services_k8s_aws/v1alpha1/filesystems.rs index 1c7d04c75..91baab68e 100644 --- a/kube-custom-resources-rs/src/efs_services_k8s_aws/v1alpha1/filesystems.rs +++ b/kube-custom-resources-rs/src/efs_services_k8s_aws/v1alpha1/filesystems.rs @@ -25,7 +25,6 @@ pub struct FileSystemSpec { /// systems, see Using EFS storage classes (https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html) /// in the Amazon EFS User Guide. /// - /// /// One Zone file systems are not available in all Availability Zones in Amazon /// Web Services Regions where Amazon EFS is available. #[serde(default, skip_serializing_if = "Option::is_none", rename = "availabilityZoneName")] @@ -36,11 +35,9 @@ pub struct FileSystemSpec { /// For more information, see Automatic backups (https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backups) /// in the Amazon EFS User Guide. /// - /// /// Default is false. However, if you specify an AvailabilityZoneName, the default /// is true. /// - /// /// Backup is not available in all Amazon Web Services Regions where Amazon EFS /// is available. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -62,24 +59,18 @@ pub struct FileSystemSpec { /// KMS key. If this parameter is not specified, the default KMS key for Amazon /// EFS is used. You can specify a KMS key ID using the following formats: /// - /// /// * Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab. /// - /// /// * ARN - An Amazon Resource Name (ARN) for the key, for example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. /// - /// /// * Key alias - A previously created display name for a key, for example /// alias/projectKey1. /// - /// /// * Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1. /// - /// /// If you use KmsKeyId, you must set the CreateFileSystemRequest$Encrypted parameter /// to true. /// - /// /// EFS accepts only symmetric KMS keys. You cannot use asymmetric KMS keys with /// Amazon EFS file systems. #[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsKeyID")] @@ -89,7 +80,6 @@ pub struct FileSystemSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsKeyRef")] @@ -98,11 +88,9 @@ pub struct FileSystemSpec { /// object. A LifecycleConfiguration object informs EFS Lifecycle management /// of the following: /// - /// /// * TransitionToIA – When to move files in the file system from primary /// storage (Standard storage class) into the Infrequent Access (IA) storage. /// - /// /// * TransitionToArchive – When to move files in the file system from their /// current storage class (either IA or Standard storage) into the Archive /// storage. File systems cannot transition into Archive storage before transitioning @@ -111,12 +99,10 @@ pub struct FileSystemSpec { /// only for file systems that use the Elastic Throughput mode and the General /// Purpose Performance mode. /// - /// /// * TransitionToPrimaryStorageClass – Whether to move files in the file /// system back to primary storage (Standard storage class) after they are /// accessed in IA or Archive storage. /// - /// /// When using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration /// API action, Amazon EFS requires that each LifecyclePolicy object have only /// a single transition. This means that in a request body, LifecyclePolicies @@ -132,11 +118,9 @@ pub struct FileSystemSpec { /// performance mode can't be changed after the file system has been created. /// The maxIO mode is not supported on One Zone file systems. /// - /// /// Due to the higher per-operation latencies with Max I/O, we recommend using /// General Purpose performance mode for all file systems. /// - /// /// Default is generalPurpose. #[serde(default, skip_serializing_if = "Option::is_none", rename = "performanceMode")] pub performance_mode: Option, @@ -170,7 +154,6 @@ pub struct FileSystemSpec { /// see Specifying throughput with provisioned mode (https://docs.aws.amazon.com/efs/latest/ug/performance.html#provisioned-throughput) /// in the Amazon EFS User Guide. /// - /// /// Default is bursting. #[serde(default, skip_serializing_if = "Option::is_none", rename = "throughputMode")] pub throughput_mode: Option, @@ -194,7 +177,6 @@ pub struct FileSystemFileSystemProtection { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -219,7 +201,6 @@ pub struct FileSystemKmsKeyRefFrom { /// files into and out of storage classes. For more information, see Managing /// file system storage (https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html). /// -/// /// When using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration /// API action, Amazon EFS requires that each LifecyclePolicy object have only /// a single transition. This means that in a request body, LifecyclePolicies @@ -312,7 +293,6 @@ pub struct FileSystemStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/efs_services_k8s_aws/v1alpha1/mounttargets.rs b/kube-custom-resources-rs/src/efs_services_k8s_aws/v1alpha1/mounttargets.rs index 500273801..eae41d526 100644 --- a/kube-custom-resources-rs/src/efs_services_k8s_aws/v1alpha1/mounttargets.rs +++ b/kube-custom-resources-rs/src/efs_services_k8s_aws/v1alpha1/mounttargets.rs @@ -27,7 +27,6 @@ pub struct MountTargetSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "fileSystemRef")] @@ -50,7 +49,6 @@ pub struct MountTargetSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "subnetRef")] @@ -62,7 +60,6 @@ pub struct MountTargetSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -88,7 +85,6 @@ pub struct MountTargetFileSystemRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -114,7 +110,6 @@ pub struct MountTargetSecurityGroupRefsFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -190,7 +185,6 @@ pub struct MountTargetStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/emrcontainers_services_k8s_aws/v1alpha1/jobruns.rs b/kube-custom-resources-rs/src/emrcontainers_services_k8s_aws/v1alpha1/jobruns.rs index 1e92e7315..f41cdce36 100644 --- a/kube-custom-resources-rs/src/emrcontainers_services_k8s_aws/v1alpha1/jobruns.rs +++ b/kube-custom-resources-rs/src/emrcontainers_services_k8s_aws/v1alpha1/jobruns.rs @@ -13,7 +13,6 @@ use self::prelude::*; /// JobRunSpec defines the desired state of JobRun. /// -/// /// This entity describes a job run. A job run is a unit of work, such as a Spark /// jar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on /// EKS. @@ -50,7 +49,6 @@ pub struct JobRunSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "virtualClusterRef")] @@ -81,7 +79,6 @@ pub struct JobRunJobDriverSparkSubmitJobDriver { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -135,7 +132,6 @@ pub struct JobRunStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/emrcontainers_services_k8s_aws/v1alpha1/virtualclusters.rs b/kube-custom-resources-rs/src/emrcontainers_services_k8s_aws/v1alpha1/virtualclusters.rs index 6a9530cbc..b3dae8a70 100644 --- a/kube-custom-resources-rs/src/emrcontainers_services_k8s_aws/v1alpha1/virtualclusters.rs +++ b/kube-custom-resources-rs/src/emrcontainers_services_k8s_aws/v1alpha1/virtualclusters.rs @@ -13,7 +13,6 @@ use self::prelude::*; /// VirtualClusterSpec defines the desired state of VirtualCluster. /// -/// /// This entity describes a virtual cluster. A virtual cluster is a Kubernetes /// namespace that Amazon EMR is registered with. Amazon EMR uses virtual clusters /// to run jobs and host endpoints. Multiple virtual clusters can be backed by @@ -96,7 +95,6 @@ pub struct VirtualClusterStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/external_secrets_io/v1beta1/clustersecretstores.rs b/kube-custom-resources-rs/src/external_secrets_io/v1beta1/clustersecretstores.rs index ceec93f6d..556e033ed 100644 --- a/kube-custom-resources-rs/src/external_secrets_io/v1beta1/clustersecretstores.rs +++ b/kube-custom-resources-rs/src/external_secrets_io/v1beta1/clustersecretstores.rs @@ -1700,6 +1700,8 @@ pub struct ClusterSecretStoreProviderInfisicalSecretsScope { pub environment_slug: String, #[serde(rename = "projectSlug")] pub project_slug: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub recursive: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretsPath")] pub secrets_path: Option, } diff --git a/kube-custom-resources-rs/src/external_secrets_io/v1beta1/secretstores.rs b/kube-custom-resources-rs/src/external_secrets_io/v1beta1/secretstores.rs index efed30d68..4474db88a 100644 --- a/kube-custom-resources-rs/src/external_secrets_io/v1beta1/secretstores.rs +++ b/kube-custom-resources-rs/src/external_secrets_io/v1beta1/secretstores.rs @@ -1701,6 +1701,8 @@ pub struct SecretStoreProviderInfisicalSecretsScope { pub environment_slug: String, #[serde(rename = "projectSlug")] pub project_slug: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub recursive: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretsPath")] pub secrets_path: Option, } diff --git a/kube-custom-resources-rs/src/flows_netobserv_io/v1beta2/flowcollectors.rs b/kube-custom-resources-rs/src/flows_netobserv_io/v1beta2/flowcollectors.rs index 2a4d76884..ad6f8d5a9 100644 --- a/kube-custom-resources-rs/src/flows_netobserv_io/v1beta2/flowcollectors.rs +++ b/kube-custom-resources-rs/src/flows_netobserv_io/v1beta2/flowcollectors.rs @@ -108,8 +108,10 @@ pub struct FlowCollectorAgentEbpf { /// If the `spec.agent.ebpf.privileged` parameter is not set, an error is reported.
/// - `DNSTracking`: enable the DNS tracking feature.
/// - `FlowRTT`: enable flow latency (sRTT) extraction in the eBPF agent from TCP traffic.
- /// - `NetworkEvents`: enable the Network events monitoring feature. This feature requires mounting + /// - `NetworkEvents`: enable the Network events monitoring feature. This feature requires mounting /// the kernel debug filesystem, so the eBPF pod has to run as privileged. + /// It requires using the OVN-Kubernetes network plugin with the Observability feature. + /// IMPORTANT: this feature is available as a Developer Preview.
#[serde(default, skip_serializing_if = "Option::is_none")] pub features: Option>, /// `flowFilter` defines the eBPF agent configuration regarding flow filtering. @@ -1225,7 +1227,7 @@ pub struct FlowCollectorAgentIpfix { /// When it is set to `true`, the value of `sampling` is ignored. #[serde(default, skip_serializing_if = "Option::is_none", rename = "forceSampleAll")] pub force_sample_all: Option, - /// `ovnKubernetes` defines the settings of the OVN-Kubernetes CNI, when available. This configuration is used when using OVN's IPFIX exports, without OpenShift. When using OpenShift, refer to the `clusterNetworkOperator` property instead. + /// `ovnKubernetes` defines the settings of the OVN-Kubernetes network plugin, when available. This configuration is used when using OVN's IPFIX exports, without OpenShift. When using OpenShift, refer to the `clusterNetworkOperator` property instead. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ovnKubernetes")] pub ovn_kubernetes: Option, /// `sampling` is the sampling rate on the reporter. 100 means one flow on 100 is sent. @@ -1244,7 +1246,7 @@ pub struct FlowCollectorAgentIpfixClusterNetworkOperator { pub namespace: Option, } -/// `ovnKubernetes` defines the settings of the OVN-Kubernetes CNI, when available. This configuration is used when using OVN's IPFIX exports, without OpenShift. When using OpenShift, refer to the `clusterNetworkOperator` property instead. +/// `ovnKubernetes` defines the settings of the OVN-Kubernetes network plugin, when available. This configuration is used when using OVN's IPFIX exports, without OpenShift. When using OpenShift, refer to the `clusterNetworkOperator` property instead. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FlowCollectorAgentIpfixOvnKubernetes { /// `containerName` defines the name of the container to configure for IPFIX. diff --git a/kube-custom-resources-rs/src/grafana_integreatly_org/v1beta1/grafanafolders.rs b/kube-custom-resources-rs/src/grafana_integreatly_org/v1beta1/grafanafolders.rs index ec7332a17..c58bd2acc 100644 --- a/kube-custom-resources-rs/src/grafana_integreatly_org/v1beta1/grafanafolders.rs +++ b/kube-custom-resources-rs/src/grafana_integreatly_org/v1beta1/grafanafolders.rs @@ -20,10 +20,10 @@ use self::prelude::*; #[kube(derive="Default")] #[kube(derive="PartialEq")] pub struct GrafanaFolderSpec { - /// allow to import this resources from an operator in a different namespace + /// Enable matching Grafana instances outside the current namespace #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowCrossNamespaceImport")] pub allow_cross_namespace_import: Option, - /// selects Grafanas for import + /// Selects Grafanas for import #[serde(rename = "instanceSelector")] pub instance_selector: GrafanaFolderInstanceSelector, /// Reference to an existing GrafanaFolder CR in the same namespace @@ -32,17 +32,21 @@ pub struct GrafanaFolderSpec { /// UID of the folder in which the current folder should be created #[serde(default, skip_serializing_if = "Option::is_none", rename = "parentFolderUID")] pub parent_folder_uid: Option, - /// raw json with folder permissions + /// Raw json with folder permissions, potentially exported from Grafana #[serde(default, skip_serializing_if = "Option::is_none")] pub permissions: Option, - /// how often the folder is synced, defaults to 5m if not set + /// How often the folder is synced, defaults to 5m if not set #[serde(default, skip_serializing_if = "Option::is_none", rename = "resyncPeriod")] pub resync_period: Option, + /// Display name of the folder in Grafana #[serde(default, skip_serializing_if = "Option::is_none")] pub title: Option, + /// Manually specify the UID the Folder is created with + #[serde(default, skip_serializing_if = "Option::is_none")] + pub uid: Option, } -/// selects Grafanas for import +/// Selects Grafanas for import #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct GrafanaFolderInstanceSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. diff --git a/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/groups.rs b/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/groups.rs index 865b8d5ef..616657d60 100644 --- a/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/groups.rs +++ b/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/groups.rs @@ -13,19 +13,14 @@ use self::prelude::*; /// GroupSpec defines the desired state of Group. /// -/// /// Contains information about an IAM group entity. /// -/// /// This data type is used as a response element in the following operations: /// -/// /// * CreateGroup /// -/// /// * GetGroup /// -/// /// * ListGroups #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "iam.services.k8s.aws", version = "v1alpha1", kind = "Group", plural = "groups")] @@ -39,7 +34,6 @@ pub struct GroupSpec { pub inline_policies: Option>, /// The name of the group to create. Do not include the path in this value. /// - /// /// IAM user, group, role, and policy names must be unique within the account. /// Names are not distinguished by case. For example, you cannot create resources /// named both "MyResource" and "myresource". @@ -48,11 +42,9 @@ pub struct GroupSpec { /// (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) /// in the IAM User Guide. /// - /// /// This parameter is optional. If it is not included, it defaults to a slash /// (/). /// - /// /// This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex)) /// a string of characters consisting of either a forward slash (/) by itself /// or a string that must begin and end with forward slashes. In addition, it @@ -72,7 +64,6 @@ pub struct GroupSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -129,7 +120,6 @@ pub struct GroupStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/instanceprofiles.rs b/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/instanceprofiles.rs index bf014ceca..00ab309db 100644 --- a/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/instanceprofiles.rs +++ b/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/instanceprofiles.rs @@ -12,22 +12,16 @@ use self::prelude::*; /// InstanceProfileSpec defines the desired state of InstanceProfile. /// -/// /// Contains information about an instance profile. /// -/// /// This data type is used as a response element in the following operations: /// -/// /// * CreateInstanceProfile /// -/// /// * GetInstanceProfile /// -/// /// * ListInstanceProfiles /// -/// /// * ListInstanceProfilesForRole #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "iam.services.k8s.aws", version = "v1alpha1", kind = "InstanceProfile", plural = "instanceprofiles")] @@ -39,7 +33,6 @@ use self::prelude::*; pub struct InstanceProfileSpec { /// The name of the instance profile to create. /// - /// /// This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex)) /// a string of characters consisting of upper and lowercase alphanumeric characters /// with no spaces. You can also include any of the following characters: _+=,.@- @@ -48,11 +41,9 @@ pub struct InstanceProfileSpec { /// Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) /// in the IAM User Guide. /// - /// /// This parameter is optional. If it is not included, it defaults to a slash /// (/). /// - /// /// This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex)) /// a string of characters consisting of either a forward slash (/) by itself /// or a string that must begin and end with forward slashes. In addition, it @@ -68,7 +59,6 @@ pub struct InstanceProfileSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "roleRef")] @@ -78,7 +68,6 @@ pub struct InstanceProfileSpec { /// information about tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) /// in the IAM User Guide. /// - /// /// If any one of the tags is invalid or if you exceed the allowed maximum number /// of tags, then the entire request fails and the resource is not created. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -90,7 +79,6 @@ pub struct InstanceProfileSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -158,7 +146,6 @@ pub struct InstanceProfileStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/openidconnectproviders.rs b/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/openidconnectproviders.rs index 43883fc5c..ccb49ba49 100644 --- a/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/openidconnectproviders.rs +++ b/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/openidconnectproviders.rs @@ -24,12 +24,10 @@ pub struct OpenIDConnectProviderSpec { /// that identifies the application. This is the value that's sent as the client_id /// parameter on OAuth requests. /// - /// /// You can register multiple client IDs with the same provider. For example, /// you might have multiple applications that use the same OIDC provider. You /// cannot register more than 100 client IDs with a single IAM OIDC provider. /// - /// /// There is no defined format for a client ID. The CreateOpenIDConnectProviderRequest /// operation accepts client IDs up to 255 characters long. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clientIDs")] @@ -39,7 +37,6 @@ pub struct OpenIDConnectProviderSpec { /// information about tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) /// in the IAM User Guide. /// - /// /// If any one of the tags is invalid or if you exceed the allowed maximum number /// of tags, then the entire request fails and the resource is not created. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -50,19 +47,16 @@ pub struct OpenIDConnectProviderSpec { /// lets you maintain multiple thumbprints if the identity provider is rotating /// certificates. /// - /// /// The server certificate thumbprint is the hex-encoded SHA-1 hash value of /// the X.509 certificate used by the domain where the OpenID Connect provider /// makes its keys available. It is always a 40-character string. /// - /// /// You must provide at least one thumbprint when creating an IAM OIDC provider. /// For example, assume that the OIDC provider is server.example.com and the /// provider stores its keys at https://keys.server.example.com/openid-connect. /// In that case, the thumbprint string would be the hex-encoded SHA-1 hash value /// of the certificate used by https://keys.server.example.com. /// - /// /// For more information about obtaining the OIDC provider thumbprint, see Obtaining /// the thumbprint for an OpenID Connect provider (https://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers-oidc-obtain-thumbprint.html) /// in the IAM user Guide. @@ -73,7 +67,6 @@ pub struct OpenIDConnectProviderSpec { /// Typically the URL consists of only a hostname, like https://server.example.org /// or https://example.com. The URL should not contain a port number. /// - /// /// You cannot register the same provider multiple times in a single Amazon Web /// Services account. If you try to submit a URL that has already been used for /// an OpenID Connect provider in the Amazon Web Services account, you will get @@ -120,7 +113,6 @@ pub struct OpenIDConnectProviderStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/policies.rs b/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/policies.rs index a6f1f4e20..03cb50bec 100644 --- a/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/policies.rs +++ b/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/policies.rs @@ -12,14 +12,11 @@ use self::prelude::*; /// PolicySpec defines the desired state of Policy. /// -/// /// Contains information about a managed policy. /// -/// /// This data type is used as a response element in the CreatePolicy, GetPolicy, /// and ListPolicies operations. /// -/// /// For more information about managed policies, refer to Managed policies and /// inline policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) /// in the IAM User Guide. @@ -33,33 +30,27 @@ use self::prelude::*; pub struct PolicySpec { /// A friendly description of the policy. /// - /// /// Typically used to store information about the permissions defined in the /// policy. For example, "Grants access to production DynamoDB tables." /// - /// /// The policy description is immutable. After a value is assigned, it cannot /// be changed. #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, /// The friendly name of the policy. /// - /// /// IAM user, group, role, and policy names must be unique within the account. /// Names are not distinguished by case. For example, you cannot create resources /// named both "MyResource" and "myresource". pub name: String, /// The path for the policy. /// - /// /// For more information about paths, see IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) /// in the IAM User Guide. /// - /// /// This parameter is optional. If it is not included, it defaults to a slash /// (/). /// - /// /// This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex)) /// a string of characters consisting of either a forward slash (/) by itself /// or a string that must begin and end with forward slashes. In addition, it @@ -67,43 +58,35 @@ pub struct PolicySpec { /// (\u007F), including most punctuation characters, digits, and upper and lowercased /// letters. /// - /// /// You cannot use an asterisk (*) in the path name. #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, /// The JSON policy document that you want to use as the content for the new /// policy. /// - /// /// You must provide policies in JSON format in IAM. However, for CloudFormation /// templates formatted in YAML, you can provide the policy in JSON or YAML format. /// CloudFormation always converts a YAML policy to JSON format before submitting /// it to IAM. /// - /// /// The maximum length of the policy document that you can pass in this operation, /// including whitespace, is listed below. To view the maximum character counts /// of a managed policy with no whitespaces, see IAM and STS character quotas /// (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entity-length). /// - /// /// To learn more about JSON policy grammar, see Grammar of the IAM JSON policy /// language (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html) /// in the IAM User Guide. /// - /// /// The regex pattern (http://wikipedia.org/wiki/regex) used to validate this /// parameter is a string of characters consisting of the following: /// - /// /// * Any printable ASCII character ranging from the space character (\u0020) /// through the end of the ASCII character range /// - /// /// * The printable characters in the Basic Latin and Latin-1 Supplement character /// set (through \u00FF) /// - /// /// * The special characters tab (\u0009), line feed (\u000A), and carriage /// return (\u000D) #[serde(rename = "policyDocument")] @@ -113,7 +96,6 @@ pub struct PolicySpec { /// about tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) /// in the IAM User Guide. /// - /// /// If any one of the tags is invalid or if you exceed the allowed maximum number /// of tags, then the entire request fails and the resource is not created. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -163,7 +145,6 @@ pub struct PolicyStatus { /// The number of entities (users and roles) for which the policy is used to /// set the permissions boundary. /// - /// /// For more information about permissions boundaries, see Permissions boundaries /// for IAM identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) /// in the IAM User Guide. @@ -171,7 +152,6 @@ pub struct PolicyStatus { pub permissions_boundary_usage_count: Option, /// The stable and unique string identifying the policy. /// - /// /// For more information about IDs, see IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) /// in the IAM User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "policyID")] @@ -179,7 +159,6 @@ pub struct PolicyStatus { /// The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), /// when the policy was last updated. /// - /// /// When a policy has only one version, this field contains the date and time /// when the policy was created. When a policy has more than one version, this /// field contains the date and time when the most recent policy version was @@ -199,7 +178,6 @@ pub struct PolicyStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/roles.rs b/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/roles.rs index c877fdf17..d8608aa6f 100644 --- a/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/roles.rs +++ b/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/roles.rs @@ -13,7 +13,6 @@ use self::prelude::*; /// RoleSpec defines the desired state of Role. /// -/// /// Contains information about an IAM role. This structure is returned as a response /// element in several API operations that interact with roles. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -27,29 +26,23 @@ pub struct RoleSpec { /// The trust relationship policy document that grants an entity permission to /// assume the role. /// - /// /// In IAM, you must provide a JSON policy that has been converted to a string. /// However, for CloudFormation templates formatted in YAML, you can provide /// the policy in JSON or YAML format. CloudFormation always converts a YAML /// policy to JSON format before submitting it to IAM. /// - /// /// The regex pattern (http://wikipedia.org/wiki/regex) used to validate this /// parameter is a string of characters consisting of the following: /// - /// /// * Any printable ASCII character ranging from the space character (\u0020) /// through the end of the ASCII character range /// - /// /// * The printable characters in the Basic Latin and Latin-1 Supplement character /// set (through \u00FF) /// - /// /// * The special characters tab (\u0009), line feed (\u000A), and carriage /// return (\u000D) /// - /// /// Upon success, the response includes the same trust policy in JSON format. #[serde(rename = "assumeRolePolicyDocument")] pub assume_role_policy_document: String, @@ -62,7 +55,6 @@ pub struct RoleSpec { /// role. If you do not specify a value for this setting, the default value of /// one hour is applied. This setting can have a value from 1 hour to 12 hours. /// - /// /// Anyone who assumes the role from the CLI or API can use the DurationSeconds /// API parameter or the duration-seconds CLI parameter to request a longer session. /// The MaxSessionDuration setting determines the maximum duration that can be @@ -77,12 +69,10 @@ pub struct RoleSpec { pub max_session_duration: Option, /// The name of the role to create. /// - /// /// IAM user, group, role, and policy names must be unique within the account. /// Names are not distinguished by case. For example, you cannot create resources /// named both "MyResource" and "myresource". /// - /// /// This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex)) /// a string of characters consisting of upper and lowercase alphanumeric characters /// with no spaces. You can also include any of the following characters: _+=,.@- @@ -91,11 +81,9 @@ pub struct RoleSpec { /// (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) /// in the IAM User Guide. /// - /// /// This parameter is optional. If it is not included, it defaults to a slash /// (/). /// - /// /// This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex)) /// a string of characters consisting of either a forward slash (/) by itself /// or a string that must begin and end with forward slashes. In addition, it @@ -107,7 +95,6 @@ pub struct RoleSpec { /// The ARN of the managed policy that is used to set the permissions boundary /// for the role. /// - /// /// A permissions boundary policy defines the maximum permissions that identity-based /// policies can grant to an entity, but does not grant permissions. Permissions /// boundaries do not define the maximum permissions that a resource-based policy @@ -115,7 +102,6 @@ pub struct RoleSpec { /// entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) /// in the IAM User Guide. /// - /// /// For more information about policy types, see Policy types (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policy-types) /// in the IAM User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "permissionsBoundary")] @@ -125,7 +111,6 @@ pub struct RoleSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "permissionsBoundaryRef")] @@ -139,7 +124,6 @@ pub struct RoleSpec { /// see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) /// in the IAM User Guide. /// - /// /// If any one of the tags is invalid or if you exceed the allowed maximum number /// of tags, then the entire request fails and the resource is not created. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -151,7 +135,6 @@ pub struct RoleSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -177,7 +160,6 @@ pub struct RolePermissionsBoundaryRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -255,7 +237,6 @@ pub struct RoleStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/users.rs b/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/users.rs index 2f7fa3e55..a129591ee 100644 --- a/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/users.rs +++ b/kube-custom-resources-rs/src/iam_services_k8s_aws/v1alpha1/users.rs @@ -13,19 +13,14 @@ use self::prelude::*; /// UserSpec defines the desired state of User. /// -/// /// Contains information about an IAM user entity. /// -/// /// This data type is used as a response element in the following operations: /// -/// /// * CreateUser /// -/// /// * GetUser /// -/// /// * ListUsers #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "iam.services.k8s.aws", version = "v1alpha1", kind = "User", plural = "users")] @@ -39,7 +34,6 @@ pub struct UserSpec { pub inline_policies: Option>, /// The name of the user to create. /// - /// /// IAM user, group, role, and policy names must be unique within the account. /// Names are not distinguished by case. For example, you cannot create resources /// named both "MyResource" and "myresource". @@ -48,11 +42,9 @@ pub struct UserSpec { /// (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) /// in the IAM User Guide. /// - /// /// This parameter is optional. If it is not included, it defaults to a slash /// (/). /// - /// /// This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex)) /// a string of characters consisting of either a forward slash (/) by itself /// or a string that must begin and end with forward slashes. In addition, it @@ -64,7 +56,6 @@ pub struct UserSpec { /// The ARN of the managed policy that is used to set the permissions boundary /// for the user. /// - /// /// A permissions boundary policy defines the maximum permissions that identity-based /// policies can grant to an entity, but does not grant permissions. Permissions /// boundaries do not define the maximum permissions that a resource-based policy @@ -72,7 +63,6 @@ pub struct UserSpec { /// entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) /// in the IAM User Guide. /// - /// /// For more information about policy types, see Policy types (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policy-types) /// in the IAM User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "permissionsBoundary")] @@ -82,7 +72,6 @@ pub struct UserSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "permissionsBoundaryRef")] @@ -96,7 +85,6 @@ pub struct UserSpec { /// see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) /// in the IAM User Guide. /// - /// /// If any one of the tags is invalid or if you exceed the allowed maximum number /// of tags, then the entire request fails and the resource is not created. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -108,7 +96,6 @@ pub struct UserSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -134,7 +121,6 @@ pub struct UserPermissionsBoundaryRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -194,19 +180,15 @@ pub struct UserStatus { /// (no value), then it indicates that they never signed in with a password. /// This can be because: /// - /// /// * The user never had a password. /// - /// /// * A password exists but has not been used since IAM started tracking this /// information on October 20, 2014. /// - /// /// A null value does not mean that the user never had a password. Also, if the /// user does not currently have a password but had one in the past, then this /// field contains the date and time the most recent password was used. /// - /// /// This value is returned only in the GetUser and ListUsers operations. #[serde(default, skip_serializing_if = "Option::is_none", rename = "passwordLastUsed")] pub password_last_used: Option, @@ -228,7 +210,6 @@ pub struct UserStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/infra_contrib_fluxcd_io/v1alpha2/terraforms.rs b/kube-custom-resources-rs/src/infra_contrib_fluxcd_io/v1alpha2/terraforms.rs index 8b363e1ac..010103267 100644 --- a/kube-custom-resources-rs/src/infra_contrib_fluxcd_io/v1alpha2/terraforms.rs +++ b/kube-custom-resources-rs/src/infra_contrib_fluxcd_io/v1alpha2/terraforms.rs @@ -76,6 +76,11 @@ pub struct TerraformSpec { pub health_checks: Option>, /// The interval at which to reconcile the Terraform. pub interval: String, + /// The maximum requeue duration after a previously failed reconciliation. + /// Only applicable when RetryStrategy is set to ExponentialBackoff. + /// The default value is 24 hours when not specified. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxRetryInterval")] + pub max_retry_interval: Option, /// Parallelism limits the number of concurrent operations of Terraform apply step. Zero (0) means using the default value. #[serde(default, skip_serializing_if = "Option::is_none")] pub parallelism: Option, @@ -100,6 +105,12 @@ pub struct TerraformSpec { /// The default value is 15 when not specified. #[serde(default, skip_serializing_if = "Option::is_none", rename = "retryInterval")] pub retry_interval: Option, + /// The strategy to use when retrying a previously failed reconciliation. + /// The default strategy is StaticInterval and the retry interval is based on the RetryInterval value. + /// The ExponentialBackoff strategy uses the formula: 2^reconciliationFailures * RetryInterval with a + /// maximum requeue duration of MaxRetryInterval. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "retryStrategy")] + pub retry_strategy: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "runnerPodTemplate")] pub runner_pod_template: Option, /// Configure the termination grace period for the runner pod. Use this parameter @@ -329,6 +340,13 @@ pub struct TerraformRemediation { pub retries: Option, } +/// TerraformSpec defines the desired state of Terraform +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum TerraformRetryStrategy { + StaticInterval, + ExponentialBackoff, +} + #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TerraformRunnerPodTemplate { #[serde(default, skip_serializing_if = "Option::is_none")] diff --git a/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/backups.rs b/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/backups.rs index 97e9e99a9..aeb776ba0 100644 --- a/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/backups.rs +++ b/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/backups.rs @@ -107,11 +107,101 @@ pub struct BackupAffinity { /// Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "antiAffinityEnabled")] pub anti_affinity_enabled: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] + pub node_affinity: Option, /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct BackupAffinityNodeAffinity { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] + pub preferred_during_scheduling_ignored_during_execution: Option>, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] + pub required_during_scheduling_ignored_during_execution: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct BackupAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core + pub preference: BackupAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, + pub weight: i32, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct BackupAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct BackupAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct BackupAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct BackupAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { + #[serde(rename = "nodeSelectorTerms")] + pub node_selector_terms: Vec, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct BackupAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct BackupAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct BackupAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BackupAffinityPodAntiAffinity { @@ -133,43 +223,28 @@ pub struct BackupAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringEx /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BackupAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BackupAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BackupAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -177,43 +252,28 @@ pub struct BackupAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringEx /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BackupAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BackupAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BackupAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -567,122 +627,94 @@ pub struct BackupStorageS3TlsCaSecretKeyRef { /// Volume is a Kubernetes volume specification. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BackupStorageVolume { - /// Represents a source location of a volume to mount, managed by an external CSI driver + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapvolumesource-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")] + pub config_map: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none")] pub csi: Option, - /// Represents an empty directory for a pod. - /// Empty directory volumes support ownership management and SELinux relabeling. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")] pub empty_dir: Option, - /// Represents an NFS mount that lasts the lifetime of a pod. - /// NFS volumes do not support ownership management or SELinux relabeling. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none")] pub nfs: Option, - /// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. - /// This volume finds the bound PV and mounts that volume for the pod. A - /// PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another - /// type of volume that is owned by someone else (the system). + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentVolumeClaim")] pub persistent_volume_claim: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretvolumesource-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub secret: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapvolumesource-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct BackupStorageVolumeConfigMap { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] + pub default_mode: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, } -/// Represents a source location of a volume to mount, managed by an external CSI driver +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BackupStorageVolumeCsi { - /// driver is the name of the CSI driver that handles this volume. - /// Consult with your admin for the correct name as registered in the cluster. pub driver: String, - /// fsType to mount. Ex. "ext4", "xfs", "ntfs". - /// If not provided, the empty value is passed to the associated CSI driver - /// which will determine the default filesystem to apply. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, - /// nodePublishSecretRef is a reference to the secret object containing - /// sensitive information to pass to the CSI driver to complete the CSI - /// NodePublishVolume and NodeUnpublishVolume calls. - /// This field is optional, and may be empty if no secret is required. If the - /// secret object contains more than one secret, all secret references are passed. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePublishSecretRef")] pub node_publish_secret_ref: Option, - /// readOnly specifies a read-only configuration for the volume. - /// Defaults to false (read/write). #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// volumeAttributes stores driver-specific properties that are passed to the CSI - /// driver. Consult your driver's documentation for supported values. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributes")] pub volume_attributes: Option>, } -/// nodePublishSecretRef is a reference to the secret object containing -/// sensitive information to pass to the CSI driver to complete the CSI -/// NodePublishVolume and NodeUnpublishVolume calls. -/// This field is optional, and may be empty if no secret is required. If the -/// secret object contains more than one secret, all secret references are passed. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BackupStorageVolumeCsiNodePublishSecretRef { - /// Name of the referent. - /// This field is effectively required, but due to backwards compatibility is - /// allowed to be empty. Instances of this type with an empty value here are - /// almost certainly wrong. - /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// Represents an empty directory for a pod. -/// Empty directory volumes support ownership management and SELinux relabeling. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BackupStorageVolumeEmptyDir { - /// medium represents what type of storage medium should back this directory. - /// The default is "" which means to use the node's default medium. - /// Must be an empty string (default) or Memory. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + /// StorageMedium defines ways that storage can be allocated to a volume. #[serde(default, skip_serializing_if = "Option::is_none")] pub medium: Option, - /// sizeLimit is the total amount of local storage required for this EmptyDir volume. - /// The size limit is also applicable for memory medium. - /// The maximum usage on memory medium EmptyDir would be the minimum value between - /// the SizeLimit specified here and the sum of memory limits of all containers in a pod. - /// The default is nil which means that the limit is undefined. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir #[serde(default, skip_serializing_if = "Option::is_none", rename = "sizeLimit")] pub size_limit: Option, } -/// Represents an NFS mount that lasts the lifetime of a pod. -/// NFS volumes do not support ownership management or SELinux relabeling. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BackupStorageVolumeNfs { - /// path that is exported by the NFS server. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs pub path: String, - /// readOnly here will force the NFS export to be mounted with read-only permissions. - /// Defaults to false. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// server is the hostname or IP address of the NFS server. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs pub server: String, } -/// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. -/// This volume finds the bound PV and mounts that volume for the pod. A -/// PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another -/// type of volume that is owned by someone else (the system). +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BackupStorageVolumePersistentVolumeClaim { - /// claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. - /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[serde(rename = "claimName")] pub claim_name: String, - /// readOnly Will force the ReadOnly setting in VolumeMounts. - /// Default false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretvolumesource-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct BackupStorageVolumeSecret { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] + pub default_mode: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] + pub secret_name: Option, +} + /// The pod this Toleration is attached to tolerates any taint that matches /// the triple using the matching operator . #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] diff --git a/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/mariadbs.rs b/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/mariadbs.rs index 2109ba5cb..3732f5b82 100644 --- a/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/mariadbs.rs +++ b/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/mariadbs.rs @@ -211,11 +211,101 @@ pub struct MariaDBAffinity { /// Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "antiAffinityEnabled")] pub anti_affinity_enabled: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] + pub node_affinity: Option, /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBAffinityNodeAffinity { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] + pub preferred_during_scheduling_ignored_during_execution: Option>, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] + pub required_during_scheduling_ignored_during_execution: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core + pub preference: MariaDBAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, + pub weight: i32, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { + #[serde(rename = "nodeSelectorTerms")] + pub node_selector_terms: Vec, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBAffinityPodAntiAffinity { @@ -237,43 +327,28 @@ pub struct MariaDBAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringE /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -281,43 +356,28 @@ pub struct MariaDBAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringE /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -374,11 +434,101 @@ pub struct MariaDBBootstrapFromRestoreJobAffinity { /// Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "antiAffinityEnabled")] pub anti_affinity_enabled: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] + pub node_affinity: Option, /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBBootstrapFromRestoreJobAffinityNodeAffinity { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] + pub preferred_during_scheduling_ignored_during_execution: Option>, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] + pub required_during_scheduling_ignored_during_execution: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBBootstrapFromRestoreJobAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core + pub preference: MariaDBBootstrapFromRestoreJobAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, + pub weight: i32, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBBootstrapFromRestoreJobAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBBootstrapFromRestoreJobAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBBootstrapFromRestoreJobAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBBootstrapFromRestoreJobAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { + #[serde(rename = "nodeSelectorTerms")] + pub node_selector_terms: Vec, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBBootstrapFromRestoreJobAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBBootstrapFromRestoreJobAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBBootstrapFromRestoreJobAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBBootstrapFromRestoreJobAffinityPodAntiAffinity { @@ -400,43 +550,28 @@ pub struct MariaDBBootstrapFromRestoreJobAffinityPodAntiAffinityPreferredDuringS /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBBootstrapFromRestoreJobAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBBootstrapFromRestoreJobAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBBootstrapFromRestoreJobAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -444,43 +579,28 @@ pub struct MariaDBBootstrapFromRestoreJobAffinityPodAntiAffinityPreferredDuringS /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBBootstrapFromRestoreJobAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBBootstrapFromRestoreJobAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBBootstrapFromRestoreJobAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -582,122 +702,94 @@ pub struct MariaDBBootstrapFromS3TlsCaSecretKeyRef { /// Volume is a Kubernetes Volume object that contains a backup. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBBootstrapFromVolume { - /// Represents a source location of a volume to mount, managed by an external CSI driver + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapvolumesource-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")] + pub config_map: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none")] pub csi: Option, - /// Represents an empty directory for a pod. - /// Empty directory volumes support ownership management and SELinux relabeling. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")] pub empty_dir: Option, - /// Represents an NFS mount that lasts the lifetime of a pod. - /// NFS volumes do not support ownership management or SELinux relabeling. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none")] pub nfs: Option, - /// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. - /// This volume finds the bound PV and mounts that volume for the pod. A - /// PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another - /// type of volume that is owned by someone else (the system). + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentVolumeClaim")] pub persistent_volume_claim: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretvolumesource-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub secret: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapvolumesource-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBBootstrapFromVolumeConfigMap { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] + pub default_mode: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, } -/// Represents a source location of a volume to mount, managed by an external CSI driver +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBBootstrapFromVolumeCsi { - /// driver is the name of the CSI driver that handles this volume. - /// Consult with your admin for the correct name as registered in the cluster. pub driver: String, - /// fsType to mount. Ex. "ext4", "xfs", "ntfs". - /// If not provided, the empty value is passed to the associated CSI driver - /// which will determine the default filesystem to apply. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, - /// nodePublishSecretRef is a reference to the secret object containing - /// sensitive information to pass to the CSI driver to complete the CSI - /// NodePublishVolume and NodeUnpublishVolume calls. - /// This field is optional, and may be empty if no secret is required. If the - /// secret object contains more than one secret, all secret references are passed. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePublishSecretRef")] pub node_publish_secret_ref: Option, - /// readOnly specifies a read-only configuration for the volume. - /// Defaults to false (read/write). #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// volumeAttributes stores driver-specific properties that are passed to the CSI - /// driver. Consult your driver's documentation for supported values. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributes")] pub volume_attributes: Option>, } -/// nodePublishSecretRef is a reference to the secret object containing -/// sensitive information to pass to the CSI driver to complete the CSI -/// NodePublishVolume and NodeUnpublishVolume calls. -/// This field is optional, and may be empty if no secret is required. If the -/// secret object contains more than one secret, all secret references are passed. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBBootstrapFromVolumeCsiNodePublishSecretRef { - /// Name of the referent. - /// This field is effectively required, but due to backwards compatibility is - /// allowed to be empty. Instances of this type with an empty value here are - /// almost certainly wrong. - /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// Represents an empty directory for a pod. -/// Empty directory volumes support ownership management and SELinux relabeling. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBBootstrapFromVolumeEmptyDir { - /// medium represents what type of storage medium should back this directory. - /// The default is "" which means to use the node's default medium. - /// Must be an empty string (default) or Memory. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + /// StorageMedium defines ways that storage can be allocated to a volume. #[serde(default, skip_serializing_if = "Option::is_none")] pub medium: Option, - /// sizeLimit is the total amount of local storage required for this EmptyDir volume. - /// The size limit is also applicable for memory medium. - /// The maximum usage on memory medium EmptyDir would be the minimum value between - /// the SizeLimit specified here and the sum of memory limits of all containers in a pod. - /// The default is nil which means that the limit is undefined. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir #[serde(default, skip_serializing_if = "Option::is_none", rename = "sizeLimit")] pub size_limit: Option, } -/// Represents an NFS mount that lasts the lifetime of a pod. -/// NFS volumes do not support ownership management or SELinux relabeling. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBBootstrapFromVolumeNfs { - /// path that is exported by the NFS server. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs pub path: String, - /// readOnly here will force the NFS export to be mounted with read-only permissions. - /// Defaults to false. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// server is the hostname or IP address of the NFS server. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs pub server: String, } -/// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. -/// This volume finds the bound PV and mounts that volume for the pod. A -/// PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another -/// type of volume that is owned by someone else (the system). +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBBootstrapFromVolumePersistentVolumeClaim { - /// claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. - /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[serde(rename = "claimName")] pub claim_name: String, - /// readOnly Will force the ReadOnly setting in VolumeMounts. - /// Default false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretvolumesource-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBBootstrapFromVolumeSecret { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] + pub default_mode: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] + pub secret_name: Option, +} + /// Connection defines a template to configure the general Connection object. /// This Connection provides the initial User access to the initial Database. /// It will make use of the Service to route network traffic to all Pods. @@ -1730,6 +1822,9 @@ pub struct MariaDBInitContainers { /// Command to be used in the Container. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, + /// Env represents the environment variables to be injected in a container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub env: Option>, /// Image name to be used by the container. The supported format is `:`. pub image: String, /// ImagePullPolicy is the image pull policy. One of `Always`, `Never` or `IfNotPresent`. If not defined, it defaults to `IfNotPresent`. @@ -1746,6 +1841,57 @@ pub struct MariaDBInitContainers { pub volume_mounts: Option>, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBInitContainersEnv { + /// Name of the environment variable. Must be a C_IDENTIFIER. + pub name: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + pub value_from: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBInitContainersEnvValueFrom { + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapkeyselector-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] + pub config_map_key_ref: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectfieldselector-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] + pub field_ref: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretkeyselector-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapkeyselector-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBInitContainersEnvValueFromConfigMapKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectfieldselector-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBInitContainersEnvValueFromFieldRef { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] + pub api_version: Option, + #[serde(rename = "fieldPath")] + pub field_path: String, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretkeyselector-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBInitContainersEnvValueFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + /// Container object definition. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum MariaDBInitContainersImagePullPolicy { @@ -2375,11 +2521,101 @@ pub struct MariaDBMaxScaleMetricsExporterAffinity { /// Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "antiAffinityEnabled")] pub anti_affinity_enabled: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] + pub node_affinity: Option, /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMaxScaleMetricsExporterAffinityNodeAffinity { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] + pub preferred_during_scheduling_ignored_during_execution: Option>, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] + pub required_during_scheduling_ignored_during_execution: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMaxScaleMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core + pub preference: MariaDBMaxScaleMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, + pub weight: i32, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMaxScaleMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMaxScaleMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMaxScaleMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMaxScaleMetricsExporterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { + #[serde(rename = "nodeSelectorTerms")] + pub node_selector_terms: Vec, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMaxScaleMetricsExporterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMaxScaleMetricsExporterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMaxScaleMetricsExporterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBMaxScaleMetricsExporterAffinityPodAntiAffinity { @@ -2401,43 +2637,28 @@ pub struct MariaDBMaxScaleMetricsExporterAffinityPodAntiAffinityPreferredDuringS /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBMaxScaleMetricsExporterAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBMaxScaleMetricsExporterAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBMaxScaleMetricsExporterAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -2445,43 +2666,28 @@ pub struct MariaDBMaxScaleMetricsExporterAffinityPodAntiAffinityPreferredDuringS /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBMaxScaleMetricsExporterAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBMaxScaleMetricsExporterAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBMaxScaleMetricsExporterAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -2900,11 +3106,101 @@ pub struct MariaDBMetricsExporterAffinity { /// Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "antiAffinityEnabled")] pub anti_affinity_enabled: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] + pub node_affinity: Option, /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMetricsExporterAffinityNodeAffinity { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] + pub preferred_during_scheduling_ignored_during_execution: Option>, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] + pub required_during_scheduling_ignored_during_execution: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core + pub preference: MariaDBMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, + pub weight: i32, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMetricsExporterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { + #[serde(rename = "nodeSelectorTerms")] + pub node_selector_terms: Vec, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMetricsExporterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMetricsExporterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBMetricsExporterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBMetricsExporterAffinityPodAntiAffinity { @@ -2926,43 +3222,28 @@ pub struct MariaDBMetricsExporterAffinityPodAntiAffinityPreferredDuringSchedulin /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBMetricsExporterAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBMetricsExporterAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBMetricsExporterAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -2970,43 +3251,28 @@ pub struct MariaDBMetricsExporterAffinityPodAntiAffinityPreferredDuringSchedulin /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBMetricsExporterAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBMetricsExporterAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBMetricsExporterAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -3881,6 +4147,9 @@ pub struct MariaDBSidecarContainers { /// Command to be used in the Container. #[serde(default, skip_serializing_if = "Option::is_none")] pub command: Option>, + /// Env represents the environment variables to be injected in a container. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub env: Option>, /// Image name to be used by the container. The supported format is `:`. pub image: String, /// ImagePullPolicy is the image pull policy. One of `Always`, `Never` or `IfNotPresent`. If not defined, it defaults to `IfNotPresent`. @@ -3897,6 +4166,57 @@ pub struct MariaDBSidecarContainers { pub volume_mounts: Option>, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBSidecarContainersEnv { + /// Name of the environment variable. Must be a C_IDENTIFIER. + pub name: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + pub value_from: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#envvarsource-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBSidecarContainersEnvValueFrom { + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapkeyselector-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")] + pub config_map_key_ref: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectfieldselector-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")] + pub field_ref: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretkeyselector-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapkeyselector-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBSidecarContainersEnvValueFromConfigMapKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectfieldselector-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBSidecarContainersEnvValueFromFieldRef { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] + pub api_version: Option, + #[serde(rename = "fieldPath")] + pub field_path: String, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretkeyselector-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBSidecarContainersEnvValueFromSecretKeyRef { + pub key: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, +} + /// Container object definition. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum MariaDBSidecarContainersImagePullPolicy { @@ -4181,123 +4501,95 @@ pub struct MariaDBVolumeMounts { /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#volume-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBVolumes { - /// Represents a source location of a volume to mount, managed by an external CSI driver + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapvolumesource-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")] + pub config_map: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none")] pub csi: Option, - /// Represents an empty directory for a pod. - /// Empty directory volumes support ownership management and SELinux relabeling. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")] pub empty_dir: Option, pub name: String, - /// Represents an NFS mount that lasts the lifetime of a pod. - /// NFS volumes do not support ownership management or SELinux relabeling. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none")] pub nfs: Option, - /// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. - /// This volume finds the bound PV and mounts that volume for the pod. A - /// PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another - /// type of volume that is owned by someone else (the system). + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentVolumeClaim")] pub persistent_volume_claim: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretvolumesource-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub secret: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapvolumesource-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBVolumesConfigMap { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] + pub default_mode: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, } -/// Represents a source location of a volume to mount, managed by an external CSI driver +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBVolumesCsi { - /// driver is the name of the CSI driver that handles this volume. - /// Consult with your admin for the correct name as registered in the cluster. pub driver: String, - /// fsType to mount. Ex. "ext4", "xfs", "ntfs". - /// If not provided, the empty value is passed to the associated CSI driver - /// which will determine the default filesystem to apply. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, - /// nodePublishSecretRef is a reference to the secret object containing - /// sensitive information to pass to the CSI driver to complete the CSI - /// NodePublishVolume and NodeUnpublishVolume calls. - /// This field is optional, and may be empty if no secret is required. If the - /// secret object contains more than one secret, all secret references are passed. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePublishSecretRef")] pub node_publish_secret_ref: Option, - /// readOnly specifies a read-only configuration for the volume. - /// Defaults to false (read/write). #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// volumeAttributes stores driver-specific properties that are passed to the CSI - /// driver. Consult your driver's documentation for supported values. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributes")] pub volume_attributes: Option>, } -/// nodePublishSecretRef is a reference to the secret object containing -/// sensitive information to pass to the CSI driver to complete the CSI -/// NodePublishVolume and NodeUnpublishVolume calls. -/// This field is optional, and may be empty if no secret is required. If the -/// secret object contains more than one secret, all secret references are passed. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBVolumesCsiNodePublishSecretRef { - /// Name of the referent. - /// This field is effectively required, but due to backwards compatibility is - /// allowed to be empty. Instances of this type with an empty value here are - /// almost certainly wrong. - /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// Represents an empty directory for a pod. -/// Empty directory volumes support ownership management and SELinux relabeling. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBVolumesEmptyDir { - /// medium represents what type of storage medium should back this directory. - /// The default is "" which means to use the node's default medium. - /// Must be an empty string (default) or Memory. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + /// StorageMedium defines ways that storage can be allocated to a volume. #[serde(default, skip_serializing_if = "Option::is_none")] pub medium: Option, - /// sizeLimit is the total amount of local storage required for this EmptyDir volume. - /// The size limit is also applicable for memory medium. - /// The maximum usage on memory medium EmptyDir would be the minimum value between - /// the SizeLimit specified here and the sum of memory limits of all containers in a pod. - /// The default is nil which means that the limit is undefined. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir #[serde(default, skip_serializing_if = "Option::is_none", rename = "sizeLimit")] pub size_limit: Option, } -/// Represents an NFS mount that lasts the lifetime of a pod. -/// NFS volumes do not support ownership management or SELinux relabeling. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBVolumesNfs { - /// path that is exported by the NFS server. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs pub path: String, - /// readOnly here will force the NFS export to be mounted with read-only permissions. - /// Defaults to false. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// server is the hostname or IP address of the NFS server. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs pub server: String, } -/// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. -/// This volume finds the bound PV and mounts that volume for the pod. A -/// PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another -/// type of volume that is owned by someone else (the system). +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBVolumesPersistentVolumeClaim { - /// claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. - /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[serde(rename = "claimName")] pub claim_name: String, - /// readOnly Will force the ReadOnly setting in VolumeMounts. - /// Default false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretvolumesource-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MariaDBVolumesSecret { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] + pub default_mode: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] + pub secret_name: Option, +} + /// MariaDBStatus defines the observed state of MariaDB #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MariaDBStatus { diff --git a/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/maxscales.rs b/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/maxscales.rs index dd4a8fc08..41882935b 100644 --- a/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/maxscales.rs +++ b/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/maxscales.rs @@ -154,11 +154,101 @@ pub struct MaxScaleAffinity { /// Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "antiAffinityEnabled")] pub anti_affinity_enabled: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] + pub node_affinity: Option, /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleAffinityNodeAffinity { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] + pub preferred_during_scheduling_ignored_during_execution: Option>, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] + pub required_during_scheduling_ignored_during_execution: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core + pub preference: MaxScaleAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, + pub weight: i32, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { + #[serde(rename = "nodeSelectorTerms")] + pub node_selector_terms: Vec, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MaxScaleAffinityPodAntiAffinity { @@ -180,43 +270,28 @@ pub struct MaxScaleAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuring /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MaxScaleAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MaxScaleAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MaxScaleAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -224,43 +299,28 @@ pub struct MaxScaleAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuring /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MaxScaleAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MaxScaleAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MaxScaleAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -903,11 +963,101 @@ pub struct MaxScaleMetricsExporterAffinity { /// Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "antiAffinityEnabled")] pub anti_affinity_enabled: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] + pub node_affinity: Option, /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleMetricsExporterAffinityNodeAffinity { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] + pub preferred_during_scheduling_ignored_during_execution: Option>, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] + pub required_during_scheduling_ignored_during_execution: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core + pub preference: MaxScaleMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, + pub weight: i32, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleMetricsExporterAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleMetricsExporterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { + #[serde(rename = "nodeSelectorTerms")] + pub node_selector_terms: Vec, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleMetricsExporterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleMetricsExporterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MaxScaleMetricsExporterAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MaxScaleMetricsExporterAffinityPodAntiAffinity { @@ -929,43 +1079,28 @@ pub struct MaxScaleMetricsExporterAffinityPodAntiAffinityPreferredDuringScheduli /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MaxScaleMetricsExporterAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MaxScaleMetricsExporterAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MaxScaleMetricsExporterAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -973,43 +1108,28 @@ pub struct MaxScaleMetricsExporterAffinityPodAntiAffinityPreferredDuringScheduli /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MaxScaleMetricsExporterAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MaxScaleMetricsExporterAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MaxScaleMetricsExporterAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } diff --git a/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/restores.rs b/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/restores.rs index 11003f2a5..f29f08924 100644 --- a/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/restores.rs +++ b/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/restores.rs @@ -95,11 +95,101 @@ pub struct RestoreAffinity { /// Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "antiAffinityEnabled")] pub anti_affinity_enabled: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] + pub node_affinity: Option, /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct RestoreAffinityNodeAffinity { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] + pub preferred_during_scheduling_ignored_during_execution: Option>, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] + pub required_during_scheduling_ignored_during_execution: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct RestoreAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core + pub preference: RestoreAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, + pub weight: i32, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct RestoreAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct RestoreAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct RestoreAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct RestoreAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { + #[serde(rename = "nodeSelectorTerms")] + pub node_selector_terms: Vec, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct RestoreAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct RestoreAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct RestoreAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RestoreAffinityPodAntiAffinity { @@ -121,43 +211,28 @@ pub struct RestoreAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringE /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RestoreAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RestoreAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RestoreAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -165,43 +240,28 @@ pub struct RestoreAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringE /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RestoreAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RestoreAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RestoreAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -493,122 +553,94 @@ pub struct RestoreTolerations { /// Volume is a Kubernetes Volume object that contains a backup. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RestoreVolume { - /// Represents a source location of a volume to mount, managed by an external CSI driver + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapvolumesource-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMap")] + pub config_map: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none")] pub csi: Option, - /// Represents an empty directory for a pod. - /// Empty directory volumes support ownership management and SELinux relabeling. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")] pub empty_dir: Option, - /// Represents an NFS mount that lasts the lifetime of a pod. - /// NFS volumes do not support ownership management or SELinux relabeling. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none")] pub nfs: Option, - /// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. - /// This volume finds the bound PV and mounts that volume for the pod. A - /// PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another - /// type of volume that is owned by someone else (the system). + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentVolumeClaim")] pub persistent_volume_claim: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretvolumesource-v1-core. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub secret: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#configmapvolumesource-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct RestoreVolumeConfigMap { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] + pub default_mode: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, } -/// Represents a source location of a volume to mount, managed by an external CSI driver +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#csivolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RestoreVolumeCsi { - /// driver is the name of the CSI driver that handles this volume. - /// Consult with your admin for the correct name as registered in the cluster. pub driver: String, - /// fsType to mount. Ex. "ext4", "xfs", "ntfs". - /// If not provided, the empty value is passed to the associated CSI driver - /// which will determine the default filesystem to apply. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fsType")] pub fs_type: Option, - /// nodePublishSecretRef is a reference to the secret object containing - /// sensitive information to pass to the CSI driver to complete the CSI - /// NodePublishVolume and NodeUnpublishVolume calls. - /// This field is optional, and may be empty if no secret is required. If the - /// secret object contains more than one secret, all secret references are passed. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodePublishSecretRef")] pub node_publish_secret_ref: Option, - /// readOnly specifies a read-only configuration for the volume. - /// Defaults to false (read/write). #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// volumeAttributes stores driver-specific properties that are passed to the CSI - /// driver. Consult your driver's documentation for supported values. #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributes")] pub volume_attributes: Option>, } -/// nodePublishSecretRef is a reference to the secret object containing -/// sensitive information to pass to the CSI driver to complete the CSI -/// NodePublishVolume and NodeUnpublishVolume calls. -/// This field is optional, and may be empty if no secret is required. If the -/// secret object contains more than one secret, all secret references are passed. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#localobjectreference-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RestoreVolumeCsiNodePublishSecretRef { - /// Name of the referent. - /// This field is effectively required, but due to backwards compatibility is - /// allowed to be empty. Instances of this type with an empty value here are - /// almost certainly wrong. - /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// Represents an empty directory for a pod. -/// Empty directory volumes support ownership management and SELinux relabeling. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#emptydirvolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RestoreVolumeEmptyDir { - /// medium represents what type of storage medium should back this directory. - /// The default is "" which means to use the node's default medium. - /// Must be an empty string (default) or Memory. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir + /// StorageMedium defines ways that storage can be allocated to a volume. #[serde(default, skip_serializing_if = "Option::is_none")] pub medium: Option, - /// sizeLimit is the total amount of local storage required for this EmptyDir volume. - /// The size limit is also applicable for memory medium. - /// The maximum usage on memory medium EmptyDir would be the minimum value between - /// the SizeLimit specified here and the sum of memory limits of all containers in a pod. - /// The default is nil which means that the limit is undefined. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir #[serde(default, skip_serializing_if = "Option::is_none", rename = "sizeLimit")] pub size_limit: Option, } -/// Represents an NFS mount that lasts the lifetime of a pod. -/// NFS volumes do not support ownership management or SELinux relabeling. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nfsvolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RestoreVolumeNfs { - /// path that is exported by the NFS server. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs pub path: String, - /// readOnly here will force the NFS export to be mounted with read-only permissions. - /// Defaults to false. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, - /// server is the hostname or IP address of the NFS server. - /// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs pub server: String, } -/// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. -/// This volume finds the bound PV and mounts that volume for the pod. A -/// PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another -/// type of volume that is owned by someone else (the system). +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#persistentvolumeclaimvolumesource-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RestoreVolumePersistentVolumeClaim { - /// claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. - /// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims #[serde(rename = "claimName")] pub claim_name: String, - /// readOnly Will force the ReadOnly setting in VolumeMounts. - /// Default false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")] pub read_only: Option, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#secretvolumesource-v1-core. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct RestoreVolumeSecret { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultMode")] + pub default_mode: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] + pub secret_name: Option, +} + /// RestoreStatus defines the observed state of restore #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RestoreStatus { diff --git a/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/sqljobs.rs b/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/sqljobs.rs index fbee66074..d43a07255 100644 --- a/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/sqljobs.rs +++ b/kube-custom-resources-rs/src/k8s_mariadb_com/v1alpha1/sqljobs.rs @@ -105,11 +105,101 @@ pub struct SqlJobAffinity { /// Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods. #[serde(default, skip_serializing_if = "Option::is_none", rename = "antiAffinityEnabled")] pub anti_affinity_enabled: Option, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] + pub node_affinity: Option, /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")] pub pod_anti_affinity: Option, } +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeaffinity-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct SqlJobAffinityNodeAffinity { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] + pub preferred_during_scheduling_ignored_during_execution: Option>, + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core + #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] + pub required_during_scheduling_ignored_during_execution: Option, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#preferredschedulingterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct SqlJobAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core + pub preference: SqlJobAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, + pub weight: i32, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct SqlJobAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct SqlJobAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct SqlJobAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselector-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct SqlJobAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { + #[serde(rename = "nodeSelectorTerms")] + pub node_selector_terms: Vec, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorterm-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct SqlJobAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] + pub match_fields: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct SqlJobAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#nodeselectorrequirement-v1-core +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct SqlJobAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { + pub key: String, + /// A node selector operator is the set of operators that can be used in + /// a node selector requirement. + pub operator: String, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podantiaffinity-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct SqlJobAffinityPodAntiAffinity { @@ -131,43 +221,28 @@ pub struct SqlJobAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringEx /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct SqlJobAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct SqlJobAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct SqlJobAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } @@ -175,43 +250,28 @@ pub struct SqlJobAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringEx /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#podaffinityterm-v1-core. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct SqlJobAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution { - /// A label selector is a label query over a set of resources. The result of matchLabels and - /// matchExpressions are ANDed. An empty label selector matches all objects. A null - /// label selector matches no objects. + /// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")] pub label_selector: Option, #[serde(rename = "topologyKey")] pub topology_key: String, } -/// A label selector is a label query over a set of resources. The result of matchLabels and -/// matchExpressions are ANDed. An empty label selector matches all objects. A null -/// label selector matches no objects. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselector-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct SqlJobAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector { - /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] pub match_expressions: Option>, - /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - /// map is equivalent to an element of matchExpressions, whose key field is "key", the - /// operator is "In", and the values array contains only "value". The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } -/// A label selector requirement is a selector that contains values, a key, and an operator that -/// relates the key and values. +/// Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#labelselectorrequirement-v1-meta #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct SqlJobAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions { - /// key is the label key that the selector applies to. pub key: String, - /// operator represents a key's relationship to a set of values. - /// Valid operators are In, NotIn, Exists and DoesNotExist. + /// A label selector operator is the set of operators that can be used in a selector requirement. pub operator: String, - /// values is an array of string values. If the operator is In or NotIn, - /// the values array must be non-empty. If the operator is Exists or DoesNotExist, - /// the values array must be empty. This array is replaced during a strategic - /// merge patch. #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } diff --git a/kube-custom-resources-rs/src/keyspaces_services_k8s_aws/v1alpha1/keyspaces.rs b/kube-custom-resources-rs/src/keyspaces_services_k8s_aws/v1alpha1/keyspaces.rs index 6db23af00..097e4fd38 100644 --- a/kube-custom-resources-rs/src/keyspaces_services_k8s_aws/v1alpha1/keyspaces.rs +++ b/kube-custom-resources-rs/src/keyspaces_services_k8s_aws/v1alpha1/keyspaces.rs @@ -24,10 +24,8 @@ pub struct KeyspaceSpec { pub keyspace_name: String, /// The replication specification of the keyspace includes: /// - /// /// * replicationStrategy - the required value is SINGLE_REGION or MULTI_REGION. /// - /// /// * regionList - if the replicationStrategy is MULTI_REGION, the regionList /// requires the current Region and at least one additional Amazon Web Services /// Region where the keyspace is going to be replicated in. The maximum number @@ -36,7 +34,6 @@ pub struct KeyspaceSpec { pub replication_specification: Option, /// A list of key-value pair tags to be attached to the keyspace. /// - /// /// For more information, see Adding tags and labels to Amazon Keyspaces resources /// (https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html) /// in the Amazon Keyspaces Developer Guide. @@ -46,10 +43,8 @@ pub struct KeyspaceSpec { /// The replication specification of the keyspace includes: /// -/// /// * replicationStrategy - the required value is SINGLE_REGION or MULTI_REGION. /// -/// /// * regionList - if the replicationStrategy is MULTI_REGION, the regionList /// requires the current Region and at least one additional Amazon Web Services /// Region where the keyspace is going to be replicated in. The maximum number @@ -65,14 +60,12 @@ pub struct KeyspaceReplicationSpecification { /// Describes a tag. A tag is a key-value pair. You can add up to 50 tags to /// a single Amazon Keyspaces resource. /// -/// /// Amazon Web Services-assigned tag names and values are automatically assigned /// the aws: prefix, which the user cannot assign. Amazon Web Services-assigned /// tag names do not count towards the tag limit of 50. User-assigned tag names /// have the prefix user: in the Cost Allocation Report. You cannot backdate /// the application of a tag. /// -/// /// For more information, see Adding tags and labels to Amazon Keyspaces resources /// (https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html) /// in the Amazon Keyspaces Developer Guide. @@ -115,7 +108,6 @@ pub struct KeyspaceStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/keyspaces_services_k8s_aws/v1alpha1/tables.rs b/kube-custom-resources-rs/src/keyspaces_services_k8s_aws/v1alpha1/tables.rs index e3bdbc51c..1cd45aef1 100644 --- a/kube-custom-resources-rs/src/keyspaces_services_k8s_aws/v1alpha1/tables.rs +++ b/kube-custom-resources-rs/src/keyspaces_services_k8s_aws/v1alpha1/tables.rs @@ -22,17 +22,13 @@ pub struct TableSpec { /// Specifies the read/write throughput capacity mode for the table. The options /// are: /// - /// /// * throughputMode:PAY_PER_REQUEST and /// - /// /// * throughputMode:PROVISIONED - Provisioned capacity mode requires readCapacityUnits /// and writeCapacityUnits as input. /// - /// /// The default is throughput_mode:PAY_PER_REQUEST. /// - /// /// For more information, see Read/write capacity modes (https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html) /// in the Amazon Keyspaces Developer Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "capacitySpecification")] @@ -40,10 +36,8 @@ pub struct TableSpec { /// Enables client-side timestamps for the table. By default, the setting is /// disabled. You can enable client-side timestamps with the following option: /// - /// /// * status: "enabled" /// - /// /// Once client-side timestamps are enabled for a table, this setting cannot /// be disabled. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clientSideTimestamps")] @@ -53,7 +47,6 @@ pub struct TableSpec { pub comment: Option, /// The default Time to Live setting in seconds for the table. /// - /// /// For more information, see Setting the default TTL value for a table (https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl) /// in the Amazon Keyspaces Developer Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultTimeToLive")] @@ -61,18 +54,14 @@ pub struct TableSpec { /// Specifies how the encryption key for encryption at rest is managed for the /// table. You can choose one of the following KMS key (KMS key): /// - /// /// * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. /// - /// /// * type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and /// is created, owned, and managed by you. This option requires the kms_key_identifier /// of the KMS key in Amazon Resource Name (ARN) format as input. /// - /// /// The default is type:AWS_OWNED_KMS_KEY. /// - /// /// For more information, see Encryption at rest (https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html) /// in the Amazon Keyspaces Developer Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "encryptionSpecification")] @@ -83,61 +72,46 @@ pub struct TableSpec { /// Specifies if pointInTimeRecovery is enabled or disabled for the table. The /// options are: /// - /// /// * status=ENABLED /// - /// /// * status=DISABLED /// - /// /// If it's not specified, the default is status=DISABLED. /// - /// /// For more information, see Point-in-time recovery (https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html) /// in the Amazon Keyspaces Developer Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "pointInTimeRecovery")] pub point_in_time_recovery: Option, /// The schemaDefinition consists of the following parameters. /// - /// /// For each column to be created: /// - /// /// * name - The name of the column. /// - /// /// * type - An Amazon Keyspaces data type. For more information, see Data /// types (https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types) /// in the Amazon Keyspaces Developer Guide. /// - /// /// The primary key of the table consists of the following columns: /// - /// /// * partitionKeys - The partition key can be a single column, or it can /// be a compound value composed of two or more columns. The partition key /// portion of the primary key is required and determines how Amazon Keyspaces /// stores your data. /// - /// /// * name - The name of each partition key column. /// - /// /// * clusteringKeys - The optional clustering column portion of your primary /// key determines how the data is clustered and sorted within each partition. /// - /// /// * name - The name of the clustering column. /// - /// /// * orderBy - Sets the ascendant (ASC) or descendant (DESC) order modifier. /// To define a column as static use staticColumns - Static columns store /// values that are shared by all rows in the same partition: /// - /// /// * name - The name of the column. /// - /// /// * type - An Amazon Keyspaces data type. #[serde(rename = "schemaDefinition")] pub schema_definition: TableSchemaDefinition, @@ -146,7 +120,6 @@ pub struct TableSpec { pub table_name: String, /// A list of key-value pair tags to be attached to the resource. /// - /// /// For more information, see Adding tags and labels to Amazon Keyspaces resources /// (https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html) /// in the Amazon Keyspaces Developer Guide. @@ -154,17 +127,13 @@ pub struct TableSpec { pub tags: Option>, /// Enables Time to Live custom settings for the table. The options are: /// - /// /// * status:enabled /// - /// /// * status:disabled /// - /// /// The default is status:disabled. After ttl is enabled, you can't disable it /// for the table. /// - /// /// For more information, see Expiring data by using Amazon Keyspaces Time to /// Live (TTL) (https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html) /// in the Amazon Keyspaces Developer Guide. @@ -175,17 +144,13 @@ pub struct TableSpec { /// Specifies the read/write throughput capacity mode for the table. The options /// are: /// -/// /// * throughputMode:PAY_PER_REQUEST and /// -/// /// * throughputMode:PROVISIONED - Provisioned capacity mode requires readCapacityUnits /// and writeCapacityUnits as input. /// -/// /// The default is throughput_mode:PAY_PER_REQUEST. /// -/// /// For more information, see Read/write capacity modes (https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html) /// in the Amazon Keyspaces Developer Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -201,10 +166,8 @@ pub struct TableCapacitySpecification { /// Enables client-side timestamps for the table. By default, the setting is /// disabled. You can enable client-side timestamps with the following option: /// -/// /// * status: "enabled" /// -/// /// Once client-side timestamps are enabled for a table, this setting cannot /// be disabled. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -223,18 +186,14 @@ pub struct TableComment { /// Specifies how the encryption key for encryption at rest is managed for the /// table. You can choose one of the following KMS key (KMS key): /// -/// /// * type:AWS_OWNED_KMS_KEY - This key is owned by Amazon Keyspaces. /// -/// /// * type:CUSTOMER_MANAGED_KMS_KEY - This key is stored in your account and /// is created, owned, and managed by you. This option requires the kms_key_identifier /// of the KMS key in Amazon Resource Name (ARN) format as input. /// -/// /// The default is type:AWS_OWNED_KMS_KEY. /// -/// /// For more information, see Encryption at rest (https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html) /// in the Amazon Keyspaces Developer Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -248,16 +207,12 @@ pub struct TableEncryptionSpecification { /// Specifies if pointInTimeRecovery is enabled or disabled for the table. The /// options are: /// -/// /// * status=ENABLED /// -/// /// * status=DISABLED /// -/// /// If it's not specified, the default is status=DISABLED. /// -/// /// For more information, see Point-in-time recovery (https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html) /// in the Amazon Keyspaces Developer Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -268,45 +223,34 @@ pub struct TablePointInTimeRecovery { /// The schemaDefinition consists of the following parameters. /// -/// /// For each column to be created: /// -/// /// * name - The name of the column. /// -/// /// * type - An Amazon Keyspaces data type. For more information, see Data /// types (https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types) /// in the Amazon Keyspaces Developer Guide. /// -/// /// The primary key of the table consists of the following columns: /// -/// /// * partitionKeys - The partition key can be a single column, or it can /// be a compound value composed of two or more columns. The partition key /// portion of the primary key is required and determines how Amazon Keyspaces /// stores your data. /// -/// /// * name - The name of each partition key column. /// -/// /// * clusteringKeys - The optional clustering column portion of your primary /// key determines how the data is clustered and sorted within each partition. /// -/// /// * name - The name of the clustering column. /// -/// /// * orderBy - Sets the ascendant (ASC) or descendant (DESC) order modifier. /// To define a column as static use staticColumns - Static columns store /// values that are shared by all rows in the same partition: /// -/// /// * name - The name of the column. /// -/// /// * type - An Amazon Keyspaces data type. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TableSchemaDefinition { @@ -359,14 +303,12 @@ pub struct TableSchemaDefinitionStaticColumns { /// Describes a tag. A tag is a key-value pair. You can add up to 50 tags to /// a single Amazon Keyspaces resource. /// -/// /// Amazon Web Services-assigned tag names and values are automatically assigned /// the aws: prefix, which the user cannot assign. Amazon Web Services-assigned /// tag names do not count towards the tag limit of 50. User-assigned tag names /// have the prefix user: in the Cost Allocation Report. You cannot backdate /// the application of a tag. /// -/// /// For more information, see Adding tags and labels to Amazon Keyspaces resources /// (https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html) /// in the Amazon Keyspaces Developer Guide. @@ -380,17 +322,13 @@ pub struct TableTags { /// Enables Time to Live custom settings for the table. The options are: /// -/// /// * status:enabled /// -/// /// * status:disabled /// -/// /// The default is status:disabled. After ttl is enabled, you can't disable it /// for the table. /// -/// /// For more information, see Expiring data by using Amazon Keyspaces Time to /// Live (TTL) (https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html) /// in the Amazon Keyspaces Developer Guide. @@ -429,7 +367,6 @@ pub struct TableStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/kinesis_services_k8s_aws/v1alpha1/streams.rs b/kube-custom-resources-rs/src/kinesis_services_k8s_aws/v1alpha1/streams.rs index 4f087b748..67b149c7c 100644 --- a/kube-custom-resources-rs/src/kinesis_services_k8s_aws/v1alpha1/streams.rs +++ b/kube-custom-resources-rs/src/kinesis_services_k8s_aws/v1alpha1/streams.rs @@ -66,10 +66,8 @@ pub struct StreamStatus { pub consumer_count: Option, /// The encryption type used. This value is one of the following: /// - /// /// * KMS /// - /// /// * NONE #[serde(default, skip_serializing_if = "Option::is_none", rename = "encryptionType")] pub encryption_type: Option, @@ -82,19 +80,14 @@ pub struct StreamStatus { /// can also use a master key owned by Kinesis Data Streams by specifying the /// alias aws/kinesis. /// - /// /// * Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 /// - /// /// * Alias ARN example: arn:aws:kms:us-east-1:123456789012:alias/MyAliasName /// - /// /// * Globally unique key ID example: 12345678-1234-1234-1234-123456789012 /// - /// /// * Alias name example: alias/MyAliasName /// - /// /// * Master key owned by Kinesis Data Streams: alias/aws/kinesis #[serde(default, skip_serializing_if = "Option::is_none", rename = "keyID")] pub key_id: Option, @@ -110,20 +103,16 @@ pub struct StreamStatus { /// The current status of the stream being described. The stream status is one /// of the following states: /// - /// /// * CREATING - The stream is being created. Kinesis Data Streams immediately /// returns and sets StreamStatus to CREATING. /// - /// /// * DELETING - The stream is being deleted. The specified stream is in the /// DELETING state until Kinesis Data Streams completes the deletion. /// - /// /// * ACTIVE - The stream exists and is ready for read and write operations /// or deletion. You should perform read and write operations only on an ACTIVE /// stream. /// - /// /// * UPDATING - Shards in the stream are being merged or split. Read and /// write operations continue to work while the stream is in the UPDATING /// state. @@ -142,7 +131,6 @@ pub struct StreamStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/kms_services_k8s_aws/v1alpha1/aliases.rs b/kube-custom-resources-rs/src/kms_services_k8s_aws/v1alpha1/aliases.rs index eb97fc5a7..6a5233501 100644 --- a/kube-custom-resources-rs/src/kms_services_k8s_aws/v1alpha1/aliases.rs +++ b/kube-custom-resources-rs/src/kms_services_k8s_aws/v1alpha1/aliases.rs @@ -22,7 +22,6 @@ pub struct AliasSpec { /// Specifies the alias name. This value must begin with alias/ followed by a /// name, such as alias/ExampleAlias. /// - /// /// The AliasName value must be string of 1-256 characters. It can contain only /// alphanumeric characters, forward slashes (/), underscores (_), and dashes /// (-). The alias name cannot begin with alias/aws/. The alias/aws/ prefix is @@ -31,27 +30,20 @@ pub struct AliasSpec { /// Associates the alias with the specified customer managed key (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk). /// The KMS key must be in the same Amazon Web Services Region. /// - /// /// A valid key ID is required. If you supply a null or empty string value, this /// operation returns an error. /// - /// /// For help finding the key ID and ARN, see Finding the Key ID and ARN (https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn) /// in the Key Management Service Developer Guide . /// - /// /// Specify the key ID or key ARN of the KMS key. /// - /// /// For example: /// - /// /// * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab /// - /// /// * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab /// - /// /// To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetKeyID")] pub target_key_id: Option, @@ -60,7 +52,6 @@ pub struct AliasSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetKeyRef")] @@ -72,7 +63,6 @@ pub struct AliasSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -120,7 +110,6 @@ pub struct AliasStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/kms_services_k8s_aws/v1alpha1/grants.rs b/kube-custom-resources-rs/src/kms_services_k8s_aws/v1alpha1/grants.rs index cb2f95ee5..800ff743b 100644 --- a/kube-custom-resources-rs/src/kms_services_k8s_aws/v1alpha1/grants.rs +++ b/kube-custom-resources-rs/src/kms_services_k8s_aws/v1alpha1/grants.rs @@ -22,7 +22,6 @@ use self::prelude::*; pub struct GrantSpec { /// Specifies a grant constraint. /// - /// /// KMS supports the EncryptionContextEquals and EncryptionContextSubset grant /// constraints. Each constraint value can include up to 8 encryption context /// pairs. The encryption context value in each constraint cannot exceed 384 @@ -32,13 +31,11 @@ pub struct GrantSpec { /// encryption context, see Encryption context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) /// in the Key Management Service Developer Guide . /// - /// /// The encryption context grant constraints allow the permissions in the grant /// only when the encryption context in the request matches (EncryptionContextEquals) /// or includes (EncryptionContextSubset) the encryption context specified in /// this structure. /// - /// /// The encryption context grant constraints are supported only on grant operations /// (https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations) /// that include an EncryptionContext parameter, such as cryptographic operations @@ -48,7 +45,6 @@ pub struct GrantSpec { /// operation, the constraint requires that any grants created with the CreateGrant /// permission have an equally strict or stricter encryption context constraint. /// - /// /// You cannot use an encryption context grant constraint for cryptographic operations /// with asymmetric KMS keys or HMAC KMS keys. These keys don't support an encryption /// context. @@ -56,7 +52,6 @@ pub struct GrantSpec { pub constraints: Option, /// A list of grant tokens. /// - /// /// Use a grant token when your permission to call this operation comes from /// a new grant that has not yet achieved eventual consistency. For more information, /// see Grant token (https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token) @@ -66,7 +61,6 @@ pub struct GrantSpec { pub grant_tokens: Option>, /// The identity that gets the permissions specified in the grant. /// - /// /// To specify the principal, use the Amazon Resource Name (ARN) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) /// of an Amazon Web Services principal. Valid Amazon Web Services principals /// include Amazon Web Services accounts (root), IAM users, IAM roles, federated @@ -79,20 +73,15 @@ pub struct GrantSpec { /// Identifies the KMS key for the grant. The grant gives principals permission /// to use this KMS key. /// - /// /// Specify the key ID or key ARN of the KMS key. To specify a KMS key in a different /// Amazon Web Services account, you must use the key ARN. /// - /// /// For example: /// - /// /// * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab /// - /// /// * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab /// - /// /// To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. #[serde(default, skip_serializing_if = "Option::is_none", rename = "keyID")] pub key_id: Option, @@ -101,7 +90,6 @@ pub struct GrantSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "keyRef")] @@ -109,12 +97,10 @@ pub struct GrantSpec { /// A friendly name for the grant. Use this value to prevent the unintended creation /// of duplicate grants when retrying this request. /// - /// /// When this value is absent, all CreateGrant requests result in a new grant /// with a unique GrantId even if all the supplied parameters are identical. /// This can result in unintended duplicates when you retry the CreateGrant request. /// - /// /// When this value is present, you can retry a CreateGrant request with identical /// parameters; if the grant already exists, the original GrantId is returned /// without creating a new grant. Note that the returned grant token is unique @@ -124,7 +110,6 @@ pub struct GrantSpec { pub name: Option, /// A list of operations that the grant permits. /// - /// /// This list must include only operations that are permitted in a grant. Also, /// the operation must be supported on the KMS key. For example, you cannot create /// a grant for a symmetric encryption KMS key that allows the Sign operation, @@ -136,7 +121,6 @@ pub struct GrantSpec { /// The principal that has permission to use the RetireGrant operation to retire /// the grant. /// - /// /// To specify the principal, use the Amazon Resource Name (ARN) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) /// of an Amazon Web Services principal. Valid Amazon Web Services principals /// include Amazon Web Services accounts (root), IAM users, federated users, @@ -145,7 +129,6 @@ pub struct GrantSpec { /// (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam) /// in the Example ARNs section of the Amazon Web Services General Reference. /// - /// /// The grant determines the retiring principal. Other principals might have /// permission to retire the grant or revoke the grant. For details, see RevokeGrant /// and Retiring and revoking grants (https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete) @@ -156,7 +139,6 @@ pub struct GrantSpec { /// Specifies a grant constraint. /// -/// /// KMS supports the EncryptionContextEquals and EncryptionContextSubset grant /// constraints. Each constraint value can include up to 8 encryption context /// pairs. The encryption context value in each constraint cannot exceed 384 @@ -166,13 +148,11 @@ pub struct GrantSpec { /// encryption context, see Encryption context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) /// in the Key Management Service Developer Guide . /// -/// /// The encryption context grant constraints allow the permissions in the grant /// only when the encryption context in the request matches (EncryptionContextEquals) /// or includes (EncryptionContextSubset) the encryption context specified in /// this structure. /// -/// /// The encryption context grant constraints are supported only on grant operations /// (https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations) /// that include an EncryptionContext parameter, such as cryptographic operations @@ -182,7 +162,6 @@ pub struct GrantSpec { /// operation, the constraint requires that any grants created with the CreateGrant /// permission have an equally strict or stricter encryption context constraint. /// -/// /// You cannot use an encryption context grant constraint for cryptographic operations /// with asymmetric KMS keys or HMAC KMS keys. These keys don't support an encryption /// context. @@ -199,7 +178,6 @@ pub struct GrantConstraints { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -236,13 +214,11 @@ pub struct GrantStatus { pub conditions: Option>, /// The unique identifier for the grant. /// - /// /// You can use the GrantId in a ListGrants, RetireGrant, or RevokeGrant operation. #[serde(default, skip_serializing_if = "Option::is_none", rename = "grantID")] pub grant_id: Option, /// The grant token. /// - /// /// Use a grant token when your permission to call this operation comes from /// a new grant that has not yet achieved eventual consistency. For more information, /// see Grant token (https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token) @@ -263,7 +239,6 @@ pub struct GrantStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/kms_services_k8s_aws/v1alpha1/keys.rs b/kube-custom-resources-rs/src/kms_services_k8s_aws/v1alpha1/keys.rs index 54cd88f0d..a5f4f7be0 100644 --- a/kube-custom-resources-rs/src/kms_services_k8s_aws/v1alpha1/keys.rs +++ b/kube-custom-resources-rs/src/kms_services_k8s_aws/v1alpha1/keys.rs @@ -21,20 +21,16 @@ use self::prelude::*; pub struct KeySpec { /// A flag to indicate whether to bypass the key policy lockout safety check. /// - /// /// Setting this value to true increases the risk that the KMS key becomes unmanageable. /// Do not set this value to true indiscriminately. /// - /// /// For more information, refer to the scenario in the Default Key Policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) /// section in the Key Management Service Developer Guide . /// - /// /// Use this parameter only when you include a policy in the request and you /// intend to prevent the principal that is making the request from making a /// subsequent PutKeyPolicy request on the KMS key. /// - /// /// The default value is false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "bypassPolicyLockoutSafetyCheck")] pub bypass_policy_lockout_safety_check: Option, @@ -45,18 +41,14 @@ pub struct KeySpec { /// custom key store must have at least two active HSMs, each in a different /// Availability Zone in the Region. /// - /// /// This parameter is valid only for symmetric encryption KMS keys in a single /// Region. You cannot create any other type of KMS key in a custom key store. /// - /// /// To find the ID of a custom key store, use the DescribeCustomKeyStores operation. /// - /// /// The response includes the custom key store ID and the ID of the CloudHSM /// cluster. /// - /// /// This operation is part of the custom key store feature (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html) /// feature in KMS, which combines the convenience and extensive integration /// of KMS with the isolation and control of a single-tenant key store. @@ -64,11 +56,9 @@ pub struct KeySpec { pub custom_key_store_id: Option, /// A description of the KMS key. /// - /// /// Use a description that helps you decide whether the KMS key is appropriate /// for a task. The default value is an empty string (no description). /// - /// /// To set or change the description after the key is created, use UpdateKeyDescription. #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, @@ -81,7 +71,6 @@ pub struct KeySpec { /// see Choosing a KMS key type (https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html#symm-asymm-choose) /// in the Key Management Service Developer Guide . /// - /// /// The KeySpec determines whether the KMS key contains a symmetric key or an /// asymmetric key pair. It also determines the cryptographic algorithms that /// the KMS key supports. You can't change the KeySpec after the KMS key is created. @@ -92,32 +81,24 @@ pub struct KeySpec { /// or kms:Signing Algorithm (https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-signing-algorithm) /// in the Key Management Service Developer Guide . /// - /// /// Amazon Web Services services that are integrated with KMS (http://aws.amazon.com/kms/features/#AWS_Service_Integration) /// use symmetric encryption KMS keys to protect your data. These services do /// not support asymmetric KMS keys or HMAC KMS keys. /// - /// /// KMS supports the following key specs for KMS keys: /// - /// /// * Symmetric encryption key (default) SYMMETRIC_DEFAULT /// - /// /// * HMAC keys (symmetric) HMAC_224 HMAC_256 HMAC_384 HMAC_512 /// - /// /// * Asymmetric RSA key pairs RSA_2048 RSA_3072 RSA_4096 /// - /// /// * Asymmetric NIST-recommended elliptic curve key pairs ECC_NIST_P256 (secp256r1) /// ECC_NIST_P384 (secp384r1) ECC_NIST_P521 (secp521r1) /// - /// /// * Other asymmetric elliptic curve key pairs ECC_SECG_P256K1 (secp256k1), /// commonly used for cryptocurrencies. /// - /// /// * SM2 key pairs (China Regions only) SM2 #[serde(default, skip_serializing_if = "Option::is_none", rename = "keySpec")] pub key_spec: Option, @@ -127,23 +108,17 @@ pub struct KeySpec { /// key; otherwise, it is required. You can't change the KeyUsage value after /// the KMS key is created. /// - /// /// Select only one valid value. /// - /// /// * For symmetric encryption KMS keys, omit the parameter or specify ENCRYPT_DECRYPT. /// - /// /// * For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC. /// - /// /// * For asymmetric KMS keys with RSA key material, specify ENCRYPT_DECRYPT /// or SIGN_VERIFY. /// - /// /// * For asymmetric KMS keys with ECC key material, specify SIGN_VERIFY. /// - /// /// * For asymmetric KMS keys with SM2 key material (China Regions only), /// specify ENCRYPT_DECRYPT or SIGN_VERIFY. #[serde(default, skip_serializing_if = "Option::is_none", rename = "keyUsage")] @@ -152,11 +127,9 @@ pub struct KeySpec { /// Web Services Regions. You cannot change this value after you create the KMS /// key. /// - /// /// For a multi-Region key, set this parameter to True. For a single-Region KMS /// key, omit this parameter or set it to False. The default value is False. /// - /// /// This operation supports multi-Region keys, an KMS feature that lets you create /// multiple interoperable KMS keys in different Amazon Web Services Regions. /// Because these KMS keys have the same key ID, key material, and other metadata, @@ -166,11 +139,9 @@ pub struct KeySpec { /// keys, see Multi-Region keys in KMS (https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) /// in the Key Management Service Developer Guide. /// - /// /// This value creates a primary key, not a replica. To create a replica key, /// use the ReplicateKey operation. /// - /// /// You can create a multi-Region version of a symmetric encryption KMS key, /// an HMAC KMS key, an asymmetric KMS key, or a KMS key with imported key material. /// However, you cannot create a multi-Region key in a custom key store. @@ -180,14 +151,12 @@ pub struct KeySpec { /// after you create the KMS key. The default is AWS_KMS, which means that KMS /// creates the key material. /// - /// /// To create a KMS key with no key material (for imported key material), set /// the value to EXTERNAL. For more information about importing key material /// into KMS, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) /// in the Key Management Service Developer Guide. This value is valid only for /// symmetric encryption KMS keys. /// - /// /// To create a KMS key in an KMS custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html) /// and create its key material in the associated CloudHSM cluster, set this /// value to AWS_CLOUDHSM. You must also use the CustomKeyStoreId parameter to @@ -200,10 +169,8 @@ pub struct KeySpec { /// Default key policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default) /// in the Key Management Service Developer Guide. /// - /// /// If you provide a key policy, it must meet the following criteria: /// - /// /// * If you don't set BypassPolicyLockoutSafetyCheck to True, the key policy /// must allow the principal that is making the CreateKey request to make /// a subsequent PutKeyPolicy request on the KMS key. This reduces the risk @@ -211,7 +178,6 @@ pub struct KeySpec { /// the scenario in the Default Key Policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) /// section of the Key Management Service Developer Guide . /// - /// /// * Each statement in the key policy must contain one or more principals. /// The principals in the key policy must exist and be visible to KMS. When /// you create a new Amazon Web Services principal (for example, an IAM user @@ -221,22 +187,17 @@ pub struct KeySpec { /// visible (https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency) /// in the Amazon Web Services Identity and Access Management User Guide. /// - /// /// A key policy document can include only the following characters: /// - /// /// * Printable ASCII characters from the space character (\u0020) through /// the end of the ASCII character range. /// - /// /// * Printable characters in the Basic Latin and Latin-1 Supplement character /// set (through \u00FF). /// - /// /// * The tab (\u0009), line feed (\u000A), and carriage return (\u000D) special /// characters /// - /// /// For information about key policies, see Key policies in KMS (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) /// in the Key Management Service Developer Guide. For help writing and formatting /// a JSON policy document, see the IAM JSON Policy Reference (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) @@ -246,23 +207,19 @@ pub struct KeySpec { /// Assigns one or more tags to the KMS key. Use this parameter to tag the KMS /// key when it is created. To tag an existing KMS key, use the TagResource operation. /// - /// /// Tagging or untagging a KMS key can allow or deny permission to the KMS key. /// For details, see ABAC in KMS (https://docs.aws.amazon.com/kms/latest/developerguide/abac.html) /// in the Key Management Service Developer Guide. /// - /// /// To use this parameter, you must have kms:TagResource (https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) /// permission in an IAM policy. /// - /// /// Each tag consists of a tag key and a tag value. Both the tag key and the /// tag value are required, but the tag value can be an empty (null) string. /// You cannot have more than one tag on a KMS key with the same tag key. If /// you specify an existing tag key with a different tag value, KMS replaces /// the current tag value with the specified one. /// - /// /// When you add tags to an Amazon Web Services resource, Amazon Web Services /// generates a cost allocation report with usage and costs aggregated by tags. /// Tags can also be used to control access to a KMS key. For details, see Tagging @@ -274,7 +231,6 @@ pub struct KeySpec { /// A key-value pair. A tag consists of a tag key and a tag value. Tag keys and /// tag values are both required, but tag values can be empty (null) strings. /// -/// /// For information about the rules that apply to tag keys and tag values, see /// User-Defined Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) /// in the Amazon Web Services Billing and Cost Management User Guide. @@ -317,7 +273,6 @@ pub struct KeyStatus { /// only when the KMS key is scheduled for deletion, that is, when its KeyState /// is PendingDeletion. /// - /// /// When the primary key in a multi-Region key is scheduled for deletion but /// still has replica keys, its key state is PendingReplicaDeletion and the length /// of its waiting period is displayed in the PendingDeletionWindowInDays field. @@ -330,7 +285,6 @@ pub struct KeyStatus { /// The encryption algorithms that the KMS key supports. You cannot use the KMS /// key with other encryption algorithms within KMS. /// - /// /// This value is present only when the KeyUsage of the KMS key is ENCRYPT_DECRYPT. #[serde(default, skip_serializing_if = "Option::is_none", rename = "encryptionAlgorithms")] pub encryption_algorithms: Option>, @@ -349,7 +303,6 @@ pub struct KeyStatus { pub key_manager: Option, /// The current status of the KMS key. /// - /// /// For more information about how key state affects the use of a KMS key, see /// Key states of KMS keys (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) /// in the Key Management Service Developer Guide. @@ -357,25 +310,20 @@ pub struct KeyStatus { pub key_state: Option, /// The message authentication code (MAC) algorithm that the HMAC KMS key supports. /// - /// /// This value is present only when the KeyUsage of the KMS key is GENERATE_VERIFY_MAC. #[serde(default, skip_serializing_if = "Option::is_none", rename = "macAlgorithms")] pub mac_algorithms: Option>, /// Lists the primary and replica keys in same multi-Region key. This field is /// present only when the value of the MultiRegion field is True. /// - /// /// For more information about any listed KMS key, use the DescribeKey operation. /// - /// /// * MultiRegionKeyType indicates whether the KMS key is a PRIMARY or REPLICA /// key. /// - /// /// * PrimaryKey displays the key ARN and Region of the primary key. This /// field displays the current KMS key if it is the primary key. /// - /// /// * ReplicaKeys displays the key ARNs and Regions of all replica keys. This /// field includes the current KMS key if it is a replica key. #[serde(default, skip_serializing_if = "Option::is_none", rename = "multiRegionConfiguration")] @@ -386,7 +334,6 @@ pub struct KeyStatus { /// That indicates that the KMS key is the primary key in a multi-Region key, /// it is scheduled for deletion, and it still has existing replica keys. /// - /// /// When a single-Region KMS key or a multi-Region replica key is scheduled for /// deletion, its deletion date is displayed in the DeletionDate field. However, /// when the primary key in a multi-Region key is scheduled for deletion, its @@ -399,7 +346,6 @@ pub struct KeyStatus { /// The signing algorithms that the KMS key supports. You cannot use the KMS /// key with other signing algorithms within KMS. /// - /// /// This field appears only when the KeyUsage of the KMS key is SIGN_VERIFY. #[serde(default, skip_serializing_if = "Option::is_none", rename = "signingAlgorithms")] pub signing_algorithms: Option>, @@ -422,7 +368,6 @@ pub struct KeyStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, @@ -437,18 +382,14 @@ pub struct KeyStatusAckResourceMetadata { /// Lists the primary and replica keys in same multi-Region key. This field is /// present only when the value of the MultiRegion field is True. /// -/// /// For more information about any listed KMS key, use the DescribeKey operation. /// -/// /// * MultiRegionKeyType indicates whether the KMS key is a PRIMARY or REPLICA /// key. /// -/// /// * PrimaryKey displays the key ARN and Region of the primary key. This /// field displays the current KMS key if it is the primary key. /// -/// /// * ReplicaKeys displays the key ARNs and Regions of all replica keys. This /// field includes the current KMS key if it is a replica key. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] diff --git a/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/mod.rs b/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/mod.rs index 6c8578189..b8cc74601 100644 --- a/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/mod.rs +++ b/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/mod.rs @@ -1,6 +1,8 @@ pub mod admissionchecks; pub mod clusterqueues; pub mod localqueues; +pub mod multikueueclusters; +pub mod multikueueconfigs; pub mod provisioningrequestconfigs; pub mod resourceflavors; pub mod workloadpriorityclasses; diff --git a/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/multikueueclusters.rs b/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/multikueueclusters.rs new file mode 100644 index 000000000..877bb01ab --- /dev/null +++ b/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/multikueueclusters.rs @@ -0,0 +1,49 @@ +// WARNING: generated by kopium - manual changes will be overwritten +// kopium command: kopium --docs --filename=./crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/multikueueclusters.yaml --derive=Default --derive=PartialEq --smart-derive-elision +// kopium version: 0.21.1 + +#[allow(unused_imports)] +mod prelude { + pub use kube::CustomResource; + pub use serde::{Serialize, Deserialize}; + pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition; +} +use self::prelude::*; + +#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, PartialEq)] +#[kube(group = "kueue.x-k8s.io", version = "v1beta1", kind = "MultiKueueCluster", plural = "multikueueclusters")] +#[kube(status = "MultiKueueClusterStatus")] +#[kube(schema = "disabled")] +#[kube(derive="PartialEq")] +pub struct MultiKueueClusterSpec { + /// Information how to connect to the cluster. + #[serde(rename = "kubeConfig")] + pub kube_config: MultiKueueClusterKubeConfig, +} + +/// Information how to connect to the cluster. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct MultiKueueClusterKubeConfig { + /// Location of the KubeConfig. + /// + /// If LocationType is Secret then Location is the name of the secret inside the namespace in + /// which the kueue controller manager is running. The config should be stored in the "kubeconfig" key. + pub location: String, + /// Type of the KubeConfig location. + #[serde(rename = "locationType")] + pub location_type: MultiKueueClusterKubeConfigLocationType, +} + +/// Information how to connect to the cluster. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum MultiKueueClusterKubeConfigLocationType { + Secret, + Path, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct MultiKueueClusterStatus { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub conditions: Option>, +} + diff --git a/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/multikueueconfigs.rs b/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/multikueueconfigs.rs new file mode 100644 index 000000000..83afe3ac1 --- /dev/null +++ b/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/multikueueconfigs.rs @@ -0,0 +1,22 @@ +// WARNING: generated by kopium - manual changes will be overwritten +// kopium command: kopium --docs --filename=./crd-catalog/kubernetes-sigs/kueue/kueue.x-k8s.io/v1beta1/multikueueconfigs.yaml --derive=Default --derive=PartialEq --smart-derive-elision +// kopium version: 0.21.1 + +#[allow(unused_imports)] +mod prelude { + pub use kube::CustomResource; + pub use serde::{Serialize, Deserialize}; +} +use self::prelude::*; + +/// MultiKueueConfigSpec defines the desired state of MultiKueueConfig +#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +#[kube(group = "kueue.x-k8s.io", version = "v1beta1", kind = "MultiKueueConfig", plural = "multikueueconfigs")] +#[kube(schema = "disabled")] +#[kube(derive="Default")] +#[kube(derive="PartialEq")] +pub struct MultiKueueConfigSpec { + /// List of MultiKueueClusters names where the workloads from the ClusterQueue should be distributed. + pub clusters: Vec, +} + diff --git a/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/resourceflavors.rs b/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/resourceflavors.rs index 35c4ddad5..0db344102 100644 --- a/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/resourceflavors.rs +++ b/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/resourceflavors.rs @@ -49,6 +49,11 @@ pub struct ResourceFlavorSpec { /// tolerations can be up to 8 elements. #[serde(default, skip_serializing_if = "Option::is_none")] pub tolerations: Option>, + /// topologyName indicates topology for the TAS ResourceFlavor. + /// When specified, it enables scraping of the topology information from the + /// nodes matching to the Resource Flavor node labels. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "topologyName")] + pub topology_name: Option, } /// The node this Taint is attached to has the "effect" on diff --git a/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/workloads.rs b/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/workloads.rs index 90a2b1e49..c08062121 100644 --- a/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/workloads.rs +++ b/kube-custom-resources-rs/src/kueue_x_k8s_io/v1beta1/workloads.rs @@ -95,6 +95,9 @@ pub struct WorkloadPodSets { /// Workload are used to filter the ResourceFlavors that can be assigned to /// this podSet. pub template: WorkloadPodSetsTemplate, + /// topologyRequest defines the topology request for the PodSet. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "topologyRequest")] + pub topology_request: Option, } /// template is the Pod template. @@ -6878,6 +6881,21 @@ pub struct WorkloadPodSetsTemplateSpecVolumesVsphereVolume { pub volume_path: String, } +/// topologyRequest defines the topology request for the PodSet. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct WorkloadPodSetsTopologyRequest { + /// preferred indicates the topology level preferred by the PodSet, as + /// indicated by the `kueue.x-k8s.io/podset-preferred-topology` PodSet + /// annotation. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub preferred: Option, + /// required indicates the topology level required by the PodSet, as + /// indicated by the `kueue.x-k8s.io/podset-required-topology` PodSet + /// annotation. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub required: Option, +} + /// WorkloadSpec defines the desired state of Workload #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum WorkloadPriorityClassSource { @@ -6919,6 +6937,12 @@ pub struct WorkloadStatus { /// when a workload meets Eviction with PodsReadyTimeout reason. #[serde(default, skip_serializing_if = "Option::is_none", rename = "requeueState")] pub requeue_state: Option, + /// resourceRequests provides a detailed view of the resources that were + /// requested by a non-admitted workload when it was considered for admission. + /// If admission is non-null, resourceRequests will be empty because + /// admission.resourceUsage contains the detailed information. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceRequests")] + pub resource_requests: Option>, } /// admission holds the parameters of the admission of the workload by a @@ -6954,6 +6978,84 @@ pub struct WorkloadStatusAdmissionPodSetAssignments { /// This field will not change in case of quota reclaim. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceUsage")] pub resource_usage: Option>, + /// topologyAssignment indicates the topology assignment divided into + /// topology domains corresponding to the lowest level of the topology. + /// The assignment specifies the number of Pods to be scheduled per topology + /// domain and specifies the node selectors for each topology domain, in the + /// following way: the node selector keys are specified by the levels field + /// (same for all domains), and the corresponding node selector value is + /// specified by the domains.values subfield. + /// + /// Example: + /// + /// topologyAssignment: + /// levels: + /// - cloud.provider.com/topology-block + /// - cloud.provider.com/topology-rack + /// domains: + /// - values: [block-1, rack-1] + /// count: 4 + /// - values: [block-1, rack-2] + /// count: 2 + /// + /// Here: + /// - 4 Pods are to be scheduled on nodes matching the node selector: + /// cloud.provider.com/topology-block: block-1 + /// cloud.provider.com/topology-rack: rack-1 + /// - 2 Pods are to be scheduled on nodes matching the node selector: + /// cloud.provider.com/topology-block: block-1 + /// cloud.provider.com/topology-rack: rack-2 + #[serde(default, skip_serializing_if = "Option::is_none", rename = "topologyAssignment")] + pub topology_assignment: Option, +} + +/// topologyAssignment indicates the topology assignment divided into +/// topology domains corresponding to the lowest level of the topology. +/// The assignment specifies the number of Pods to be scheduled per topology +/// domain and specifies the node selectors for each topology domain, in the +/// following way: the node selector keys are specified by the levels field +/// (same for all domains), and the corresponding node selector value is +/// specified by the domains.values subfield. +/// +/// Example: +/// +/// topologyAssignment: +/// levels: +/// - cloud.provider.com/topology-block +/// - cloud.provider.com/topology-rack +/// domains: +/// - values: [block-1, rack-1] +/// count: 4 +/// - values: [block-1, rack-2] +/// count: 2 +/// +/// Here: +/// - 4 Pods are to be scheduled on nodes matching the node selector: +/// cloud.provider.com/topology-block: block-1 +/// cloud.provider.com/topology-rack: rack-1 +/// - 2 Pods are to be scheduled on nodes matching the node selector: +/// cloud.provider.com/topology-block: block-1 +/// cloud.provider.com/topology-rack: rack-2 +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct WorkloadStatusAdmissionPodSetAssignmentsTopologyAssignment { + /// domains is a list of topology assignments split by topology domains at + /// the lowest level of the topology. + pub domains: Vec, + /// levels is an ordered list of keys denoting the levels of the assigned + /// topology (i.e. node label keys), from the highest to the lowest level of + /// the topology. + pub levels: Vec, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct WorkloadStatusAdmissionPodSetAssignmentsTopologyAssignmentDomains { + /// count indicates the number of Pods to be scheduled in the topology + /// domain indicated by the values field. + pub count: i32, + /// values is an ordered list of node selector values describing a topology + /// domain. The values correspond to the consecutive topology levels, from + /// the highest to the lowest. + pub values: Vec, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] @@ -7053,3 +7155,16 @@ pub struct WorkloadStatusRequeueState { pub requeue_at: Option, } +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct WorkloadStatusResourceRequests { + /// name is the name of the podSet. It should match one of the names in .spec.podSets. + pub name: String, + /// resources is the total resources all the pods in the podset need to run. + /// + /// Beside what is provided in podSet's specs, this value also takes into account + /// the LimitRange defaults and RuntimeClass overheads at the moment of consideration + /// and the application of resource.excludeResourcePrefixes and resource.transformations. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub resources: Option>, +} + diff --git a/kube-custom-resources-rs/src/kyverno_io/v1/clusterpolicies.rs b/kube-custom-resources-rs/src/kyverno_io/v1/clusterpolicies.rs index 23ccbb6e1..6fdebf672 100644 --- a/kube-custom-resources-rs/src/kyverno_io/v1/clusterpolicies.rs +++ b/kube-custom-resources-rs/src/kyverno_io/v1/clusterpolicies.rs @@ -2153,6 +2153,9 @@ pub struct ClusterPolicyRulesMutateTargets { /// See: https://kyverno.io/docs/writing-policies/preconditions/ #[serde(default, skip_serializing_if = "Option::is_none")] pub preconditions: Option, + /// Selector allows you to select target resources with their labels. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub selector: Option, /// UID specifies the resource uid. #[serde(default, skip_serializing_if = "Option::is_none")] pub uid: Option, @@ -2337,6 +2340,36 @@ pub struct ClusterPolicyRulesMutateTargetsContextVariable { pub value: Option, } +/// Selector allows you to select target resources with their labels. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterPolicyRulesMutateTargetsSelector { + /// matchExpressions is a list of label selector requirements. The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] + pub match_labels: Option>, +} + +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterPolicyRulesMutateTargetsSelectorMatchExpressions { + /// key is the label key that the selector applies to. + pub key: String, + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. + pub operator: String, + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Validation is used to validate matching resources. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterPolicyRulesValidate { @@ -6403,6 +6436,9 @@ pub struct ClusterPolicyStatusAutogenRulesMutateTargets { /// See: https://kyverno.io/docs/writing-policies/preconditions/ #[serde(default, skip_serializing_if = "Option::is_none")] pub preconditions: Option, + /// Selector allows you to select target resources with their labels. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub selector: Option, /// UID specifies the resource uid. #[serde(default, skip_serializing_if = "Option::is_none")] pub uid: Option, @@ -6587,6 +6623,36 @@ pub struct ClusterPolicyStatusAutogenRulesMutateTargetsContextVariable { pub value: Option, } +/// Selector allows you to select target resources with their labels. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterPolicyStatusAutogenRulesMutateTargetsSelector { + /// matchExpressions is a list of label selector requirements. The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] + pub match_labels: Option>, +} + +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterPolicyStatusAutogenRulesMutateTargetsSelectorMatchExpressions { + /// key is the label key that the selector applies to. + pub key: String, + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. + pub operator: String, + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Validation is used to validate matching resources. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterPolicyStatusAutogenRulesValidate { diff --git a/kube-custom-resources-rs/src/kyverno_io/v1/policies.rs b/kube-custom-resources-rs/src/kyverno_io/v1/policies.rs index 8eff64f28..7ddfb1098 100644 --- a/kube-custom-resources-rs/src/kyverno_io/v1/policies.rs +++ b/kube-custom-resources-rs/src/kyverno_io/v1/policies.rs @@ -2154,6 +2154,9 @@ pub struct PolicyRulesMutateTargets { /// See: https://kyverno.io/docs/writing-policies/preconditions/ #[serde(default, skip_serializing_if = "Option::is_none")] pub preconditions: Option, + /// Selector allows you to select target resources with their labels. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub selector: Option, /// UID specifies the resource uid. #[serde(default, skip_serializing_if = "Option::is_none")] pub uid: Option, @@ -2338,6 +2341,36 @@ pub struct PolicyRulesMutateTargetsContextVariable { pub value: Option, } +/// Selector allows you to select target resources with their labels. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct PolicyRulesMutateTargetsSelector { + /// matchExpressions is a list of label selector requirements. The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] + pub match_labels: Option>, +} + +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct PolicyRulesMutateTargetsSelectorMatchExpressions { + /// key is the label key that the selector applies to. + pub key: String, + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. + pub operator: String, + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Validation is used to validate matching resources. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct PolicyRulesValidate { @@ -6404,6 +6437,9 @@ pub struct PolicyStatusAutogenRulesMutateTargets { /// See: https://kyverno.io/docs/writing-policies/preconditions/ #[serde(default, skip_serializing_if = "Option::is_none")] pub preconditions: Option, + /// Selector allows you to select target resources with their labels. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub selector: Option, /// UID specifies the resource uid. #[serde(default, skip_serializing_if = "Option::is_none")] pub uid: Option, @@ -6588,6 +6624,36 @@ pub struct PolicyStatusAutogenRulesMutateTargetsContextVariable { pub value: Option, } +/// Selector allows you to select target resources with their labels. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct PolicyStatusAutogenRulesMutateTargetsSelector { + /// matchExpressions is a list of label selector requirements. The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] + pub match_labels: Option>, +} + +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct PolicyStatusAutogenRulesMutateTargetsSelectorMatchExpressions { + /// key is the label key that the selector applies to. + pub key: String, + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. + pub operator: String, + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Validation is used to validate matching resources. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct PolicyStatusAutogenRulesValidate { diff --git a/kube-custom-resources-rs/src/kyverno_io/v2beta1/clusterpolicies.rs b/kube-custom-resources-rs/src/kyverno_io/v2beta1/clusterpolicies.rs index 1639c458c..b1f42a9e6 100644 --- a/kube-custom-resources-rs/src/kyverno_io/v2beta1/clusterpolicies.rs +++ b/kube-custom-resources-rs/src/kyverno_io/v2beta1/clusterpolicies.rs @@ -1850,6 +1850,9 @@ pub struct ClusterPolicyRulesMutateTargets { /// See: https://kyverno.io/docs/writing-policies/preconditions/ #[serde(default, skip_serializing_if = "Option::is_none")] pub preconditions: Option, + /// Selector allows you to select target resources with their labels. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub selector: Option, /// UID specifies the resource uid. #[serde(default, skip_serializing_if = "Option::is_none")] pub uid: Option, @@ -2034,6 +2037,36 @@ pub struct ClusterPolicyRulesMutateTargetsContextVariable { pub value: Option, } +/// Selector allows you to select target resources with their labels. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterPolicyRulesMutateTargetsSelector { + /// matchExpressions is a list of label selector requirements. The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] + pub match_labels: Option>, +} + +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterPolicyRulesMutateTargetsSelectorMatchExpressions { + /// key is the label key that the selector applies to. + pub key: String, + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. + pub operator: String, + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Preconditions are used to determine if a policy rule should be applied by evaluating a /// set of conditions. The declaration can contain nested `any` or `all` statements. /// See: https://kyverno.io/docs/writing-policies/preconditions/ @@ -6259,6 +6292,9 @@ pub struct ClusterPolicyStatusAutogenRulesMutateTargets { /// See: https://kyverno.io/docs/writing-policies/preconditions/ #[serde(default, skip_serializing_if = "Option::is_none")] pub preconditions: Option, + /// Selector allows you to select target resources with their labels. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub selector: Option, /// UID specifies the resource uid. #[serde(default, skip_serializing_if = "Option::is_none")] pub uid: Option, @@ -6443,6 +6479,36 @@ pub struct ClusterPolicyStatusAutogenRulesMutateTargetsContextVariable { pub value: Option, } +/// Selector allows you to select target resources with their labels. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterPolicyStatusAutogenRulesMutateTargetsSelector { + /// matchExpressions is a list of label selector requirements. The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] + pub match_labels: Option>, +} + +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct ClusterPolicyStatusAutogenRulesMutateTargetsSelectorMatchExpressions { + /// key is the label key that the selector applies to. + pub key: String, + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. + pub operator: String, + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Validation is used to validate matching resources. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterPolicyStatusAutogenRulesValidate { diff --git a/kube-custom-resources-rs/src/kyverno_io/v2beta1/policies.rs b/kube-custom-resources-rs/src/kyverno_io/v2beta1/policies.rs index f1b86fe32..2c2b1e84f 100644 --- a/kube-custom-resources-rs/src/kyverno_io/v2beta1/policies.rs +++ b/kube-custom-resources-rs/src/kyverno_io/v2beta1/policies.rs @@ -1851,6 +1851,9 @@ pub struct PolicyRulesMutateTargets { /// See: https://kyverno.io/docs/writing-policies/preconditions/ #[serde(default, skip_serializing_if = "Option::is_none")] pub preconditions: Option, + /// Selector allows you to select target resources with their labels. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub selector: Option, /// UID specifies the resource uid. #[serde(default, skip_serializing_if = "Option::is_none")] pub uid: Option, @@ -2035,6 +2038,36 @@ pub struct PolicyRulesMutateTargetsContextVariable { pub value: Option, } +/// Selector allows you to select target resources with their labels. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct PolicyRulesMutateTargetsSelector { + /// matchExpressions is a list of label selector requirements. The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] + pub match_labels: Option>, +} + +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct PolicyRulesMutateTargetsSelectorMatchExpressions { + /// key is the label key that the selector applies to. + pub key: String, + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. + pub operator: String, + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Preconditions are used to determine if a policy rule should be applied by evaluating a /// set of conditions. The declaration can contain nested `any` or `all` statements. /// See: https://kyverno.io/docs/writing-policies/preconditions/ @@ -6260,6 +6293,9 @@ pub struct PolicyStatusAutogenRulesMutateTargets { /// See: https://kyverno.io/docs/writing-policies/preconditions/ #[serde(default, skip_serializing_if = "Option::is_none")] pub preconditions: Option, + /// Selector allows you to select target resources with their labels. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub selector: Option, /// UID specifies the resource uid. #[serde(default, skip_serializing_if = "Option::is_none")] pub uid: Option, @@ -6444,6 +6480,36 @@ pub struct PolicyStatusAutogenRulesMutateTargetsContextVariable { pub value: Option, } +/// Selector allows you to select target resources with their labels. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct PolicyStatusAutogenRulesMutateTargetsSelector { + /// matchExpressions is a list of label selector requirements. The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] + pub match_expressions: Option>, + /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + /// map is equivalent to an element of matchExpressions, whose key field is "key", the + /// operator is "In", and the values array contains only "value". The requirements are ANDed. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] + pub match_labels: Option>, +} + +/// A label selector requirement is a selector that contains values, a key, and an operator that +/// relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct PolicyStatusAutogenRulesMutateTargetsSelectorMatchExpressions { + /// key is the label key that the selector applies to. + pub key: String, + /// operator represents a key's relationship to a set of values. + /// Valid operators are In, NotIn, Exists and DoesNotExist. + pub operator: String, + /// values is an array of string values. If the operator is In or NotIn, + /// the values array must be non-empty. If the operator is Exists or DoesNotExist, + /// the values array must be empty. This array is replaced during a strategic + /// merge patch. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub values: Option>, +} + /// Validation is used to validate matching resources. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct PolicyStatusAutogenRulesValidate { diff --git a/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/codesigningconfigs.rs b/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/codesigningconfigs.rs index 488ed2fb0..4d07a523e 100644 --- a/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/codesigningconfigs.rs +++ b/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/codesigningconfigs.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// CodeSigningConfigSpec defines the desired state of CodeSigningConfig. /// -/// /// Details about a Code signing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html). #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "lambda.services.k8s.aws", version = "v1alpha1", kind = "CodeSigningConfig", plural = "codesigningconfigs")] @@ -83,7 +82,6 @@ pub struct CodeSigningConfigStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/eventsourcemappings.rs b/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/eventsourcemappings.rs index 7d3a379d6..eac3ffd3a 100644 --- a/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/eventsourcemappings.rs +++ b/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/eventsourcemappings.rs @@ -29,23 +29,17 @@ pub struct EventSourceMappingSpec { /// the batch to the function in a single call, up to the payload limit for synchronous /// invocation (6 MB). /// - /// /// * Amazon Kinesis – Default 100. Max 10,000. /// - /// /// * Amazon DynamoDB Streams – Default 100. Max 10,000. /// - /// /// * Amazon Simple Queue Service – Default 10. For standard queues the /// max is 10,000. For FIFO queues the max is 10. /// - /// /// * Amazon Managed Streaming for Apache Kafka – Default 100. Max 10,000. /// - /// /// * Self-managed Apache Kafka – Default 100. Max 10,000. /// - /// /// * Amazon MQ (ActiveMQ and RabbitMQ) – Default 100. Max 10,000. #[serde(default, skip_serializing_if = "Option::is_none", rename = "batchSize")] pub batch_size: Option, @@ -60,25 +54,19 @@ pub struct EventSourceMappingSpec { /// When true, the event source mapping is active. When false, Lambda pauses /// polling and invocation. /// - /// /// Default: True #[serde(default, skip_serializing_if = "Option::is_none")] pub enabled: Option, /// The Amazon Resource Name (ARN) of the event source. /// - /// /// * Amazon Kinesis – The ARN of the data stream or a stream consumer. /// - /// /// * Amazon DynamoDB Streams – The ARN of the stream. /// - /// /// * Amazon Simple Queue Service – The ARN of the queue. /// - /// /// * Amazon Managed Streaming for Apache Kafka – The ARN of the cluster. /// - /// /// * Amazon MQ – The ARN of the broker. #[serde(default, skip_serializing_if = "Option::is_none", rename = "eventSourceARN")] pub event_source_arn: Option, @@ -87,7 +75,6 @@ pub struct EventSourceMappingSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "eventSourceRef")] @@ -99,22 +86,16 @@ pub struct EventSourceMappingSpec { pub filter_criteria: Option, /// The name of the Lambda function. /// - /// /// Name formats /// - /// /// * Function name – MyFunction. /// - /// /// * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction. /// - /// /// * Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD. /// - /// /// * Partial ARN – 123456789012:function:MyFunction. /// - /// /// The length constraint applies only to the full ARN. If you specify only the /// function name, it's limited to 64 characters in length. #[serde(default, skip_serializing_if = "Option::is_none", rename = "functionName")] @@ -124,7 +105,6 @@ pub struct EventSourceMappingSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "functionRef")] @@ -137,7 +117,6 @@ pub struct EventSourceMappingSpec { /// before invoking the function. You can configure MaximumBatchingWindowInSeconds /// to any value from 0 seconds to 300 seconds in increments of seconds. /// - /// /// For streams and Amazon SQS event sources, the default batching window is /// 0 seconds. For Amazon MSK, Self-managed Apache Kafka, and Amazon MQ event /// sources, the default batching window is 500 ms. Note that because you can @@ -146,7 +125,6 @@ pub struct EventSourceMappingSpec { /// it. To restore the default batching window, you must create a new event source /// mapping. /// - /// /// Related setting: For streams and Amazon SQS event sources, when you set BatchSize /// to a value greater than 10, you must set MaximumBatchingWindowInSeconds to /// at least 1. @@ -240,7 +218,6 @@ pub struct EventSourceMappingDestinationConfigOnSuccess { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -283,7 +260,6 @@ pub struct EventSourceMappingFilterCriteriaFilters { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -309,7 +285,6 @@ pub struct EventSourceMappingFunctionRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -411,7 +386,6 @@ pub struct EventSourceMappingStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/functions.rs b/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/functions.rs index ef1c1c759..74298f159 100644 --- a/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/functions.rs +++ b/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/functions.rs @@ -52,22 +52,18 @@ pub struct FunctionSpec { pub file_system_configs: Option>, /// Configures options for asynchronous invocation on a function. /// - /// /// - DestinationConfig /// A destination for events after they have been sent to a function for processing. /// - /// /// Types of Destinations: /// Function - The Amazon Resource Name (ARN) of a Lambda function. /// Queue - The ARN of a standard SQS queue. /// Topic - The ARN of a standard SNS topic. /// Event Bus - The ARN of an Amazon EventBridge event bus. /// - /// /// - MaximumEventAgeInSeconds /// The maximum age of a request that Lambda sends to a function for processing. /// - /// /// - MaximumRetryAttempts /// The maximum number of times to retry when the function returns an error. #[serde(default, skip_serializing_if = "Option::is_none", rename = "functionEventInvokeConfig")] @@ -93,7 +89,6 @@ pub struct FunctionSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsKeyRef")] @@ -110,19 +105,14 @@ pub struct FunctionSpec { pub memory_size: Option, /// The name of the Lambda function. /// - /// /// Name formats /// - /// /// * Function name – my-function. /// - /// /// * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function. /// - /// /// * Partial ARN – 123456789012:function:my-function. /// - /// /// The length constraint applies only to the full ARN. If you specify only the /// function name, it is limited to 64 characters in length. pub name: String, @@ -144,7 +134,6 @@ pub struct FunctionSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "roleRef")] @@ -254,22 +243,18 @@ pub struct FunctionFileSystemConfigs { /// Configures options for asynchronous invocation on a function. /// -/// /// - DestinationConfig /// A destination for events after they have been sent to a function for processing. /// -/// /// Types of Destinations: /// Function - The Amazon Resource Name (ARN) of a Lambda function. /// Queue - The ARN of a standard SQS queue. /// Topic - The ARN of a standard SNS topic. /// Event Bus - The ARN of an Amazon EventBridge event bus. /// -/// /// - MaximumEventAgeInSeconds /// The maximum age of a request that Lambda sends to a function for processing. /// -/// /// - MaximumRetryAttempts /// The maximum number of times to retry when the function returns an error. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -331,7 +316,6 @@ pub struct FunctionImageConfig { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -357,7 +341,6 @@ pub struct FunctionKmsKeyRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -418,7 +401,6 @@ pub struct FunctionVpcConfig { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -444,7 +426,6 @@ pub struct FunctionVpcConfigSecurityGroupRefsFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -544,7 +525,6 @@ pub struct FunctionStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/functionurlconfigs.rs b/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/functionurlconfigs.rs index 232a3dd84..1f8d2e874 100644 --- a/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/functionurlconfigs.rs +++ b/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/functionurlconfigs.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// FunctionUrlConfigSpec defines the desired state of FunctionUrlConfig. /// -/// /// Details about a Lambda function URL. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "lambda.services.k8s.aws", version = "v1alpha1", kind = "FunctionURLConfig", plural = "functionurlconfigs")] @@ -34,19 +33,14 @@ pub struct FunctionURLConfigSpec { pub cors: Option, /// The name of the Lambda function. /// - /// /// Name formats /// - /// /// * Function name – my-function. /// - /// /// * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function. /// - /// /// * Partial ARN – 123456789012:function:my-function. /// - /// /// The length constraint applies only to the full ARN. If you specify only the /// function name, it is limited to 64 characters in length. #[serde(default, skip_serializing_if = "Option::is_none", rename = "functionName")] @@ -56,7 +50,6 @@ pub struct FunctionURLConfigSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "functionRef")] @@ -89,7 +82,6 @@ pub struct FunctionURLConfigCors { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -147,7 +139,6 @@ pub struct FunctionURLConfigStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/layerversions.rs b/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/layerversions.rs index 3e4f3b86c..f074fa942 100644 --- a/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/layerversions.rs +++ b/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/layerversions.rs @@ -36,14 +36,11 @@ pub struct LayerVersionSpec { pub layer_name: String, /// The layer's software license. It can be any of the following: /// - /// /// * An SPDX license identifier (https://spdx.org/licenses/). For example, /// MIT. /// - /// /// * The URL of a license hosted on the internet. For example, https://opensource.org/licenses/MIT. /// - /// /// * The full text of the license. #[serde(default, skip_serializing_if = "Option::is_none", rename = "licenseInfo")] pub license_info: Option, @@ -99,7 +96,6 @@ pub struct LayerVersionStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/versions.rs b/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/versions.rs index b59ffc638..e7f5c2950 100644 --- a/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/versions.rs +++ b/kube-custom-resources-rs/src/lambda_services_k8s_aws/v1alpha1/versions.rs @@ -33,19 +33,14 @@ pub struct VersionSpec { pub function_event_invoke_config: Option, /// The name of the Lambda function. /// - /// /// Name formats /// - /// /// * Function name - MyFunction. /// - /// /// * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. /// - /// /// * Partial ARN - 123456789012:function:MyFunction. /// - /// /// The length constraint applies only to the full ARN. If you specify only the /// function name, it is limited to 64 characters in length. #[serde(default, skip_serializing_if = "Option::is_none", rename = "functionName")] @@ -55,7 +50,6 @@ pub struct VersionSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "functionRef")] @@ -116,7 +110,6 @@ pub struct VersionFunctionEventInvokeConfigDestinationConfigOnSuccess { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -280,7 +273,6 @@ pub struct VersionStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/lib.rs b/kube-custom-resources-rs/src/lib.rs index 7bd5524e5..5ff673e2a 100644 --- a/kube-custom-resources-rs/src/lib.rs +++ b/kube-custom-resources-rs/src/lib.rs @@ -1847,6 +1847,8 @@ apiVersion `kueue.x-k8s.io/v1beta1`: - `AdmissionCheck` - `ClusterQueue` - `LocalQueue` +- `MultiKueueCluster` +- `MultiKueueConfig` - `ProvisioningRequestConfig` - `ResourceFlavor` - `WorkloadPriorityClass` diff --git a/kube-custom-resources-rs/src/listeners_stackable_tech/v1alpha1/listenerclasses.rs b/kube-custom-resources-rs/src/listeners_stackable_tech/v1alpha1/listenerclasses.rs index 2c8865e62..17d75903b 100644 --- a/kube-custom-resources-rs/src/listeners_stackable_tech/v1alpha1/listenerclasses.rs +++ b/kube-custom-resources-rs/src/listeners_stackable_tech/v1alpha1/listenerclasses.rs @@ -16,6 +16,11 @@ use self::prelude::*; #[kube(schema = "disabled")] #[kube(derive="PartialEq")] pub struct ListenerClassSpec { + /// Whether addresses should prefer using the IP address (`IP`) or the hostname (`Hostname`). + /// + /// The other type will be used if the preferred type is not available. By default `Hostname` is used. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredAddressType")] + pub preferred_address_type: Option, /// Annotations that should be added to the Service object. #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAnnotations")] pub service_annotations: Option>, @@ -29,6 +34,14 @@ pub struct ListenerClassSpec { pub service_type: ListenerClassServiceType, } +/// Defines a policy for how [Listeners](https://docs.stackable.tech/home/nightly/listener-operator/listener) should be exposed. Read the [ListenerClass documentation](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass) for more information. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum ListenerClassPreferredAddressType { + Hostname, + #[serde(rename = "IP")] + Ip, +} + /// Defines a policy for how [Listeners](https://docs.stackable.tech/home/nightly/listener-operator/listener) should be exposed. Read the [ListenerClass documentation](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass) for more information. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum ListenerClassServiceExternalTrafficPolicy { diff --git a/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/syslogngclusteroutputs.rs b/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/syslogngclusteroutputs.rs index daf64fe80..966968917 100644 --- a/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/syslogngclusteroutputs.rs +++ b/kube-custom-resources-rs/src/logging_banzaicloud_io/v1beta1/syslogngclusteroutputs.rs @@ -45,6 +45,8 @@ pub struct SyslogNGClusterOutputSpec { #[serde(default, skip_serializing_if = "Option::is_none")] pub opentelemetry: Option, #[serde(default, skip_serializing_if = "Option::is_none")] + pub protected: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] pub redis: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub s3: Option, diff --git a/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/acls.rs b/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/acls.rs index c500fbe0a..c3cc831dd 100644 --- a/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/acls.rs +++ b/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/acls.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// ACLSpec defines the desired state of ACL. /// -/// /// An Access Control List. You can authenticate users with Access Contol Lists. /// ACLs enable you to control cluster access by grouping users. These Access /// control lists are designed as a way to organize access to clusters. @@ -55,7 +54,6 @@ pub struct ACLTags { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -119,7 +117,6 @@ pub struct ACLStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/clusters.rs b/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/clusters.rs index 79bfa5997..a8075bcdd 100644 --- a/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/clusters.rs +++ b/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/clusters.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// ClusterSpec defines the desired state of Cluster. /// -/// /// Contains all of the attributes of a specific cluster. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "memorydb.services.k8s.aws", version = "v1alpha1", kind = "Cluster", plural = "clusters")] @@ -30,7 +29,6 @@ pub struct ClusterSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "aclRef")] @@ -74,7 +72,6 @@ pub struct ClusterSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "parameterGroupRef")] @@ -101,7 +98,6 @@ pub struct ClusterSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "snapshotRef")] @@ -114,10 +110,8 @@ pub struct ClusterSpec { /// The daily time range (in UTC) during which MemoryDB begins taking a daily /// snapshot of your shard. /// - /// /// Example: 05:00-09:00 /// - /// /// If you do not specify this parameter, MemoryDB automatically chooses an appropriate /// time range. #[serde(default, skip_serializing_if = "Option::is_none", rename = "snapshotWindow")] @@ -131,7 +125,6 @@ pub struct ClusterSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "snsTopicRef")] @@ -144,7 +137,6 @@ pub struct ClusterSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "subnetGroupRef")] @@ -164,7 +156,6 @@ pub struct ClusterSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -190,7 +181,6 @@ pub struct ClusterAclRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -216,7 +206,6 @@ pub struct ClusterParameterGroupRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -242,7 +231,6 @@ pub struct ClusterSecurityGroupRefsFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -268,7 +256,6 @@ pub struct ClusterSnapshotRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -294,7 +281,6 @@ pub struct ClusterSnsTopicRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -396,7 +382,6 @@ pub struct ClusterStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/parametergroups.rs b/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/parametergroups.rs index 8c53fccab..07acac23a 100644 --- a/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/parametergroups.rs +++ b/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/parametergroups.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// ParameterGroupSpec defines the desired state of ParameterGroup. /// -/// /// Represents the output of a CreateParameterGroup operation. A parameter group /// represents a combination of specific values for the parameters that are passed /// to the engine software during startup. @@ -96,7 +95,6 @@ pub struct ParameterGroupStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/snapshots.rs b/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/snapshots.rs index 7d0e87e59..a1b01e65e 100644 --- a/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/snapshots.rs +++ b/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/snapshots.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// SnapshotSpec defines the desired state of Snapshot. /// -/// /// Represents a copy of an entire cluster as of the time when the snapshot was /// taken. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -31,7 +30,6 @@ pub struct SnapshotSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterRef")] @@ -44,7 +42,6 @@ pub struct SnapshotSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsKeyRef")] @@ -65,7 +62,6 @@ pub struct SnapshotSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -91,7 +87,6 @@ pub struct SnapshotClusterRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -163,7 +158,6 @@ pub struct SnapshotStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/subnetgroups.rs b/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/subnetgroups.rs index dd7adb136..2eb6cd860 100644 --- a/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/subnetgroups.rs +++ b/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/subnetgroups.rs @@ -12,16 +12,12 @@ use self::prelude::*; /// SubnetGroupSpec defines the desired state of SubnetGroup. /// -/// /// Represents the output of one of the following operations: /// -/// /// * CreateSubnetGroup /// -/// /// * UpdateSubnetGroup /// -/// /// A subnet group is a collection of subnets (typically private) that you can /// designate for your clusters running in an Amazon Virtual Private Cloud (VPC) /// environment. @@ -54,7 +50,6 @@ pub struct SubnetGroupSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -121,7 +116,6 @@ pub struct SubnetGroupStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/users.rs b/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/users.rs index cd2019b18..ac7315e06 100644 --- a/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/users.rs +++ b/kube-custom-resources-rs/src/memorydb_services_k8s_aws/v1alpha1/users.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// UserSpec defines the desired state of User. /// -/// /// You create users and assign them specific permissions by using an access /// string. You assign the users to Access Control Lists aligned with a specific /// role (administrators, human resources) that are then deployed to one or more @@ -121,7 +120,6 @@ pub struct UserStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/minio_min_io/v2/tenants.rs b/kube-custom-resources-rs/src/minio_min_io/v2/tenants.rs index 03459f467..72e2d0f05 100644 --- a/kube-custom-resources-rs/src/minio_min_io/v2/tenants.rs +++ b/kube-custom-resources-rs/src/minio_min_io/v2/tenants.rs @@ -72,6 +72,8 @@ pub struct TenantSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "podManagementPolicy")] pub pod_management_policy: Option, pub pools: Vec, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "poolsMetadata")] + pub pools_metadata: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "priorityClassName")] pub priority_class_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "prometheusOperator")] @@ -2995,6 +2997,14 @@ pub struct TenantPoolsVolumeClaimTemplateStatusModifyVolumeStatus { pub target_volume_attributes_class_name: Option, } +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct TenantPoolsMetadata { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub annotations: Option>, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub labels: Option>, +} + #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TenantReadiness { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -3064,6 +3074,10 @@ pub struct TenantServiceMetadata { pub console_service_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "consoleServiceLabels")] pub console_service_labels: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "kesServiceAnnotations")] + pub kes_service_annotations: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "kesServiceLabels")] + pub kes_service_labels: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "minioServiceAnnotations")] pub minio_service_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "minioServiceLabels")] diff --git a/kube-custom-resources-rs/src/monitoring_coreos_com/v1/prometheuses.rs b/kube-custom-resources-rs/src/monitoring_coreos_com/v1/prometheuses.rs index c46d6c7a3..b51bc476a 100644 --- a/kube-custom-resources-rs/src/monitoring_coreos_com/v1/prometheuses.rs +++ b/kube-custom-resources-rs/src/monitoring_coreos_com/v1/prometheuses.rs @@ -342,7 +342,8 @@ pub struct PrometheusSpec { /// it (https://kubernetes.io/docs/concepts/configuration/overview/). /// /// When hostNetwork is enabled, this will set the DNS policy to - /// `ClusterFirstWithHostNet` automatically. + /// `ClusterFirstWithHostNet` automatically (unless `.spec.DNSPolicy` is set + /// to a different value). #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostNetwork")] pub host_network: Option, /// When true, `spec.namespaceSelector` from all PodMonitor, ServiceMonitor @@ -444,7 +445,7 @@ pub struct PrometheusSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, /// Settings related to the OTLP receiver feature. - /// It requires Prometheus >= v2.54.0. + /// It requires Prometheus >= v2.55.0. #[serde(default, skip_serializing_if = "Option::is_none")] pub otlp: Option, /// When true, Prometheus resolves label conflicts by renaming the labels in the scraped data @@ -5074,7 +5075,7 @@ pub enum PrometheusLogLevel { } /// Settings related to the OTLP receiver feature. -/// It requires Prometheus >= v2.54.0. +/// It requires Prometheus >= v2.55.0. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct PrometheusOtlp { /// List of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none. diff --git a/kube-custom-resources-rs/src/monitoring_coreos_com/v1alpha1/prometheusagents.rs b/kube-custom-resources-rs/src/monitoring_coreos_com/v1alpha1/prometheusagents.rs index 267fdc550..e8d9f8e33 100644 --- a/kube-custom-resources-rs/src/monitoring_coreos_com/v1alpha1/prometheusagents.rs +++ b/kube-custom-resources-rs/src/monitoring_coreos_com/v1alpha1/prometheusagents.rs @@ -276,7 +276,8 @@ pub struct PrometheusAgentSpec { /// it (https://kubernetes.io/docs/concepts/configuration/overview/). /// /// When hostNetwork is enabled, this will set the DNS policy to - /// `ClusterFirstWithHostNet` automatically. + /// `ClusterFirstWithHostNet` automatically (unless `.spec.DNSPolicy` is set + /// to a different value). #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostNetwork")] pub host_network: Option, /// When true, `spec.namespaceSelector` from all PodMonitor, ServiceMonitor @@ -384,7 +385,7 @@ pub struct PrometheusAgentSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")] pub node_selector: Option>, /// Settings related to the OTLP receiver feature. - /// It requires Prometheus >= v2.54.0. + /// It requires Prometheus >= v2.55.0. #[serde(default, skip_serializing_if = "Option::is_none")] pub otlp: Option, /// When true, Prometheus resolves label conflicts by renaming the labels in the scraped data @@ -4309,7 +4310,7 @@ pub enum PrometheusAgentMode { } /// Settings related to the OTLP receiver feature. -/// It requires Prometheus >= v2.54.0. +/// It requires Prometheus >= v2.55.0. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct PrometheusAgentOtlp { /// List of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none. diff --git a/kube-custom-resources-rs/src/monitoring_coreos_com/v1alpha1/scrapeconfigs.rs b/kube-custom-resources-rs/src/monitoring_coreos_com/v1alpha1/scrapeconfigs.rs index d0bb194c6..705e8a77b 100644 --- a/kube-custom-resources-rs/src/monitoring_coreos_com/v1alpha1/scrapeconfigs.rs +++ b/kube-custom-resources-rs/src/monitoring_coreos_com/v1alpha1/scrapeconfigs.rs @@ -10273,8 +10273,7 @@ pub struct ScrapeConfigStaticConfigs { #[serde(default, skip_serializing_if = "Option::is_none")] pub labels: Option>, /// List of targets for this static configuration. - #[serde(default, skip_serializing_if = "Option::is_none")] - pub targets: Option>, + pub targets: Vec, } /// TLS configuration to use on every scrape request diff --git a/kube-custom-resources-rs/src/mq_services_k8s_aws/v1alpha1/brokers.rs b/kube-custom-resources-rs/src/mq_services_k8s_aws/v1alpha1/brokers.rs index 4a443b18e..8f506ed39 100644 --- a/kube-custom-resources-rs/src/mq_services_k8s_aws/v1alpha1/brokers.rs +++ b/kube-custom-resources-rs/src/mq_services_k8s_aws/v1alpha1/brokers.rs @@ -26,7 +26,6 @@ pub struct BrokerSpec { pub auto_minor_version_upgrade: bool, /// A list of information about the configuration. /// - /// /// Does not apply to RabbitMQ brokers. #[serde(default, skip_serializing_if = "Option::is_none")] pub configuration: Option, @@ -36,7 +35,6 @@ pub struct BrokerSpec { pub deployment_mode: String, /// Does not apply to RabbitMQ brokers. /// - /// /// Encryption options for the broker. #[serde(default, skip_serializing_if = "Option::is_none", rename = "encryptionOptions")] pub encryption_options: Option, @@ -49,7 +47,6 @@ pub struct BrokerSpec { /// Optional. The metadata of the LDAP server used to authenticate and authorize /// connections to the broker. /// - /// /// Does not apply to RabbitMQ brokers. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ldapServerMetadata")] pub ldap_server_metadata: Option, @@ -80,7 +77,6 @@ pub struct BrokerSpec { /// A list of information about the configuration. /// -/// /// Does not apply to RabbitMQ brokers. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BrokerConfiguration { @@ -92,7 +88,6 @@ pub struct BrokerConfiguration { /// Does not apply to RabbitMQ brokers. /// -/// /// Encryption options for the broker. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BrokerEncryptionOptions { @@ -105,7 +100,6 @@ pub struct BrokerEncryptionOptions { /// Optional. The metadata of the LDAP server used to authenticate and authorize /// connections to the broker. /// -/// /// Does not apply to RabbitMQ brokers. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BrokerLdapServerMetadata { @@ -159,7 +153,6 @@ pub struct BrokerMaintenanceWindowStartTime { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -185,7 +178,6 @@ pub struct BrokerSecurityGroupRefsFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -271,7 +263,6 @@ pub struct BrokerStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/networkfirewall_services_k8s_aws/v1alpha1/firewallpolicies.rs b/kube-custom-resources-rs/src/networkfirewall_services_k8s_aws/v1alpha1/firewallpolicies.rs index 2ca4e1603..47426ec30 100644 --- a/kube-custom-resources-rs/src/networkfirewall_services_k8s_aws/v1alpha1/firewallpolicies.rs +++ b/kube-custom-resources-rs/src/networkfirewall_services_k8s_aws/v1alpha1/firewallpolicies.rs @@ -13,12 +13,10 @@ use self::prelude::*; /// FirewallPolicySpec defines the desired state of FirewallPolicy. /// -/// /// The firewall policy defines the behavior of a firewall using a collection /// of stateless and stateful rule groups and other settings. You can use one /// firewall policy for multiple firewalls. /// -/// /// This, along with FirewallPolicyResponse, define the policy. You can retrieve /// all objects for a firewall policy by calling DescribeFirewallPolicy. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -134,20 +132,16 @@ pub struct FirewallPolicyFirewallPolicyStatefulRuleGroupReferencesOverride { /// An optional, non-standard action to use for stateless packet handling. You /// can define this in addition to the standard action that you must specify. /// -/// /// You define and name the custom actions that you want to be able to use, and /// then you reference them by name in your actions settings. /// -/// /// You can use custom actions in the following places: /// -/// /// * In a rule group's StatelessRulesAndCustomActions specification. The /// custom actions are available for use by name inside the StatelessRulesAndCustomActions /// where you define them. You can use them for your stateless rule actions /// to specify what to do with a packet that matches the rule's match attributes. /// -/// /// * In a FirewallPolicy specification, in StatelessCustomActions. The custom /// actions are available for use inside the policy where you define them. /// You can use them for the policy's default stateless actions settings to @@ -187,11 +181,9 @@ pub struct FirewallPolicyFirewallPolicyStatelessCustomActionsActionDefinitionPub /// used in the PublishMetrics CustomAction. A CloudWatch custom metric dimension /// is a name/value pair that's part of the identity of a metric. /// -/// /// Network Firewall sets the dimension name to CustomAction and you provide /// the dimension value. /// -/// /// For more information about CloudWatch custom metric dimensions, see Publishing /// Custom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#usingDimensions) /// in the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html). @@ -247,7 +239,6 @@ pub struct FirewallPolicyStatus { /// your requests that access the firewall policy. The token marks the state /// of the policy resource at the time of the request. /// - /// /// To make changes to the policy, you provide the token in your request. Network /// Firewall uses the token to ensure that the policy hasn't changed since you /// last retrieved it. If it has changed, the operation fails with an InvalidTokenException. @@ -269,7 +260,6 @@ pub struct FirewallPolicyStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/networkfirewall_services_k8s_aws/v1alpha1/firewalls.rs b/kube-custom-resources-rs/src/networkfirewall_services_k8s_aws/v1alpha1/firewalls.rs index 948c1f03e..7c263896b 100644 --- a/kube-custom-resources-rs/src/networkfirewall_services_k8s_aws/v1alpha1/firewalls.rs +++ b/kube-custom-resources-rs/src/networkfirewall_services_k8s_aws/v1alpha1/firewalls.rs @@ -13,13 +13,11 @@ use self::prelude::*; /// FirewallSpec defines the desired state of Firewall. /// -/// /// The firewall defines the configuration settings for an Network Firewall firewall. /// These settings include the firewall policy, the subnets in your VPC to use /// for the firewall endpoints, and any tags that are attached to the firewall /// Amazon Web Services resource. /// -/// /// The status of the firewall, for example whether it's ready to filter network /// traffic, is provided in the corresponding FirewallStatus. You can retrieve /// both objects by calling DescribeFirewall. @@ -74,7 +72,6 @@ pub struct FirewallSpec { /// The unique identifier of the VPC where Network Firewall should create the /// firewall. /// - /// /// You can't change this setting after you create the firewall. #[serde(rename = "vpcID")] pub vpc_id: String, @@ -150,7 +147,6 @@ pub struct FirewallStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/networkfirewall_services_k8s_aws/v1alpha1/rulegroups.rs b/kube-custom-resources-rs/src/networkfirewall_services_k8s_aws/v1alpha1/rulegroups.rs index d8fd20f10..30522be89 100644 --- a/kube-custom-resources-rs/src/networkfirewall_services_k8s_aws/v1alpha1/rulegroups.rs +++ b/kube-custom-resources-rs/src/networkfirewall_services_k8s_aws/v1alpha1/rulegroups.rs @@ -13,17 +13,14 @@ use self::prelude::*; /// RuleGroupSpec defines the desired state of RuleGroup. /// -/// /// The object that defines the rules in a rule group. This, along with RuleGroupResponse, /// define the rule group. You can retrieve all objects for a rule group by calling /// DescribeRuleGroup. /// -/// /// Network Firewall uses a rule group to inspect and control network traffic. /// You define stateless rule groups to inspect individual packets and you define /// stateful rule groups to inspect packets in the context of their traffic flow. /// -/// /// To use a rule group, you include it by reference in an Network Firewall firewall /// policy, then you use the policy in a firewall. You can reference a rule group /// from more than one firewall policy, and you can use a firewall policy in @@ -48,50 +45,39 @@ pub struct RuleGroupSpec { /// to this capacity. When you reference a rule group from a firewall policy, /// Network Firewall reserves this capacity for the rule group. /// - /// /// You can retrieve the capacity that would be required for a rule group before /// you create the rule group by calling CreateRuleGroup with DryRun set to TRUE. /// - /// /// You can't change or exceed this capacity when you update the rule group, /// so leave room for your rule group to grow. /// - /// /// Capacity for a stateless rule group /// - /// /// For a stateless rule group, the capacity required is the sum of the capacity /// requirements of the individual rules that you expect to have in the rule /// group. /// - /// /// To calculate the capacity requirement of a single rule, multiply the capacity /// requirement values of each of the rule's match settings: /// - /// /// * A match setting with no criteria specified has a value of 1. /// - /// /// * A match setting with Any specified has a value of 1. /// - /// /// * All other match settings have a value equal to the number of elements /// provided in the setting. For example, a protocol setting ["UDP"] and a /// source setting ["10.0.0.0/24"] each have a value of 1. A protocol setting /// ["UDP","TCP"] has a value of 2. A source setting ["10.0.0.0/24","10.0.0.1/24","10.0.0.2/24"] /// has a value of 3. /// - /// /// A rule with no criteria specified in any of its match settings has a capacity /// requirement of 1. A rule with protocol setting ["UDP","TCP"], source setting /// ["10.0.0.0/24","10.0.0.1/24","10.0.0.2/24"], and a single specification or /// no specification for each of the other match settings has a capacity requirement /// of 6. /// - /// /// Capacity for a stateful rule group /// - /// /// For a stateful rule group, the minimum capacity required is the number of /// individual rules that you expect to have in the rule group. pub capacity: i64, @@ -101,7 +87,6 @@ pub struct RuleGroupSpec { /// Indicates whether you want Network Firewall to just check the validity of /// the request, rather than run the request. /// - /// /// If set to TRUE, Network Firewall checks whether the request can run successfully, /// but doesn't actually make the requested changes. The call returns the value /// that the request would return if you ran it with dry run set to FALSE, but @@ -109,7 +94,6 @@ pub struct RuleGroupSpec { /// to make sure that you have the required permissions to run the request and /// that your request parameters are valid. /// - /// /// If set to FALSE, Network Firewall makes the requested changes to your resources. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dryRun")] pub dry_run: Option, @@ -118,7 +102,6 @@ pub struct RuleGroupSpec { pub encryption_configuration: Option, /// An object that defines the rule group rules. /// - /// /// You must provide either this rule group setting or a Rules setting, but not /// both. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ruleGroup")] @@ -131,11 +114,9 @@ pub struct RuleGroupSpec { /// flat format, with one rule per line. Use this to import your existing Suricata /// compatible rule groups. /// - /// /// You must provide either this rules setting or a populated RuleGroup setting, /// but not both. /// - /// /// You can provide your rule group specification in Suricata flat format through /// this setting when you create or update your rule group. The call response /// returns a RuleGroup object that Network Firewall has populated from your @@ -168,7 +149,6 @@ pub struct RuleGroupEncryptionConfiguration { /// An object that defines the rule group rules. /// -/// /// You must provide either this rule group setting or a Rules setting, but not /// both. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -233,11 +213,9 @@ pub struct RuleGroupRuleGroupRuleVariablesPortSets { pub struct RuleGroupRuleGroupRulesSource { /// Stateful inspection criteria for a domain list rule group. /// - /// /// For HTTPS traffic, domain filtering is SNI-based. It uses the server name /// indicator extension of the TLS handshake. /// - /// /// By default, Network Firewall domain list inspection only includes traffic /// coming from the VPC where you deploy the firewall. To inspect traffic from /// IP addresses outside of the deployment VPC, you set the HOME_NET rule variable @@ -259,11 +237,9 @@ pub struct RuleGroupRuleGroupRulesSource { /// Stateful inspection criteria for a domain list rule group. /// -/// /// For HTTPS traffic, domain filtering is SNI-based. It uses the server name /// indicator extension of the TLS handshake. /// -/// /// By default, Network Firewall domain list inspection only includes traffic /// coming from the VPC where you deploy the firewall. To inspect traffic from /// IP addresses outside of the deployment VPC, you set the HOME_NET rule variable @@ -340,20 +316,16 @@ pub struct RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActions { /// An optional, non-standard action to use for stateless packet handling. You /// can define this in addition to the standard action that you must specify. /// -/// /// You define and name the custom actions that you want to be able to use, and /// then you reference them by name in your actions settings. /// -/// /// You can use custom actions in the following places: /// -/// /// * In a rule group's StatelessRulesAndCustomActions specification. The /// custom actions are available for use by name inside the StatelessRulesAndCustomActions /// where you define them. You can use them for your stateless rule actions /// to specify what to do with a packet that matches the rule's match attributes. /// -/// /// * In a FirewallPolicy specification, in StatelessCustomActions. The custom /// actions are available for use inside the policy where you define them. /// You can use them for the policy's default stateless actions settings to @@ -393,11 +365,9 @@ pub struct RuleGroupRuleGroupRulesSourceStatelessRulesAndCustomActionsCustomActi /// used in the PublishMetrics CustomAction. A CloudWatch custom metric dimension /// is a name/value pair that's part of the identity of a metric. /// -/// /// Network Firewall sets the dimension name to CustomAction and you provide /// the dimension value. /// -/// /// For more information about CloudWatch custom metric dimensions, see Publishing /// Custom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#usingDimensions) /// in the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html). @@ -555,7 +525,6 @@ pub struct RuleGroupStatus { /// your requests that access the rule group. The token marks the state of the /// rule group resource at the time of the request. /// - /// /// To make changes to the rule group, you provide the token in your request. /// Network Firewall uses the token to ensure that the rule group hasn't changed /// since you last retrieved it. If it has changed, the operation fails with @@ -577,7 +546,6 @@ pub struct RuleGroupStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/opensearchservice_services_k8s_aws/v1alpha1/domains.rs b/kube-custom-resources-rs/src/opensearchservice_services_k8s_aws/v1alpha1/domains.rs index 3f9089ae1..a9daf99f6 100644 --- a/kube-custom-resources-rs/src/opensearchservice_services_k8s_aws/v1alpha1/domains.rs +++ b/kube-custom-resources-rs/src/opensearchservice_services_k8s_aws/v1alpha1/domains.rs @@ -27,32 +27,27 @@ pub struct DomainSpec { /// Key-value pairs to specify advanced configuration options. The following /// key-value pairs are supported: /// - /// /// * "rest.action.multi.allow_explicit_index": "true" | "false" - Note the /// use of a string rather than a boolean. Specifies whether explicit references /// to indexes are allowed inside the body of HTTP requests. If you want to /// configure access policies for domain sub-resources, such as specific indexes /// and domain APIs, you must disable this property. Default is true. /// - /// /// * "indices.fielddata.cache.size": "80" - Note the use of a string rather /// than a boolean. Specifies the percentage of heap space allocated to field /// data. Default is unbounded. /// - /// /// * "indices.query.bool.max_clause_count": "1024" - Note the use of a string /// rather than a boolean. Specifies the maximum number of clauses allowed /// in a Lucene boolean query. Default is 1,024. Queries with more than the /// permitted number of clauses result in a TooManyClauses error. /// - /// /// * "override_main_response_version": "true" | "false" - Note the use of /// a string rather than a boolean. Specifies whether the domain reports its /// version as 7.10 to allow Elasticsearch OSS clients and plugins to continue /// working with it. Default is false when creating a domain and true when /// upgrading a domain. /// - /// /// For more information, see Advanced cluster parameters (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options). #[serde(default, skip_serializing_if = "Option::is_none", rename = "advancedOptions")] pub advanced_options: Option>, @@ -252,7 +247,6 @@ pub struct DomainAutoTuneOptions { /// to schedule Auto-Tune optimizations. For migration instructions, see Migrating /// from Auto-Tune maintenance windows (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html#off-peak-migrate). /// -/// /// The Auto-Tune maintenance schedule. For more information, see Auto-Tune for /// Amazon OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/auto-tune.html). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -420,11 +414,9 @@ pub struct DomainOffPeakWindowOptions { /// OpenSearch Service will schedule these actions during the window that you /// specify. /// - /// /// If you don't specify a window start time, it defaults to 10:00 P.M. local /// time. /// - /// /// For more information, see Defining off-peak maintenance windows for Amazon /// OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html). #[serde(default, skip_serializing_if = "Option::is_none", rename = "offPeakWindow")] @@ -437,11 +429,9 @@ pub struct DomainOffPeakWindowOptions { /// OpenSearch Service will schedule these actions during the window that you /// specify. /// -/// /// If you don't specify a window start time, it defaults to 10:00 P.M. local /// time. /// -/// /// For more information, see Defining off-peak maintenance windows for Amazon /// OpenSearch Service (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -540,10 +530,8 @@ pub struct DomainStatus { /// The key-value pair that exists if the OpenSearch Service domain uses VPC /// endpoints. For example: /// - /// /// * IPv4 IP addresses - 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com' /// - /// /// * Dual stack IP addresses - 'vpcv2':'vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.aos.us-east-1.on.aws' #[serde(default, skip_serializing_if = "Option::is_none")] pub endpoints: Option>, @@ -579,7 +567,6 @@ pub struct DomainStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/opentelemetry_io/v1alpha1/instrumentations.rs b/kube-custom-resources-rs/src/opentelemetry_io/v1alpha1/instrumentations.rs index ca59f84d0..6cb6f007e 100644 --- a/kube-custom-resources-rs/src/opentelemetry_io/v1alpha1/instrumentations.rs +++ b/kube-custom-resources-rs/src/opentelemetry_io/v1alpha1/instrumentations.rs @@ -344,6 +344,22 @@ pub struct InstrumentationEnvValueFromSecretKeyRef { pub struct InstrumentationExporter { #[serde(default, skip_serializing_if = "Option::is_none")] pub endpoint: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub tls: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct InstrumentationExporterTls { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub ca_file: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub cert_file: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapName")] + pub config_map_name: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub key_file: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] + pub secret_name: Option, } #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] diff --git a/kube-custom-resources-rs/src/operator_tigera_io/v1/applicationlayers.rs b/kube-custom-resources-rs/src/operator_tigera_io/v1/applicationlayers.rs index 921b7b7ce..09b564635 100644 --- a/kube-custom-resources-rs/src/operator_tigera_io/v1/applicationlayers.rs +++ b/kube-custom-resources-rs/src/operator_tigera_io/v1/applicationlayers.rs @@ -256,8 +256,18 @@ pub struct ApplicationLayerStatus { /// Ready, Progressing, Degraded or other customer types. #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, + /// SidecarWebhook provides the state of sidecar injection mutatinwebhookconfiguration + #[serde(default, skip_serializing_if = "Option::is_none", rename = "sidecarWebhook")] + pub sidecar_webhook: Option, /// State provides user-readable status. #[serde(default, skip_serializing_if = "Option::is_none")] pub state: Option, } +/// ApplicationLayerStatus defines the observed state of ApplicationLayer +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum ApplicationLayerStatusSidecarWebhook { + Enabled, + Disabled, +} + diff --git a/kube-custom-resources-rs/src/operator_tigera_io/v1/installations.rs b/kube-custom-resources-rs/src/operator_tigera_io/v1/installations.rs index 00408092c..6c304dd01 100644 --- a/kube-custom-resources-rs/src/operator_tigera_io/v1/installations.rs +++ b/kube-custom-resources-rs/src/operator_tigera_io/v1/installations.rs @@ -1064,8 +1064,10 @@ pub struct InstallationCalicoNetwork { /// Default: Enabled #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPorts")] pub host_ports: Option, - /// IPPools contains a list of IP pools to create if none exist. At most one IP pool of each - /// address family may be specified. If omitted, a single pool will be configured if needed. + /// IPPools contains a list of IP pools to manage. If nil, a single IPv4 IP pool + /// will be created by the operator. If an empty list is provided, the operator will not create any IP pools and will instead + /// wait for IP pools to be created out-of-band. + /// IP pools in this list will be reconciled by the operator and should not be modified out-of-band. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ipPools")] pub ip_pools: Option>, /// LinuxDataplane is used to select the dataplane used for Linux nodes. In particular, it @@ -7750,8 +7752,10 @@ pub struct InstallationStatusComputedCalicoNetwork { /// Default: Enabled #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostPorts")] pub host_ports: Option, - /// IPPools contains a list of IP pools to create if none exist. At most one IP pool of each - /// address family may be specified. If omitted, a single pool will be configured if needed. + /// IPPools contains a list of IP pools to manage. If nil, a single IPv4 IP pool + /// will be created by the operator. If an empty list is provided, the operator will not create any IP pools and will instead + /// wait for IP pools to be created out-of-band. + /// IP pools in this list will be reconciled by the operator and should not be modified out-of-band. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ipPools")] pub ip_pools: Option>, /// LinuxDataplane is used to select the dataplane used for Linux nodes. In particular, it diff --git a/kube-custom-resources-rs/src/organizations_services_k8s_aws/v1alpha1/organizationalunits.rs b/kube-custom-resources-rs/src/organizations_services_k8s_aws/v1alpha1/organizationalunits.rs index 9001d8062..a8ecdb263 100644 --- a/kube-custom-resources-rs/src/organizations_services_k8s_aws/v1alpha1/organizationalunits.rs +++ b/kube-custom-resources-rs/src/organizations_services_k8s_aws/v1alpha1/organizationalunits.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// OrganizationalUnitSpec defines the desired state of OrganizationalUnit. /// -/// /// Contains details about an organizational unit (OU). An OU is a container /// of Amazon Web Services accounts within a root of an organization. Policies /// that are attached to an OU apply to all accounts contained in that OU and @@ -30,15 +29,12 @@ pub struct OrganizationalUnitSpec { /// The unique identifier (ID) of the parent root or OU that you want to create /// the new OU in. /// - /// /// The regex pattern (http://wikipedia.org/wiki/regex) for a parent ID string /// requires one of the following: /// - /// /// * Root - A string that begins with "r-" followed by from 4 to 32 lowercase /// letters or digits. /// - /// /// * Organizational unit (OU) - A string that begins with "ou-" followed /// by from 4 to 32 lowercase letters or digits (the ID of the root that the /// OU is in). This string is followed by a second "-" dash and from 8 to @@ -51,7 +47,6 @@ pub struct OrganizationalUnitSpec { /// about tagging, see Tagging Organizations resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html) /// in the Organizations User Guide. /// - /// /// If any one of the tags is invalid or if you exceed the allowed number of /// tags for an OU, then the entire request fails and the OU is not created. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -60,19 +55,14 @@ pub struct OrganizationalUnitSpec { /// A custom key-value pair associated with a resource within your organization. /// -/// /// You can attach tags to any of the following organization resources. /// -/// /// * Amazon Web Services account /// -/// /// * Organizational unit (OU) /// -/// /// * Organization root /// -/// /// * Policy #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct OrganizationalUnitTags { @@ -98,7 +88,6 @@ pub struct OrganizationalUnitStatus { pub conditions: Option>, /// The unique identifier (ID) associated with this OU. /// - /// /// The regex pattern (http://wikipedia.org/wiki/regex) for an organizational /// unit ID string requires "ou-" followed by from 4 to 32 lowercase letters /// or digits (the ID of the root that contains the OU). This string is followed @@ -118,7 +107,6 @@ pub struct OrganizationalUnitStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/pipes_services_k8s_aws/v1alpha1/pipes.rs b/kube-custom-resources-rs/src/pipes_services_k8s_aws/v1alpha1/pipes.rs index 8db320897..0c8261a63 100644 --- a/kube-custom-resources-rs/src/pipes_services_k8s_aws/v1alpha1/pipes.rs +++ b/kube-custom-resources-rs/src/pipes_services_k8s_aws/v1alpha1/pipes.rs @@ -13,7 +13,6 @@ use self::prelude::*; /// PipeSpec defines the desired state of Pipe. /// -/// /// An object that represents a pipe. Amazon EventBridgePipes connect event sources /// to targets and reduces the need for specialized knowledge and integration /// code. @@ -433,7 +432,6 @@ pub struct PipeTargetParametersBatchJobParametersContainerOverrides { /// variables, which are added to the container at launch, or you can override /// the existing environment variables from the Docker image or the task definition. /// -/// /// Environment variables cannot start with "Batch". This naming convention is /// reserved for variables that Batch sets. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -567,7 +565,6 @@ pub struct PipeTargetParametersEcsTaskParametersOverrides { /// Fargate task storage (https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html) /// in the Amazon ECS User Guide for Fargate. /// - /// /// This parameter is only supported for tasks hosted on Fargate using Linux /// platform version 1.4.0 or later. This parameter is not supported for Windows /// containers on Fargate. @@ -626,7 +623,6 @@ pub struct PipeTargetParametersEcsTaskParametersOverridesContainerOverridesEnvir /// comments and are ignored. For more information about the environment variable /// file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). /// -/// /// If there are environment variables specified using the environment parameter /// in a container definition, they take precedence over the variables contained /// within an environment file. If multiple environment files are specified that @@ -635,14 +631,11 @@ pub struct PipeTargetParametersEcsTaskParametersOverridesContainerOverridesEnvir /// environment variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) /// in the Amazon Elastic Container Service Developer Guide. /// -/// /// This parameter is only supported for tasks hosted on Fargate using the following /// platform versions: /// -/// /// * Linux platform version 1.4.0 or later. /// -/// /// * Windows platform version 1.0.0 or later. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct PipeTargetParametersEcsTaskParametersOverridesContainerOverridesEnvironmentFiles { @@ -671,7 +664,6 @@ pub struct PipeTargetParametersEcsTaskParametersOverridesContainerOverridesResou /// Fargate task storage (https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html) /// in the Amazon ECS User Guide for Fargate. /// -/// /// This parameter is only supported for tasks hosted on Fargate using Linux /// platform version 1.4.0 or later. This parameter is not supported for Windows /// containers on Fargate. @@ -864,7 +856,6 @@ pub struct PipeStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/postgresql_cnpg_io/v1/backups.rs b/kube-custom-resources-rs/src/postgresql_cnpg_io/v1/backups.rs index 5eef23794..2ed6f0b23 100644 --- a/kube-custom-resources-rs/src/postgresql_cnpg_io/v1/backups.rs +++ b/kube-custom-resources-rs/src/postgresql_cnpg_io/v1/backups.rs @@ -182,6 +182,9 @@ pub struct BackupStatus { /// The last backup status #[serde(default, skip_serializing_if = "Option::is_none")] pub phase: Option, + /// A map containing the plugin metadata + #[serde(default, skip_serializing_if = "Option::is_none", rename = "pluginMetadata")] + pub plugin_metadata: Option>, /// The credentials to use to upload data to S3 #[serde(default, skip_serializing_if = "Option::is_none", rename = "s3Credentials")] pub s3_credentials: Option, diff --git a/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/alertmanagerdefinitions.rs b/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/alertmanagerdefinitions.rs index 6d28191ae..6d226e336 100644 --- a/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/alertmanagerdefinitions.rs +++ b/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/alertmanagerdefinitions.rs @@ -28,7 +28,6 @@ pub struct AlertManagerDefinitionSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "workspaceRef")] @@ -40,7 +39,6 @@ pub struct AlertManagerDefinitionSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -94,7 +92,6 @@ pub struct AlertManagerDefinitionStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/loggingconfigurations.rs b/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/loggingconfigurations.rs index b7c184467..057db3e09 100644 --- a/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/loggingconfigurations.rs +++ b/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/loggingconfigurations.rs @@ -30,7 +30,6 @@ pub struct LoggingConfigurationSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "workspaceRef")] @@ -42,7 +41,6 @@ pub struct LoggingConfigurationSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -96,7 +94,6 @@ pub struct LoggingConfigurationStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/rulegroupsnamespaces.rs b/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/rulegroupsnamespaces.rs index 36315aa6e..7bfcc2bfe 100644 --- a/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/rulegroupsnamespaces.rs +++ b/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/rulegroupsnamespaces.rs @@ -34,7 +34,6 @@ pub struct RuleGroupsNamespaceSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "workspaceRef")] @@ -46,7 +45,6 @@ pub struct RuleGroupsNamespaceSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -97,7 +95,6 @@ pub struct RuleGroupsNamespaceStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/workspaces.rs b/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/workspaces.rs index 446e95b2a..94f97d541 100644 --- a/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/workspaces.rs +++ b/kube-custom-resources-rs/src/prometheusservice_services_k8s_aws/v1alpha1/workspaces.rs @@ -62,7 +62,6 @@ pub struct WorkspaceStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbclusterparametergroups.rs b/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbclusterparametergroups.rs index fbfe590e4..085be9615 100644 --- a/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbclusterparametergroups.rs +++ b/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbclusterparametergroups.rs @@ -13,10 +13,8 @@ use self::prelude::*; /// DBClusterParameterGroupSpec defines the desired state of DBClusterParameterGroup. /// -/// /// Contains the details of an Amazon RDS DB cluster parameter group. /// -/// /// This data type is used as a response element in the DescribeDBClusterParameterGroups /// action. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -34,90 +32,65 @@ pub struct DBClusterParameterGroupSpec { /// and can be applied only to a DB cluster running a database engine and engine /// version compatible with that DB cluster parameter group family. /// - /// /// Aurora MySQL /// - /// /// Example: aurora5.6, aurora-mysql5.7, aurora-mysql8.0 /// - /// /// Aurora PostgreSQL /// - /// /// Example: aurora-postgresql9.6 /// - /// /// RDS for MySQL /// - /// /// Example: mysql8.0 /// - /// /// RDS for PostgreSQL /// - /// /// Example: postgres12 /// - /// /// To list all of the available parameter group families for a DB engine, use /// the following command: /// - /// /// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" /// --engine /// - /// /// For example, to list all of the available parameter group families for the /// Aurora PostgreSQL DB engine, use the following command: /// - /// /// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" /// --engine aurora-postgresql /// - /// /// The output contains duplicates. /// - /// /// The following are the valid DB engine values: /// - /// /// * aurora (for MySQL 5.6-compatible Aurora) /// - /// /// * aurora-mysql (for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora) /// - /// /// * aurora-postgresql /// - /// /// * mysql /// - /// /// * postgres pub family: String, /// The name of the DB cluster parameter group. /// - /// /// Constraints: /// - /// /// * Must not match the name of an existing DB cluster parameter group. /// - /// /// This value is stored as a lowercase string. pub name: String, #[serde(default, skip_serializing_if = "Option::is_none", rename = "parameterOverrides")] pub parameter_overrides: Option>, /// A list of parameters in the DB cluster parameter group to modify. /// - /// /// Valid Values (for the application method): immediate | pending-reboot /// - /// /// You can use the immediate value with dynamic parameters only. You can use /// the pending-reboot value for both dynamic and static parameters. /// - /// /// When the application method is immediate, changes to dynamic parameters are /// applied immediately to the DB clusters associated with the parameter group. /// When the application method is pending-reboot, changes to dynamic and static @@ -133,7 +106,6 @@ pub struct DBClusterParameterGroupSpec { /// This data type is used as a request parameter in the ModifyDBParameterGroup /// and ResetDBParameterGroup actions. /// -/// /// This data type is used as a response element in the DescribeEngineDefaultParameters /// and DescribeDBParameters actions. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -164,7 +136,6 @@ pub struct DBClusterParameterGroupParameters { /// Metadata assigned to an Amazon RDS resource consisting of a key-value pair. /// -/// /// For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) /// in the Amazon RDS User Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -205,7 +176,6 @@ pub struct DBClusterParameterGroupStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, @@ -220,7 +190,6 @@ pub struct DBClusterParameterGroupStatusAckResourceMetadata { /// This data type is used as a request parameter in the ModifyDBParameterGroup /// and ResetDBParameterGroup actions. /// -/// /// This data type is used as a response element in the DescribeEngineDefaultParameters /// and DescribeDBParameters actions. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] diff --git a/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbclusters.rs b/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbclusters.rs index c21656907..d8f93dd93 100644 --- a/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbclusters.rs +++ b/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbclusters.rs @@ -12,26 +12,21 @@ use self::prelude::*; /// DBClusterSpec defines the desired state of DBCluster. /// -/// /// Contains the details of an Amazon Aurora DB cluster or Multi-AZ DB cluster. /// -/// /// For an Amazon Aurora DB cluster, this data type is used as a response element /// in the operations CreateDBCluster, DeleteDBCluster, DescribeDBClusters, FailoverDBCluster, /// ModifyDBCluster, PromoteReadReplicaDBCluster, RestoreDBClusterFromS3, RestoreDBClusterFromSnapshot, /// RestoreDBClusterToPointInTime, StartDBCluster, and StopDBCluster. /// -/// /// For a Multi-AZ DB cluster, this data type is used as a response element in /// the operations CreateDBCluster, DeleteDBCluster, DescribeDBClusters, FailoverDBCluster, /// ModifyDBCluster, RebootDBCluster, RestoreDBClusterFromSnapshot, and RestoreDBClusterToPointInTime. /// -/// /// For more information on Amazon Aurora DB clusters, see What is Amazon Aurora? /// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) /// in the Amazon Aurora User Guide. /// -/// /// For more information on Multi-AZ DB clusters, see Multi-AZ deployments with /// two readable standby DB instances (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html) /// in the Amazon RDS User Guide. @@ -46,10 +41,8 @@ pub struct DBClusterSpec { /// The amount of storage in gibibytes (GiB) to allocate to each DB instance /// in the Multi-AZ DB cluster. /// - /// /// This setting is required to create a Multi-AZ DB cluster. /// - /// /// Valid for: Multi-AZ DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "allocatedStorage")] pub allocated_storage: Option, @@ -57,65 +50,52 @@ pub struct DBClusterSpec { /// to the DB cluster during the maintenance window. By default, minor engine /// upgrades are applied automatically. /// - /// /// Valid for: Multi-AZ DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "autoMinorVersionUpgrade")] pub auto_minor_version_upgrade: Option, /// A list of Availability Zones (AZs) where DB instances in the DB cluster can /// be created. /// - /// /// For information on Amazon Web Services Regions and Availability Zones, see /// Choosing the Regions and Availability Zones (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html) /// in the Amazon Aurora User Guide. /// - /// /// Valid for: Aurora DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "availabilityZones")] pub availability_zones: Option>, /// The target backtrack window, in seconds. To disable backtracking, set this /// value to 0. /// - /// /// Default: 0 /// - /// /// Constraints: /// - /// /// * If specified, this value must be set to a number from 0 to 259,200 (72 /// hours). /// - /// /// Valid for: Aurora MySQL DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "backtrackWindow")] pub backtrack_window: Option, /// The number of days for which automated backups are retained. /// - /// /// Default: 1 /// - /// /// Constraints: /// - /// /// * Must be a value from 1 to 35 /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "backupRetentionPeriod")] pub backup_retention_period: Option, /// A value that indicates that the DB cluster should be associated with the /// specified CharacterSet. /// - /// /// Valid for: Aurora DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "characterSetName")] pub character_set_name: Option, /// A value that indicates whether to copy all tags from the DB cluster to snapshots /// of the DB cluster. The default is not to copy them. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "copyTagsToSnapshot")] pub copy_tags_to_snapshot: Option, @@ -123,28 +103,21 @@ pub struct DBClusterSpec { /// not provide a name, Amazon RDS doesn't create a database in the DB cluster /// you are creating. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "databaseName")] pub database_name: Option, /// The DB cluster identifier. This parameter is stored as a lowercase string. /// - /// /// Constraints: /// - /// /// * Must contain from 1 to 63 letters, numbers, or hyphens. /// - /// /// * First character must be a letter. /// - /// /// * Can't end with a hyphen or contain two consecutive hyphens. /// - /// /// Example: my-cluster1 /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(rename = "dbClusterIdentifier")] pub db_cluster_identifier: String, @@ -152,15 +125,12 @@ pub struct DBClusterSpec { /// for example db.m6gd.xlarge. Not all DB instance classes are available in /// all Amazon Web Services Regions, or for all database engines. /// - /// /// For the full list of DB instance classes and availability for your engine, /// see DB instance class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) /// in the Amazon RDS User Guide. /// - /// /// This setting is required to create a Multi-AZ DB cluster. /// - /// /// Valid for: Multi-AZ DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbClusterInstanceClass")] pub db_cluster_instance_class: Option, @@ -168,14 +138,11 @@ pub struct DBClusterSpec { /// If you do not specify a value, then the default DB cluster parameter group /// for the specified DB engine and version is used. /// - /// /// Constraints: /// - /// /// * If supplied, must match the name of an existing DB cluster parameter /// group. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbClusterParameterGroupName")] pub db_cluster_parameter_group_name: Option, @@ -184,24 +151,19 @@ pub struct DBClusterSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbClusterParameterGroupRef")] pub db_cluster_parameter_group_ref: Option, /// A DB subnet group to associate with this DB cluster. /// - /// /// This setting is required to create a Multi-AZ DB cluster. /// - /// /// Constraints: Must match the name of an existing DBSubnetGroup. Must not be /// default. /// - /// /// Example: mydbsubnetgroup /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbSubnetGroupName")] pub db_subnet_group_name: Option, @@ -210,7 +172,6 @@ pub struct DBClusterSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbSubnetGroupRef")] @@ -222,7 +183,6 @@ pub struct DBClusterSpec { /// The database can't be deleted when deletion protection is enabled. By default, /// deletion protection isn't enabled. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "deletionProtection")] pub deletion_protection: Option, @@ -231,63 +191,48 @@ pub struct DBClusterSpec { pub destination_region: Option, /// The Active Directory directory ID to create the DB cluster in. /// - /// /// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos authentication /// to authenticate users that connect to the DB cluster. /// - /// /// For more information, see Kerberos authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html) /// in the Amazon Aurora User Guide. /// - /// /// Valid for: Aurora DB clusters only #[serde(default, skip_serializing_if = "Option::is_none")] pub domain: Option, /// Specify the name of the IAM role to be used when making API calls to the /// Directory Service. /// - /// /// Valid for: Aurora DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "domainIAMRoleName")] pub domain_iam_role_name: Option, /// The list of log types that need to be enabled for exporting to CloudWatch /// Logs. The values in the list depend on the DB engine being used. /// - /// /// RDS for MySQL /// - /// /// Possible values are error, general, and slowquery. /// - /// /// RDS for PostgreSQL /// - /// /// Possible values are postgresql and upgrade. /// - /// /// Aurora MySQL /// - /// /// Possible values are audit, error, general, and slowquery. /// - /// /// Aurora PostgreSQL /// - /// /// Possible value is postgresql. /// - /// /// For more information about exporting CloudWatch Logs for Amazon RDS, see /// Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) /// in the Amazon RDS User Guide. /// - /// /// For more information about exporting CloudWatch Logs for Amazon Aurora, see /// Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) /// in the Amazon Aurora User Guide. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableCloudwatchLogsExports")] pub enable_cloudwatch_logs_exports: Option>, @@ -296,7 +241,6 @@ pub struct DBClusterSpec { /// By default, write operations are not allowed on Aurora DB clusters that are /// secondary clusters in an Aurora global database. /// - /// /// You can set this value only on Aurora DB clusters that are members of an /// Aurora global database. With this parameter enabled, a secondary cluster /// can forward writes to the current primary cluster and the resulting changes @@ -304,23 +248,19 @@ pub struct DBClusterSpec { /// global database, this value is used immediately if the primary is demoted /// by the FailoverGlobalCluster API operation, but it does nothing until then. /// - /// /// Valid for: Aurora DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableGlobalWriteForwarding")] pub enable_global_write_forwarding: Option, /// A value that indicates whether to enable the HTTP endpoint for an Aurora /// Serverless v1 DB cluster. By default, the HTTP endpoint is disabled. /// - /// /// When enabled, the HTTP endpoint provides a connectionless web service API /// for running SQL queries on the Aurora Serverless v1 DB cluster. You can also /// query your database from inside the RDS console with the query editor. /// - /// /// For more information, see Using the Data API for Aurora Serverless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) /// in the Amazon Aurora User Guide. /// - /// /// Valid for: Aurora DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableHTTPEndpoint")] pub enable_http_endpoint: Option, @@ -328,193 +268,146 @@ pub struct DBClusterSpec { /// and Access Management (IAM) accounts to database accounts. By default, mapping /// isn't enabled. /// - /// /// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) /// in the Amazon Aurora User Guide. /// - /// /// Valid for: Aurora DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableIAMDatabaseAuthentication")] pub enable_iam_database_authentication: Option, /// A value that indicates whether to turn on Performance Insights for the DB /// cluster. /// - /// /// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) /// in the Amazon RDS User Guide. /// - /// /// Valid for: Multi-AZ DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "enablePerformanceInsights")] pub enable_performance_insights: Option, /// The name of the database engine to be used for this DB cluster. /// - /// /// Valid Values: /// - /// /// * aurora-mysql /// - /// /// * aurora-postgresql /// - /// /// * mysql /// - /// /// * postgres /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters pub engine: String, /// The DB engine mode of the DB cluster, either provisioned or serverless. /// - /// /// The serverless engine mode only applies for Aurora Serverless v1 DB clusters. /// - /// /// Limitations and requirements apply to some DB engine modes. For more information, /// see the following sections in the Amazon Aurora User Guide: /// - /// /// * Limitations of Aurora Serverless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations) /// - /// /// * Requirements for Aurora Serverless v2 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html) /// - /// /// * Limitations of parallel query (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-parallel-query.html#aurora-mysql-parallel-query-limitations) /// - /// /// * Limitations of Aurora global databases (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations) /// - /// /// Valid for: Aurora DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "engineMode")] pub engine_mode: Option, /// The version number of the database engine to use. /// - /// /// To list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible) /// and version 3 (MySQL 8.0-compatible), use the following command: /// - /// /// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion" /// - /// /// You can supply either 5.7 or 8.0 to use the default engine version for Aurora /// MySQL version 2 or version 3, respectively. /// - /// /// To list all of the available engine versions for Aurora PostgreSQL, use the /// following command: /// - /// /// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion" /// - /// /// To list all of the available engine versions for RDS for MySQL, use the following /// command: /// - /// /// aws rds describe-db-engine-versions --engine mysql --query "DBEngineVersions[].EngineVersion" /// - /// /// To list all of the available engine versions for RDS for PostgreSQL, use /// the following command: /// - /// /// aws rds describe-db-engine-versions --engine postgres --query "DBEngineVersions[].EngineVersion" /// - /// /// Aurora MySQL /// - /// /// For information, see Database engine updates for Amazon Aurora MySQL (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) /// in the Amazon Aurora User Guide. /// - /// /// Aurora PostgreSQL /// - /// /// For information, see Amazon Aurora PostgreSQL releases and engine versions /// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) /// in the Amazon Aurora User Guide. /// - /// /// MySQL /// - /// /// For information, see Amazon RDS for MySQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) /// in the Amazon RDS User Guide. /// - /// /// PostgreSQL /// - /// /// For information, see Amazon RDS for PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) /// in the Amazon RDS User Guide. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "engineVersion")] pub engine_version: Option, /// The global cluster ID of an Aurora cluster that becomes the primary cluster /// in the new global database cluster. /// - /// /// Valid for: Aurora DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "globalClusterIdentifier")] pub global_cluster_identifier: Option, /// The amount of Provisioned IOPS (input/output operations per second) to be /// initially allocated for each DB instance in the Multi-AZ DB cluster. /// - /// /// For information about valid IOPS values, see Provisioned IOPS storage (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) /// in the Amazon RDS User Guide. /// - /// /// This setting is required to create a Multi-AZ DB cluster. /// - /// /// Constraints: Must be a multiple between .5 and 50 of the storage amount for /// the DB cluster. /// - /// /// Valid for: Multi-AZ DB clusters only #[serde(default, skip_serializing_if = "Option::is_none")] pub iops: Option, /// The Amazon Web Services KMS key identifier for an encrypted DB cluster. /// - /// /// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias /// ARN, or alias name for the KMS key. To use a KMS key in a different Amazon /// Web Services account, specify the key ARN or alias ARN. /// - /// /// When a KMS key isn't specified in KmsKeyId: /// - /// /// * If ReplicationSourceIdentifier identifies an encrypted source, then /// Amazon RDS will use the KMS key used to encrypt the source. Otherwise, /// Amazon RDS will use your default KMS key. /// - /// /// * If the StorageEncrypted parameter is enabled and ReplicationSourceIdentifier /// isn't specified, then Amazon RDS will use your default KMS key. /// - /// /// There is a default KMS key for your Amazon Web Services account. Your Amazon /// Web Services account has a different default KMS key for each Amazon Web /// Services Region. /// - /// /// If you create a read replica of an encrypted DB cluster in another Amazon /// Web Services Region, you must set KmsKeyId to a KMS key identifier that is /// valid in the destination Amazon Web Services Region. This KMS key is used /// to encrypt the read replica in that Amazon Web Services Region. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsKeyID")] pub kms_key_id: Option, @@ -523,7 +416,6 @@ pub struct DBClusterSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsKeyRef")] @@ -531,64 +423,51 @@ pub struct DBClusterSpec { /// A value that indicates whether to manage the master user password with Amazon /// Web Services Secrets Manager. /// - /// /// For more information, see Password management with Amazon Web Services Secrets /// Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) /// in the Amazon RDS User Guide and Password management with Amazon Web Services /// Secrets Manager (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) /// in the Amazon Aurora User Guide. /// - /// /// Constraints: /// - /// /// * Can't manage the master user password with Amazon Web Services Secrets /// Manager if MasterUserPassword is specified. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "manageMasterUserPassword")] pub manage_master_user_password: Option, /// The password for the master database user. This password can contain any /// printable ASCII character except "/", """, or "@". /// - /// /// Constraints: /// - /// /// * Must contain from 8 to 41 characters. /// - /// /// * Can't be specified if ManageMasterUserPassword is turned on. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterUserPassword")] pub master_user_password: Option, /// The Amazon Web Services KMS key identifier to encrypt a secret that is automatically /// generated and managed in Amazon Web Services Secrets Manager. /// - /// /// This setting is valid only if the master user password is managed by RDS /// in Amazon Web Services Secrets Manager for the DB cluster. /// - /// /// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias /// ARN, or alias name for the KMS key. To use a KMS key in a different Amazon /// Web Services account, specify the key ARN or alias ARN. /// - /// /// If you don't specify MasterUserSecretKmsKeyId, then the aws/secretsmanager /// KMS key is used to encrypt the secret. If the secret is in a different Amazon /// Web Services account, then you can't use the aws/secretsmanager KMS key to /// encrypt the secret, and you must use a customer managed KMS key. /// - /// /// There is a default KMS key for your Amazon Web Services account. Your Amazon /// Web Services account has a different default KMS key for each Amazon Web /// Services Region. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterUserSecretKMSKeyID")] pub master_user_secret_kms_key_id: Option, @@ -597,26 +476,20 @@ pub struct DBClusterSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterUserSecretKMSKeyRef")] pub master_user_secret_kms_key_ref: Option, /// The name of the master user for the DB cluster. /// - /// /// Constraints: /// - /// /// * Must be 1 to 16 letters or numbers. /// - /// /// * First character must be a letter. /// - /// /// * Can't be a reserved word for the chosen database engine. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterUsername")] pub master_username: Option, @@ -624,14 +497,11 @@ pub struct DBClusterSpec { /// are collected for the DB cluster. To turn off collecting Enhanced Monitoring /// metrics, specify 0. The default is 0. /// - /// /// If MonitoringRoleArn is specified, also set MonitoringInterval to a value /// other than 0. /// - /// /// Valid Values: 0, 1, 5, 10, 15, 30, 60 /// - /// /// Valid for: Multi-AZ DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "monitoringInterval")] pub monitoring_interval: Option, @@ -641,118 +511,89 @@ pub struct DBClusterSpec { /// Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) /// in the Amazon RDS User Guide. /// - /// /// If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn /// value. /// - /// /// Valid for: Multi-AZ DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "monitoringRoleARN")] pub monitoring_role_arn: Option, /// The network type of the DB cluster. /// - /// /// Valid values: /// - /// /// * IPV4 /// - /// /// * DUAL /// - /// /// The network type is determined by the DBSubnetGroup specified for the DB /// cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and /// the IPv6 protocols (DUAL). /// - /// /// For more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) /// in the Amazon Aurora User Guide. /// - /// /// Valid for: Aurora DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "networkType")] pub network_type: Option, /// A value that indicates that the DB cluster should be associated with the /// specified option group. /// - /// /// DB clusters are associated with a default option group that can't be modified. #[serde(default, skip_serializing_if = "Option::is_none", rename = "optionGroupName")] pub option_group_name: Option, /// The Amazon Web Services KMS key identifier for encryption of Performance /// Insights data. /// - /// /// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias /// ARN, or alias name for the KMS key. /// - /// /// If you don't specify a value for PerformanceInsightsKMSKeyId, then Amazon /// RDS uses your default KMS key. There is a default KMS key for your Amazon /// Web Services account. Your Amazon Web Services account has a different default /// KMS key for each Amazon Web Services Region. /// - /// /// Valid for: Multi-AZ DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "performanceInsightsKMSKeyID")] pub performance_insights_kms_key_id: Option, /// The number of days to retain Performance Insights data. The default is 7 /// days. The following values are valid: /// - /// /// * 7 /// - /// /// * month * 31, where month is a number of months from 1-23 /// - /// /// * 731 /// - /// /// For example, the following values are valid: /// - /// /// * 93 (3 months * 31) /// - /// /// * 341 (11 months * 31) /// - /// /// * 589 (19 months * 31) /// - /// /// * 731 /// - /// /// If you specify a retention period such as 94, which isn't a valid value, /// RDS issues an error. /// - /// /// Valid for: Multi-AZ DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "performanceInsightsRetentionPeriod")] pub performance_insights_retention_period: Option, /// The port number on which the instances in the DB cluster accept connections. /// - /// /// RDS for MySQL and Aurora MySQL /// - /// /// Default: 3306 /// - /// /// Valid values: 1150-65535 /// - /// /// RDS for PostgreSQL and Aurora PostgreSQL /// - /// /// Default: 5432 /// - /// /// Valid values: 1150-65535 /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none")] pub port: Option, @@ -763,26 +604,21 @@ pub struct DBClusterSpec { /// only when you are performing cross-Region replication from an encrypted DB /// cluster. /// - /// /// The presigned URL must be a valid request for the CreateDBCluster API operation /// that can run in the source Amazon Web Services Region that contains the encrypted /// DB cluster to copy. /// - /// /// The presigned URL request must contain the following parameter values: /// - /// /// * KmsKeyId - The KMS key identifier for the KMS key to use to encrypt /// the copy of the DB cluster in the destination Amazon Web Services Region. /// This should refer to the same KMS key for both the CreateDBCluster operation /// that is called in the destination Amazon Web Services Region, and the /// operation contained in the presigned URL. /// - /// /// * DestinationRegion - The name of the Amazon Web Services Region that /// Aurora read replica will be created in. /// - /// /// * ReplicationSourceIdentifier - The DB cluster identifier for the encrypted /// DB cluster to be copied. This identifier must be in the Amazon Resource /// Name (ARN) format for the source Amazon Web Services Region. For example, @@ -790,77 +626,61 @@ pub struct DBClusterSpec { /// Services Region, then your ReplicationSourceIdentifier would look like /// Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1. /// - /// /// To learn how to generate a Signature Version 4 signed request, see Authenticating /// Requests: Using Query Parameters (Amazon Web Services Signature Version 4) /// (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) /// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). /// - /// /// If you are using an Amazon Web Services SDK tool or the CLI, you can specify /// SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl /// manually. Specifying SourceRegion autogenerates a presigned URL that is a /// valid request for the operation that can run in the source Amazon Web Services /// Region. /// - /// /// Valid for: Aurora DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "preSignedURL")] pub pre_signed_url: Option, /// The daily time range during which automated backups are created if automated /// backups are enabled using the BackupRetentionPeriod parameter. /// - /// /// The default is a 30-minute window selected at random from an 8-hour block /// of time for each Amazon Web Services Region. To view the time blocks available, /// see Backup window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow) /// in the Amazon Aurora User Guide. /// - /// /// Constraints: /// - /// /// * Must be in the format hh24:mi-hh24:mi. /// - /// /// * Must be in Universal Coordinated Time (UTC). /// - /// /// * Must not conflict with the preferred maintenance window. /// - /// /// * Must be at least 30 minutes. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredBackupWindow")] pub preferred_backup_window: Option, /// The weekly time range during which system maintenance can occur, in Universal /// Coordinated Time (UTC). /// - /// /// Format: ddd:hh24:mi-ddd:hh24:mi /// - /// /// The default is a 30-minute window selected at random from an 8-hour block /// of time for each Amazon Web Services Region, occurring on a random day of /// the week. To see the time blocks available, see Adjusting the Preferred DB /// Cluster Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora) /// in the Amazon Aurora User Guide. /// - /// /// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. /// - /// /// Constraints: Minimum 30-minute window. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredMaintenanceWindow")] pub preferred_maintenance_window: Option, /// A value that indicates whether the DB cluster is publicly accessible. /// - /// /// When the DB cluster is publicly accessible, its Domain Name System (DNS) /// endpoint resolves to the private IP address from within the DB cluster's /// virtual private cloud (VPC). It resolves to the public IP address from outside @@ -868,139 +688,107 @@ pub struct DBClusterSpec { /// by the security group it uses. That public access isn't permitted if the /// security group assigned to the DB cluster doesn't permit it. /// - /// /// When the DB cluster isn't publicly accessible, it is an internal DB cluster /// with a DNS name that resolves to a private IP address. /// - /// /// Default: The default behavior varies depending on whether DBSubnetGroupName /// is specified. /// - /// /// If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, /// the following applies: /// - /// /// * If the default VPC in the target Region doesn’t have an internet gateway /// attached to it, the DB cluster is private. /// - /// /// * If the default VPC in the target Region has an internet gateway attached /// to it, the DB cluster is public. /// - /// /// If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, /// the following applies: /// - /// /// * If the subnets are part of a VPC that doesn’t have an internet gateway /// attached to it, the DB cluster is private. /// - /// /// * If the subnets are part of a VPC that has an internet gateway attached /// to it, the DB cluster is public. /// - /// /// Valid for: Multi-AZ DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "publiclyAccessible")] pub publicly_accessible: Option, /// The Amazon Resource Name (ARN) of the source DB instance or DB cluster if /// this DB cluster is created as a read replica. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicationSourceIdentifier")] pub replication_source_identifier: Option, /// The date and time to restore the DB cluster to. /// - /// /// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format /// - /// /// Constraints: /// - /// /// * Must be before the latest restorable time for the DB instance /// - /// /// * Must be specified if UseLatestRestorableTime parameter isn't provided /// - /// /// * Can't be specified if the UseLatestRestorableTime parameter is enabled /// - /// /// * Can't be specified if the RestoreType parameter is copy-on-write /// - /// /// Example: 2015-03-07T23:45:00Z /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "restoreToTime")] pub restore_to_time: Option, /// The type of restore to be performed. You can specify one of the following /// values: /// - /// /// * full-copy - The new DB cluster is restored as a full copy of the source /// DB cluster. /// - /// /// * copy-on-write - The new DB cluster is restored as a clone of the source /// DB cluster. /// - /// /// Constraints: You can't specify copy-on-write if the engine version of the /// source DB cluster is earlier than 1.11. /// - /// /// If you don't specify a RestoreType value, then the new DB cluster is restored /// as a full copy of the source DB cluster. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "restoreType")] pub restore_type: Option, /// For DB clusters in serverless DB engine mode, the scaling properties of the /// DB cluster. /// - /// /// Valid for: Aurora DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "scalingConfiguration")] pub scaling_configuration: Option, /// Contains the scaling configuration of an Aurora Serverless v2 DB cluster. /// - /// /// For more information, see Using Amazon Aurora Serverless v2 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html) /// in the Amazon Aurora User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "serverlessV2ScalingConfiguration")] pub serverless_v2_scaling_configuration: Option, /// The identifier for the DB snapshot or DB cluster snapshot to restore from. /// - /// /// You can use either the name or the Amazon Resource Name (ARN) to specify /// a DB cluster snapshot. However, you can use only the ARN to specify a DB /// snapshot. /// - /// /// Constraints: /// - /// /// * Must match the identifier of an existing Snapshot. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "snapshotIdentifier")] pub snapshot_identifier: Option, /// The identifier of the source DB cluster from which to restore. /// - /// /// Constraints: /// - /// /// * Must match the identifier of an existing DBCluster. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceDBClusterIdentifier")] pub source_db_cluster_identifier: Option, @@ -1011,31 +799,24 @@ pub struct DBClusterSpec { pub source_region: Option, /// A value that indicates whether the DB cluster is encrypted. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageEncrypted")] pub storage_encrypted: Option, /// Specifies the storage type to be associated with the DB cluster. /// - /// /// This setting is required to create a Multi-AZ DB cluster. /// - /// /// Valid values: io1 /// - /// /// When specified, a value for the Iops parameter is required. /// - /// /// Default: io1 /// - /// /// Valid for: Multi-AZ DB clusters only #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageType")] pub storage_type: Option, /// Tags to assign to the DB cluster. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none")] pub tags: Option>, @@ -1043,16 +824,13 @@ pub struct DBClusterSpec { /// backup time. By default, the DB cluster isn't restored to the latest restorable /// backup time. /// - /// /// Constraints: Can't be specified if RestoreToTime parameter is provided. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "useLatestRestorableTime")] pub use_latest_restorable_time: Option, /// A list of EC2 VPC security groups to associate with this DB cluster. /// - /// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[serde(default, skip_serializing_if = "Option::is_none", rename = "vpcSecurityGroupIDs")] pub vpc_security_group_i_ds: Option>, @@ -1065,7 +843,6 @@ pub struct DBClusterSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1091,7 +868,6 @@ pub struct DBClusterDbClusterParameterGroupRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1117,7 +893,6 @@ pub struct DBClusterDbSubnetGroupRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1141,16 +916,12 @@ pub struct DBClusterKmsKeyRefFrom { /// The password for the master database user. This password can contain any /// printable ASCII character except "/", """, or "@". /// -/// /// Constraints: /// -/// /// * Must contain from 8 to 41 characters. /// -/// /// * Can't be specified if ManageMasterUserPassword is turned on. /// -/// /// Valid for: Aurora DB clusters and Multi-AZ DB clusters #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct DBClusterMasterUserPassword { @@ -1169,7 +940,6 @@ pub struct DBClusterMasterUserPassword { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1193,7 +963,6 @@ pub struct DBClusterMasterUserSecretKmsKeyRefFrom { /// For DB clusters in serverless DB engine mode, the scaling properties of the /// DB cluster. /// -/// /// Valid for: Aurora DB clusters only #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct DBClusterScalingConfiguration { @@ -1213,7 +982,6 @@ pub struct DBClusterScalingConfiguration { /// Contains the scaling configuration of an Aurora Serverless v2 DB cluster. /// -/// /// For more information, see Using Amazon Aurora Serverless v2 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html) /// in the Amazon Aurora User Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1226,7 +994,6 @@ pub struct DBClusterServerlessV2ScalingConfiguration { /// Metadata assigned to an Amazon RDS resource consisting of a key-value pair. /// -/// /// For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) /// in the Amazon RDS User Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1242,7 +1009,6 @@ pub struct DBClusterTags { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1274,7 +1040,6 @@ pub struct DBClusterStatus { /// The Amazon Web Services KMS key identifier used for encrypting messages in /// the database activity stream. /// - /// /// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias /// ARN, or alias name for the KMS key. #[serde(default, skip_serializing_if = "Option::is_none", rename = "activityStreamKMSKeyID")] @@ -1306,7 +1071,6 @@ pub struct DBClusterStatus { /// The current capacity of an Aurora Serverless v1 DB cluster. The capacity /// is 0 (zero) when the cluster is paused. /// - /// /// For more information about Aurora Serverless v1, see Using Amazon Aurora /// Serverless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html) /// in the Amazon Aurora User Guide. @@ -1363,7 +1127,6 @@ pub struct DBClusterStatus { /// A list of log types that this DB cluster is configured to export to CloudWatch /// Logs. /// - /// /// Log types vary by DB engine. For information about the log types for each /// DB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html) /// in the Amazon Aurora User Guide. @@ -1389,12 +1152,10 @@ pub struct DBClusterStatus { /// A value that indicates whether the HTTP endpoint for an Aurora Serverless /// v1 DB cluster is enabled. /// - /// /// When enabled, the HTTP endpoint provides a connectionless web service API /// for running SQL queries on the Aurora Serverless v1 DB cluster. You can also /// query your database from inside the RDS console with the query editor. /// - /// /// For more information, see Using the Data API for Aurora Serverless v1 (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) /// in the Amazon Aurora User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpEndpointEnabled")] @@ -1410,7 +1171,6 @@ pub struct DBClusterStatus { /// Contains the secret managed by RDS in Amazon Web Services Secrets Manager /// for the master user password. /// - /// /// For more information, see Password management with Amazon Web Services Secrets /// Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) /// in the Amazon RDS User Guide and Password management with Amazon Web Services @@ -1432,7 +1192,6 @@ pub struct DBClusterStatus { /// True if Performance Insights is enabled for the DB cluster, and otherwise /// false. /// - /// /// This setting is only for non-Aurora Multi-AZ DB clusters. #[serde(default, skip_serializing_if = "Option::is_none", rename = "performanceInsightsEnabled")] pub performance_insights_enabled: Option, @@ -1447,7 +1206,6 @@ pub struct DBClusterStatus { /// DB cluster. This functionality can help balance your read workload across /// multiple Aurora Replicas in your DB cluster. /// - /// /// If a failover occurs, and the Aurora Replica that you are connected to is /// promoted to be the primary instance, your connection is dropped. To continue /// sending your read workload to other Aurora Replicas in the cluster, you can @@ -1475,7 +1233,6 @@ pub struct DBClusterStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, @@ -1538,7 +1295,6 @@ pub struct DBClusterStatusDomainMemberships { /// Contains the secret managed by RDS in Amazon Web Services Secrets Manager /// for the master user password. /// -/// /// For more information, see Password management with Amazon Web Services Secrets /// Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) /// in the Amazon RDS User Guide and Password management with Amazon Web Services @@ -1591,7 +1347,6 @@ pub struct DBClusterStatusPendingModifiedValuesPendingCloudwatchLogsExports { /// Metadata assigned to an Amazon RDS resource consisting of a key-value pair. /// -/// /// For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) /// in the Amazon RDS User Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] diff --git a/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbinstances.rs b/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbinstances.rs index 44b787566..985ba6d0e 100644 --- a/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbinstances.rs +++ b/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbinstances.rs @@ -12,10 +12,8 @@ use self::prelude::*; /// DBInstanceSpec defines the desired state of DBInstance. /// -/// /// Contains the details of an Amazon RDS DB instance. /// -/// /// This data type is used as a response element in the operations CreateDBInstance, /// CreateDBInstanceReadReplica, DeleteDBInstance, DescribeDBInstances, ModifyDBInstance, /// PromoteReadReplica, RebootDBInstance, RestoreDBInstanceFromDBSnapshot, RestoreDBInstanceFromS3, @@ -30,112 +28,80 @@ use self::prelude::*; pub struct DBInstanceSpec { /// The amount of storage in gibibytes (GiB) to allocate for the DB instance. /// - /// /// Type: Integer /// - /// /// Amazon Aurora /// - /// /// Not applicable. Aurora cluster volumes automatically grow as the amount of /// data in your database increases, though you are only charged for the space /// that you use in an Aurora cluster volume. /// - /// /// Amazon RDS Custom /// - /// /// Constraints to the amount of storage for each storage type are the following: /// - /// /// * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 40 /// to 65536 for RDS Custom for Oracle, 16384 for RDS Custom for SQL Server. /// - /// /// * Provisioned IOPS storage (io1): Must be an integer from 40 to 65536 /// for RDS Custom for Oracle, 16384 for RDS Custom for SQL Server. /// - /// /// MySQL /// - /// /// Constraints to the amount of storage for each storage type are the following: /// - /// /// * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20 /// to 65536. /// - /// /// * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. /// - /// /// * Magnetic storage (standard): Must be an integer from 5 to 3072. /// - /// /// MariaDB /// - /// /// Constraints to the amount of storage for each storage type are the following: /// - /// /// * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20 /// to 65536. /// - /// /// * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. /// - /// /// * Magnetic storage (standard): Must be an integer from 5 to 3072. /// - /// /// PostgreSQL /// - /// /// Constraints to the amount of storage for each storage type are the following: /// - /// /// * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20 /// to 65536. /// - /// /// * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. /// - /// /// * Magnetic storage (standard): Must be an integer from 5 to 3072. /// - /// /// Oracle /// - /// /// Constraints to the amount of storage for each storage type are the following: /// - /// /// * General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20 /// to 65536. /// - /// /// * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. /// - /// /// * Magnetic storage (standard): Must be an integer from 10 to 3072. /// - /// /// SQL Server /// - /// /// Constraints to the amount of storage for each storage type are the following: /// - /// /// * General Purpose (SSD) storage (gp2, gp3): Enterprise and Standard editions: /// Must be an integer from 20 to 16384. Web and Express editions: Must be /// an integer from 20 to 16384. /// - /// /// * Provisioned IOPS storage (io1): Enterprise and Standard editions: Must /// be an integer from 100 to 16384. Web and Express editions: Must be an /// integer from 100 to 16384. /// - /// /// * Magnetic storage (standard): Enterprise and Standard editions: Must /// be an integer from 20 to 1024. Web and Express editions: Must be an integer /// from 20 to 1024. @@ -145,7 +111,6 @@ pub struct DBInstanceSpec { /// to the DB instance during the maintenance window. By default, minor engine /// upgrades are applied automatically. /// - /// /// If you create an RDS Custom DB instance, you must set AutoMinorVersionUpgrade /// to false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "autoMinorVersionUpgrade")] @@ -154,22 +119,17 @@ pub struct DBInstanceSpec { /// on Amazon Web Services Regions and Availability Zones, see Regions and Availability /// Zones (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html). /// - /// /// Amazon Aurora /// - /// /// Each Aurora DB cluster hosts copies of its storage in three separate Availability /// Zones. Specify one of these Availability Zones. Aurora automatically chooses /// an appropriate Availability Zone if you don't specify one. /// - /// /// Default: A random, system-chosen Availability Zone in the endpoint's Amazon /// Web Services Region. /// - /// /// Example: us-east-1d /// - /// /// Constraint: The AvailabilityZone parameter can't be specified if the DB instance /// is a Multi-AZ deployment. The specified Availability Zone must be in the /// same Amazon Web Services Region as the current endpoint. @@ -179,36 +139,27 @@ pub struct DBInstanceSpec { /// parameter to a positive number enables backups. Setting this parameter to /// 0 disables automated backups. /// - /// /// Amazon Aurora /// - /// /// Not applicable. The retention period for automated backups is managed by /// the DB cluster. /// - /// /// Default: 1 /// - /// /// Constraints: /// - /// /// * Must be a value from 0 to 35 /// - /// /// * Can't be set to 0 if the DB instance is a source to read replicas /// - /// /// * Can't be set to 0 for an RDS Custom for Oracle DB instance #[serde(default, skip_serializing_if = "Option::is_none", rename = "backupRetentionPeriod")] pub backup_retention_period: Option, /// Specifies where automated backups and manual snapshots are stored. /// - /// /// Possible values are outposts (Amazon Web Services Outposts) and region (Amazon /// Web Services Region). The default is region. /// - /// /// For more information, see Working with Amazon RDS on Amazon Web Services /// Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) /// in the Amazon RDS User Guide. @@ -217,10 +168,8 @@ pub struct DBInstanceSpec { /// Specifies the CA certificate identifier to use for the DB instance’s server /// certificate. /// - /// /// This setting doesn't apply to RDS Custom. /// - /// /// For more information, see Using SSL/TLS to encrypt a connection to a DB instance /// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) /// in the Amazon RDS User Guide and Using SSL/TLS to encrypt a connection to @@ -231,14 +180,11 @@ pub struct DBInstanceSpec { /// For supported engines, this value indicates that the DB instance should be /// associated with the specified CharacterSet. /// - /// /// This setting doesn't apply to RDS Custom. However, if you need to change /// the character set, you can change it on the database itself. /// - /// /// Amazon Aurora /// - /// /// Not applicable. The character set is managed by the DB cluster. For more /// information, see CreateDBCluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "characterSetName")] @@ -246,10 +192,8 @@ pub struct DBInstanceSpec { /// A value that indicates whether to copy tags from the DB instance to snapshots /// of the DB instance. By default, tags are not copied. /// - /// /// Amazon Aurora /// - /// /// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting /// this value for an Aurora DB instance has no effect on the DB cluster setting. #[serde(default, skip_serializing_if = "Option::is_none", rename = "copyTagsToSnapshot")] @@ -257,60 +201,46 @@ pub struct DBInstanceSpec { /// The instance profile associated with the underlying Amazon EC2 instance of /// an RDS Custom DB instance. The instance profile must meet the following requirements: /// - /// /// * The profile must exist in your account. /// - /// /// * The profile must have an IAM role that Amazon EC2 has permissions to /// assume. /// - /// /// * The instance profile name and the associated IAM role name must start /// with the prefix AWSRDSCustom. /// - /// /// For the list of permissions required for the IAM role, see Configure IAM /// and your VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) /// in the Amazon RDS User Guide. /// - /// /// This setting is required for RDS Custom. #[serde(default, skip_serializing_if = "Option::is_none", rename = "customIAMInstanceProfile")] pub custom_iam_instance_profile: Option, /// The identifier of the DB cluster that the instance will belong to. /// - /// /// This setting doesn't apply to RDS Custom. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbClusterIdentifier")] pub db_cluster_identifier: Option, /// The identifier for the RDS for MySQL Multi-AZ DB cluster snapshot to restore /// from. /// - /// /// For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments /// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html) /// in the Amazon RDS User Guide. /// - /// /// Constraints: /// - /// /// * Must match the identifier of an existing Multi-AZ DB cluster snapshot. /// - /// /// * Can't be specified when DBSnapshotIdentifier is specified. /// - /// /// * Must be specified when DBSnapshotIdentifier isn't specified. /// - /// /// * If you are restoring from a shared manual Multi-AZ DB cluster snapshot, /// the DBClusterSnapshotIdentifier must be the ARN of the shared snapshot. /// - /// /// * Can't be the identifier of an Aurora DB cluster snapshot. /// - /// /// * Can't be the identifier of an RDS for PostgreSQL Multi-AZ DB cluster /// snapshot. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbClusterSnapshotIdentifier")] @@ -325,174 +255,124 @@ pub struct DBInstanceSpec { pub db_instance_class: String, /// The DB instance identifier. This parameter is stored as a lowercase string. /// - /// /// Constraints: /// - /// /// * Must contain from 1 to 63 letters, numbers, or hyphens. /// - /// /// * First character must be a letter. /// - /// /// * Can't end with a hyphen or contain two consecutive hyphens. /// - /// /// Example: mydbinstance #[serde(rename = "dbInstanceIdentifier")] pub db_instance_identifier: String, /// The meaning of this parameter differs according to the database engine you /// use. /// - /// /// MySQL /// - /// /// The name of the database to create when the DB instance is created. If this /// parameter isn't specified, no database is created in the DB instance. /// - /// /// Constraints: /// - /// /// * Must contain 1 to 64 letters or numbers. /// - /// /// * Must begin with a letter. Subsequent characters can be letters, underscores, /// or digits (0-9). /// - /// /// * Can't be a word reserved by the specified database engine /// - /// /// MariaDB /// - /// /// The name of the database to create when the DB instance is created. If this /// parameter isn't specified, no database is created in the DB instance. /// - /// /// Constraints: /// - /// /// * Must contain 1 to 64 letters or numbers. /// - /// /// * Must begin with a letter. Subsequent characters can be letters, underscores, /// or digits (0-9). /// - /// /// * Can't be a word reserved by the specified database engine /// - /// /// PostgreSQL /// - /// /// The name of the database to create when the DB instance is created. If this /// parameter isn't specified, a database named postgres is created in the DB /// instance. /// - /// /// Constraints: /// - /// /// * Must contain 1 to 63 letters, numbers, or underscores. /// - /// /// * Must begin with a letter. Subsequent characters can be letters, underscores, /// or digits (0-9). /// - /// /// * Can't be a word reserved by the specified database engine /// - /// /// Oracle /// - /// /// The Oracle System ID (SID) of the created DB instance. If you specify null, /// the default value ORCL is used. You can't specify the string NULL, or any /// other reserved word, for DBName. /// - /// /// Default: ORCL /// - /// /// Constraints: /// - /// /// * Can't be longer than 8 characters /// - /// /// Amazon RDS Custom for Oracle /// - /// /// The Oracle System ID (SID) of the created RDS Custom DB instance. If you /// don't specify a value, the default value is ORCL. /// - /// /// Default: ORCL /// - /// /// Constraints: /// - /// /// * It must contain 1 to 8 alphanumeric characters. /// - /// /// * It must contain a letter. /// - /// /// * It can't be a word reserved by the database engine. /// - /// /// Amazon RDS Custom for SQL Server /// - /// /// Not applicable. Must be null. /// - /// /// SQL Server /// - /// /// Not applicable. Must be null. /// - /// /// Amazon Aurora MySQL /// - /// /// The name of the database to create when the primary DB instance of the Aurora /// MySQL DB cluster is created. If this parameter isn't specified for an Aurora /// MySQL DB cluster, no database is created in the DB cluster. /// - /// /// Constraints: /// - /// /// * It must contain 1 to 64 alphanumeric characters. /// - /// /// * It can't be a word reserved by the database engine. /// - /// /// Amazon Aurora PostgreSQL /// - /// /// The name of the database to create when the primary DB instance of the Aurora /// PostgreSQL DB cluster is created. If this parameter isn't specified for an /// Aurora PostgreSQL DB cluster, a database named postgres is created in the /// DB cluster. /// - /// /// Constraints: /// - /// /// * It must contain 1 to 63 alphanumeric characters. /// - /// /// * It must begin with a letter. Subsequent characters can be letters, underscores, /// or digits (0 to 9). /// - /// /// * It can't be a word reserved by the database engine. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbName")] pub db_name: Option, @@ -500,19 +380,14 @@ pub struct DBInstanceSpec { /// you do not specify a value, then the default DB parameter group for the specified /// DB engine and version is used. /// - /// /// This setting doesn't apply to RDS Custom. /// - /// /// Constraints: /// - /// /// * It must be 1 to 255 letters, numbers, or hyphens. /// - /// /// * The first character must be a letter. /// - /// /// * It can't end with a hyphen or contain two consecutive hyphens. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbParameterGroupName")] pub db_parameter_group_name: Option, @@ -521,37 +396,29 @@ pub struct DBInstanceSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbParameterGroupRef")] pub db_parameter_group_ref: Option, /// The identifier for the DB snapshot to restore from. /// - /// /// Constraints: /// - /// /// * Must match the identifier of an existing DBSnapshot. /// - /// /// * Can't be specified when DBClusterSnapshotIdentifier is specified. /// - /// /// * Must be specified when DBClusterSnapshotIdentifier isn't specified. /// - /// /// * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier /// must be the ARN of the shared DB snapshot. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbSnapshotIdentifier")] pub db_snapshot_identifier: Option, /// A DB subnet group to associate with this DB instance. /// - /// /// Constraints: Must match the name of an existing DBSubnetGroup. Must not be /// default. /// - /// /// Example: mydbsubnetgroup #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbSubnetGroupName")] pub db_subnet_group_name: Option, @@ -560,7 +427,6 @@ pub struct DBInstanceSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "dbSubnetGroupRef")] @@ -570,10 +436,8 @@ pub struct DBInstanceSpec { /// deletion protection isn't enabled. For more information, see Deleting a DB /// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html). /// - /// /// Amazon Aurora /// - /// /// Not applicable. You can enable or disable deletion protection for the DB /// cluster. For more information, see CreateDBCluster. DB instances in a DB /// cluster can be deleted even when deletion protection is enabled for the DB @@ -587,30 +451,23 @@ pub struct DBInstanceSpec { /// only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can /// be created in an Active Directory Domain. /// - /// /// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) /// in the Amazon RDS User Guide. /// - /// /// This setting doesn't apply to RDS Custom. /// - /// /// Amazon Aurora /// - /// /// Not applicable. The domain is managed by the DB cluster. #[serde(default, skip_serializing_if = "Option::is_none")] pub domain: Option, /// Specify the name of the IAM role to be used when making API calls to the /// Directory Service. /// - /// /// This setting doesn't apply to RDS Custom. /// - /// /// Amazon Aurora /// - /// /// Not applicable. The domain is managed by the DB cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "domainIAMRoleName")] pub domain_iam_role_name: Option, @@ -619,64 +476,47 @@ pub struct DBInstanceSpec { /// see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) /// in the Amazon RDS User Guide. /// - /// /// Amazon Aurora /// - /// /// Not applicable. CloudWatch Logs exports are managed by the DB cluster. /// - /// /// RDS Custom /// - /// /// Not applicable. /// - /// /// MariaDB /// - /// /// Possible values are audit, error, general, and slowquery. /// - /// /// Microsoft SQL Server /// - /// /// Possible values are agent and error. /// - /// /// MySQL /// - /// /// Possible values are audit, error, general, and slowquery. /// - /// /// Oracle /// - /// /// Possible values are alert, audit, listener, trace, and oemagent. /// - /// /// PostgreSQL /// - /// /// Possible values are postgresql and upgrade. #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableCloudwatchLogsExports")] pub enable_cloudwatch_logs_exports: Option>, /// A value that indicates whether to enable a customer-owned IP address (CoIP) /// for an RDS on Outposts DB instance. /// - /// /// A CoIP provides local or external connectivity to resources in your Outpost /// subnets through your on-premises network. For some use cases, a CoIP can /// provide lower latency for connections to the DB instance from outside of /// its virtual private cloud (VPC) on your local network. /// - /// /// For more information about RDS on Outposts, see Working with Amazon RDS on /// Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) /// in the Amazon RDS User Guide. /// - /// /// For more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing) /// in the Amazon Web Services Outposts User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableCustomerOwnedIP")] @@ -685,150 +525,108 @@ pub struct DBInstanceSpec { /// and Access Management (IAM) accounts to database accounts. By default, mapping /// isn't enabled. /// - /// /// For more information, see IAM Database Authentication for MySQL and PostgreSQL /// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) /// in the Amazon RDS User Guide. /// - /// /// This setting doesn't apply to RDS Custom. /// - /// /// Amazon Aurora /// - /// /// Not applicable. Mapping Amazon Web Services IAM accounts to database accounts /// is managed by the DB cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "enableIAMDatabaseAuthentication")] pub enable_iam_database_authentication: Option, /// The name of the database engine to be used for this instance. /// - /// /// Not every database engine is available for every Amazon Web Services Region. /// - /// /// Valid Values: /// - /// /// * aurora (for MySQL 5.6-compatible Aurora) /// - /// /// * aurora-mysql (for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora) /// - /// /// * aurora-postgresql /// - /// /// * custom-oracle-ee (for RDS Custom for Oracle instances) /// - /// /// * custom-sqlserver-ee (for RDS Custom for SQL Server instances) /// - /// /// * custom-sqlserver-se (for RDS Custom for SQL Server instances) /// - /// /// * custom-sqlserver-web (for RDS Custom for SQL Server instances) /// - /// /// * mariadb /// - /// /// * mysql /// - /// /// * oracle-ee /// - /// /// * oracle-ee-cdb /// - /// /// * oracle-se2 /// - /// /// * oracle-se2-cdb /// - /// /// * postgres /// - /// /// * sqlserver-ee /// - /// /// * sqlserver-se /// - /// /// * sqlserver-ex /// - /// /// * sqlserver-web pub engine: String, /// The version number of the database engine to use. /// - /// /// For a list of valid engine versions, use the DescribeDBEngineVersions operation. /// - /// /// The following are the database engines and links to information about the /// major and minor versions that are available with Amazon RDS. Not every database /// engine is available for every Amazon Web Services Region. /// - /// /// Amazon Aurora /// - /// /// Not applicable. The version number of the database engine to be used by the /// DB instance is managed by the DB cluster. /// - /// /// Amazon RDS Custom for Oracle /// - /// /// A custom engine version (CEV) that you have previously created. This setting /// is required for RDS Custom for Oracle. The CEV name has the following format: /// 19.customized_string. A valid CEV name is 19.my_cev1. For more information, /// see Creating an RDS Custom for Oracle DB instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-creating.html#custom-creating.create) /// in the Amazon RDS User Guide. /// - /// /// Amazon RDS Custom for SQL Server /// - /// /// See RDS Custom for SQL Server general requirements (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits-MS.html) /// in the Amazon RDS User Guide. /// - /// /// MariaDB /// - /// /// For information, see MariaDB on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt) /// in the Amazon RDS User Guide. /// - /// /// Microsoft SQL Server /// - /// /// For information, see Microsoft SQL Server Versions on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport) /// in the Amazon RDS User Guide. /// - /// /// MySQL /// - /// /// For information, see MySQL on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) /// in the Amazon RDS User Guide. /// - /// /// Oracle /// - /// /// For information, see Oracle Database Engine Release Notes (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html) /// in the Amazon RDS User Guide. /// - /// /// PostgreSQL /// - /// /// For information, see Amazon RDS for PostgreSQL versions and extensions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) /// in the Amazon RDS User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "engineVersion")] @@ -838,43 +636,34 @@ pub struct DBInstanceSpec { /// values, see Amazon RDS DB instance storage (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html) /// in the Amazon RDS User Guide. /// - /// /// Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must /// be a multiple between .5 and 50 of the storage amount for the DB instance. /// For SQL Server DB instances, must be a multiple between 1 and 50 of the storage /// amount for the DB instance. /// - /// /// Amazon Aurora /// - /// /// Not applicable. Storage is managed by the DB cluster. #[serde(default, skip_serializing_if = "Option::is_none")] pub iops: Option, /// The Amazon Web Services KMS key identifier for an encrypted DB instance. /// - /// /// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias /// ARN, or alias name for the KMS key. To use a KMS key in a different Amazon /// Web Services account, specify the key ARN or alias ARN. /// - /// /// Amazon Aurora /// - /// /// Not applicable. The Amazon Web Services KMS key identifier is managed by /// the DB cluster. For more information, see CreateDBCluster. /// - /// /// If StorageEncrypted is enabled, and you do not specify a value for the KmsKeyId /// parameter, then Amazon RDS uses your default KMS key. There is a default /// KMS key for your Amazon Web Services account. Your Amazon Web Services account /// has a different default KMS key for each Amazon Web Services Region. /// - /// /// Amazon RDS Custom /// - /// /// A KMS key is required for RDS Custom instances. For most RDS engines, if /// you leave this parameter empty while enabling StorageEncrypted, the engine /// uses the default KMS key. However, RDS Custom doesn't use the default key @@ -886,38 +675,30 @@ pub struct DBInstanceSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsKeyRef")] pub kms_key_ref: Option, /// License model information for this DB instance. /// - /// /// Valid values: license-included | bring-your-own-license | general-public-license /// - /// /// This setting doesn't apply to RDS Custom. /// - /// /// Amazon Aurora /// - /// /// Not applicable. #[serde(default, skip_serializing_if = "Option::is_none", rename = "licenseModel")] pub license_model: Option, /// A value that indicates whether to manage the master user password with Amazon /// Web Services Secrets Manager. /// - /// /// For more information, see Password management with Amazon Web Services Secrets /// Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) /// in the Amazon RDS User Guide. /// - /// /// Constraints: /// - /// /// * Can't manage the master user password with Amazon Web Services Secrets /// Manager if MasterUserPassword is specified. #[serde(default, skip_serializing_if = "Option::is_none", rename = "manageMasterUserPassword")] @@ -925,65 +706,48 @@ pub struct DBInstanceSpec { /// The password for the master user. The password can include any printable /// ASCII character except "/", """, or "@". /// - /// /// Amazon Aurora /// - /// /// Not applicable. The password for the master user is managed by the DB cluster. /// - /// /// Constraints: Can't be specified if ManageMasterUserPassword is turned on. /// - /// /// MariaDB /// - /// /// Constraints: Must contain from 8 to 41 characters. /// - /// /// Microsoft SQL Server /// - /// /// Constraints: Must contain from 8 to 128 characters. /// - /// /// MySQL /// - /// /// Constraints: Must contain from 8 to 41 characters. /// - /// /// Oracle /// - /// /// Constraints: Must contain from 8 to 30 characters. /// - /// /// PostgreSQL /// - /// /// Constraints: Must contain from 8 to 128 characters. #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterUserPassword")] pub master_user_password: Option, /// The Amazon Web Services KMS key identifier to encrypt a secret that is automatically /// generated and managed in Amazon Web Services Secrets Manager. /// - /// /// This setting is valid only if the master user password is managed by RDS /// in Amazon Web Services Secrets Manager for the DB instance. /// - /// /// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias /// ARN, or alias name for the KMS key. To use a KMS key in a different Amazon /// Web Services account, specify the key ARN or alias ARN. /// - /// /// If you don't specify MasterUserSecretKmsKeyId, then the aws/secretsmanager /// KMS key is used to encrypt the secret. If the secret is in a different Amazon /// Web Services account, then you can't use the aws/secretsmanager KMS key to /// encrypt the secret, and you must use a customer managed KMS key. /// - /// /// There is a default KMS key for your Amazon Web Services account. Your Amazon /// Web Services account has a different default KMS key for each Amazon Web /// Services Region. @@ -994,54 +758,41 @@ pub struct DBInstanceSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterUserSecretKMSKeyRef")] pub master_user_secret_kms_key_ref: Option, /// The name for the master user. /// - /// /// Amazon Aurora /// - /// /// Not applicable. The name for the master user is managed by the DB cluster. /// - /// /// Amazon RDS /// - /// /// Constraints: /// - /// /// * Required. /// - /// /// * Must be 1 to 16 letters, numbers, or underscores. /// - /// /// * First character must be a letter. /// - /// /// * Can't be a reserved word for the chosen database engine. #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterUsername")] pub master_username: Option, /// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically /// scale the storage of the DB instance. /// - /// /// For more information about this setting, including limitations that apply /// to it, see Managing capacity automatically with Amazon RDS storage autoscaling /// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling) /// in the Amazon RDS User Guide. /// - /// /// This setting doesn't apply to RDS Custom. /// - /// /// Amazon Aurora /// - /// /// Not applicable. Storage is managed by the DB cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxAllocatedStorage")] pub max_allocated_storage: Option, @@ -1049,14 +800,11 @@ pub struct DBInstanceSpec { /// are collected for the DB instance. To disable collection of Enhanced Monitoring /// metrics, specify 0. The default is 0. /// - /// /// If MonitoringRoleArn is specified, then you must set MonitoringInterval to /// a value other than 0. /// - /// /// This setting doesn't apply to RDS Custom. /// - /// /// Valid Values: 0, 1, 5, 10, 15, 30, 60 #[serde(default, skip_serializing_if = "Option::is_none", rename = "monitoringInterval")] pub monitoring_interval: Option, @@ -1066,11 +814,9 @@ pub struct DBInstanceSpec { /// Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) /// in the Amazon RDS User Guide. /// - /// /// If MonitoringInterval is set to a value other than 0, then you must supply /// a MonitoringRoleArn value. /// - /// /// This setting doesn't apply to RDS Custom. #[serde(default, skip_serializing_if = "Option::is_none", rename = "monitoringRoleARN")] pub monitoring_role_arn: Option, @@ -1078,40 +824,31 @@ pub struct DBInstanceSpec { /// You can't set the AvailabilityZone parameter if the DB instance is a Multi-AZ /// deployment. /// - /// /// This setting doesn't apply to RDS Custom. /// - /// /// Amazon Aurora /// - /// /// Not applicable. DB instance Availability Zones (AZs) are managed by the DB /// cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "multiAZ")] pub multi_az: Option, /// The name of the NCHAR character set for the Oracle DB instance. /// - /// /// This parameter doesn't apply to RDS Custom. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ncharCharacterSetName")] pub nchar_character_set_name: Option, /// The network type of the DB instance. /// - /// /// Valid values: /// - /// /// * IPV4 /// - /// /// * DUAL /// - /// /// The network type is determined by the DBSubnetGroup specified for the DB /// instance. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 /// and the IPv6 protocols (DUAL). /// - /// /// For more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) /// in the Amazon RDS User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "networkType")] @@ -1119,18 +856,14 @@ pub struct DBInstanceSpec { /// A value that indicates that the DB instance should be associated with the /// specified option group. /// - /// /// Permanent options, such as the TDE option for Oracle Advanced Security TDE, /// can't be removed from an option group. Also, that option group can't be removed /// from a DB instance after it is associated with a DB instance. /// - /// /// This setting doesn't apply to RDS Custom. /// - /// /// Amazon Aurora /// - /// /// Not applicable. #[serde(default, skip_serializing_if = "Option::is_none", rename = "optionGroupName")] pub option_group_name: Option, @@ -1138,129 +871,93 @@ pub struct DBInstanceSpec { /// instance. For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) /// in the Amazon RDS User Guide. /// - /// /// This setting doesn't apply to RDS Custom. #[serde(default, skip_serializing_if = "Option::is_none", rename = "performanceInsightsEnabled")] pub performance_insights_enabled: Option, /// The Amazon Web Services KMS key identifier for encryption of Performance /// Insights data. /// - /// /// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias /// ARN, or alias name for the KMS key. /// - /// /// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon /// RDS uses your default KMS key. There is a default KMS key for your Amazon /// Web Services account. Your Amazon Web Services account has a different default /// KMS key for each Amazon Web Services Region. /// - /// /// This setting doesn't apply to RDS Custom. #[serde(default, skip_serializing_if = "Option::is_none", rename = "performanceInsightsKMSKeyID")] pub performance_insights_kms_key_id: Option, /// The number of days to retain Performance Insights data. The default is 7 /// days. The following values are valid: /// - /// /// * 7 /// - /// /// * month * 31, where month is a number of months from 1-23 /// - /// /// * 731 /// - /// /// For example, the following values are valid: /// - /// /// * 93 (3 months * 31) /// - /// /// * 341 (11 months * 31) /// - /// /// * 589 (19 months * 31) /// - /// /// * 731 /// - /// /// If you specify a retention period such as 94, which isn't a valid value, /// RDS issues an error. /// - /// /// This setting doesn't apply to RDS Custom. #[serde(default, skip_serializing_if = "Option::is_none", rename = "performanceInsightsRetentionPeriod")] pub performance_insights_retention_period: Option, /// The port number on which the database accepts connections. /// - /// /// MySQL /// - /// /// Default: 3306 /// - /// /// Valid values: 1150-65535 /// - /// /// Type: Integer /// - /// /// MariaDB /// - /// /// Default: 3306 /// - /// /// Valid values: 1150-65535 /// - /// /// Type: Integer /// - /// /// PostgreSQL /// - /// /// Default: 5432 /// - /// /// Valid values: 1150-65535 /// - /// /// Type: Integer /// - /// /// Oracle /// - /// /// Default: 1521 /// - /// /// Valid values: 1150-65535 /// - /// /// SQL Server /// - /// /// Default: 1433 /// - /// /// Valid values: 1150-65535 except 1234, 1434, 3260, 3343, 3389, 47001, and /// 49152-49156. /// - /// /// Amazon Aurora /// - /// /// Default: 3306 /// - /// /// Valid values: 1150-65535 /// - /// /// Type: Integer #[serde(default, skip_serializing_if = "Option::is_none")] pub port: Option, @@ -1270,29 +967,24 @@ pub struct DBInstanceSpec { /// API operation in the source Amazon Web Services Region that contains the /// source DB instance. /// - /// /// This setting applies only to Amazon Web Services GovCloud (US) Regions and /// China Amazon Web Services Regions. It's ignored in other Amazon Web Services /// Regions. /// - /// /// This setting applies only when replicating from a source DB instance. Source /// DB clusters aren't supported in Amazon Web Services GovCloud (US) Regions /// and China Amazon Web Services Regions. /// - /// /// You must specify this parameter when you create an encrypted read replica /// from another Amazon Web Services Region by using the Amazon RDS API. Don't /// specify PreSignedUrl when you are creating an encrypted read replica in the /// same Amazon Web Services Region. /// - /// /// The presigned URL must be a valid request for the CreateDBInstanceReadReplica /// API operation that can run in the source Amazon Web Services Region that /// contains the encrypted source DB instance. The presigned URL request must /// contain the following parameter values: /// - /// /// * DestinationRegion - The Amazon Web Services Region that the encrypted /// read replica is created in. This Amazon Web Services Region is the same /// one where the CreateDBInstanceReadReplica operation is called that contains @@ -1305,14 +997,12 @@ pub struct DBInstanceSpec { /// in the presigned URL must be set to the us-east-1 Amazon Web Services /// Region. /// - /// /// * KmsKeyId - The KMS key identifier for the key to use to encrypt the /// read replica in the destination Amazon Web Services Region. This is the /// same identifier for both the CreateDBInstanceReadReplica operation that /// is called in the destination Amazon Web Services Region, and the operation /// contained in the presigned URL. /// - /// /// * SourceDBInstanceIdentifier - The DB instance identifier for the encrypted /// DB instance to be replicated. This identifier must be in the Amazon Resource /// Name (ARN) format for the source Amazon Web Services Region. For example, @@ -1320,24 +1010,20 @@ pub struct DBInstanceSpec { /// us-west-2 Amazon Web Services Region, then your SourceDBInstanceIdentifier /// looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115. /// - /// /// To learn how to generate a Signature Version 4 signed request, see Authenticating /// Requests: Using Query Parameters (Amazon Web Services Signature Version 4) /// (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) /// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). /// - /// /// If you are using an Amazon Web Services SDK tool or the CLI, you can specify /// SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl /// manually. Specifying SourceRegion autogenerates a presigned URL that is a /// valid request for the operation that can run in the source Amazon Web Services /// Region. /// - /// /// SourceRegion isn't supported for SQL Server, because Amazon RDS for SQL Server /// doesn't support cross-Region read replicas. /// - /// /// This setting doesn't apply to RDS Custom. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preSignedURL")] pub pre_signed_url: Option, @@ -1348,26 +1034,19 @@ pub struct DBInstanceSpec { /// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow) /// in the Amazon RDS User Guide. /// - /// /// Amazon Aurora /// - /// /// Not applicable. The daily time range for creating automated backups is managed /// by the DB cluster. /// - /// /// Constraints: /// - /// /// * Must be in the format hh24:mi-hh24:mi. /// - /// /// * Must be in Universal Coordinated Time (UTC). /// - /// /// * Must not conflict with the preferred maintenance window. /// - /// /// * Must be at least 30 minutes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredBackupWindow")] pub preferred_backup_window: Option, @@ -1375,31 +1054,24 @@ pub struct DBInstanceSpec { /// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance /// Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance). /// - /// /// Format: ddd:hh24:mi-ddd:hh24:mi /// - /// /// The default is a 30-minute window selected at random from an 8-hour block /// of time for each Amazon Web Services Region, occurring on a random day of /// the week. /// - /// /// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. /// - /// /// Constraints: Minimum 30-minute window. #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredMaintenanceWindow")] pub preferred_maintenance_window: Option, /// The number of CPU cores and the number of threads per core for the DB instance /// class of the DB instance. /// - /// /// This setting doesn't apply to RDS Custom. /// - /// /// Amazon Aurora /// - /// /// Not applicable. #[serde(default, skip_serializing_if = "Option::is_none", rename = "processorFeatures")] pub processor_features: Option>, @@ -1408,19 +1080,15 @@ pub struct DBInstanceSpec { /// more information, see Fault Tolerance for an Aurora DB Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.FaultTolerance) /// in the Amazon Aurora User Guide. /// - /// /// This setting doesn't apply to RDS Custom. /// - /// /// Default: 1 /// - /// /// Valid Values: 0 - 15 #[serde(default, skip_serializing_if = "Option::is_none", rename = "promotionTier")] pub promotion_tier: Option, /// A value that indicates whether the DB instance is publicly accessible. /// - /// /// When the DB instance is publicly accessible, its Domain Name System (DNS) /// endpoint resolves to the private IP address from within the DB instance's /// virtual private cloud (VPC). It resolves to the public IP address from outside @@ -1428,58 +1096,46 @@ pub struct DBInstanceSpec { /// by the security group it uses. That public access is not permitted if the /// security group assigned to the DB instance doesn't permit it. /// - /// /// When the DB instance isn't publicly accessible, it is an internal DB instance /// with a DNS name that resolves to a private IP address. /// - /// /// Default: The default behavior varies depending on whether DBSubnetGroupName /// is specified. /// - /// /// If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, /// the following applies: /// - /// /// * If the default VPC in the target Region doesn’t have an internet gateway /// attached to it, the DB instance is private. /// - /// /// * If the default VPC in the target Region has an internet gateway attached /// to it, the DB instance is public. /// - /// /// If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, /// the following applies: /// - /// /// * If the subnets are part of a VPC that doesn’t have an internet gateway /// attached to it, the DB instance is private. /// - /// /// * If the subnets are part of a VPC that has an internet gateway attached /// to it, the DB instance is public. #[serde(default, skip_serializing_if = "Option::is_none", rename = "publiclyAccessible")] pub publicly_accessible: Option, /// The open mode of the replica database: mounted or read-only. /// - /// /// This parameter is only supported for Oracle DB instances. /// - /// /// Mounted DB replicas are included in Oracle Database Enterprise Edition. The /// main use case for mounted replicas is cross-Region disaster recovery. The /// primary database doesn't use Active Data Guard to transmit information to /// the mounted replica. Because it doesn't accept user connections, a mounted /// replica can't serve a read-only workload. /// - /// /// You can create a combination of mounted and read-only DB replicas for the /// same primary DB instance. For more information, see Working with Oracle Read /// Replicas for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) /// in the Amazon RDS User Guide. /// - /// /// For RDS Custom, you must specify this parameter and set it to mounted. The /// value won't be set by default. After replica creation, you can manage the /// open mode manually. @@ -1489,36 +1145,28 @@ pub struct DBInstanceSpec { /// replica. Each DB instance can have up to 15 read replicas, with the exception /// of Oracle and SQL Server, which can have up to five. /// - /// /// Constraints: /// - /// /// * Must be the identifier of an existing MySQL, MariaDB, Oracle, PostgreSQL, /// or SQL Server DB instance. /// - /// /// * Can't be specified if the SourceDBClusterIdentifier parameter is also /// specified. /// - /// /// * For the limitations of Oracle read replicas, see Version and licensing /// considerations for RDS for Oracle replicas (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.limitations.html#oracle-read-replicas.limitations.versions-and-licenses) /// in the Amazon RDS User Guide. /// - /// /// * For the limitations of SQL Server read replicas, see Read replica limitations /// with SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.ReadReplicas.html#SQLServer.ReadReplicas.Limitations) /// in the Amazon RDS User Guide. /// - /// /// * The specified DB instance must have automatic backups enabled, that /// is, its backup retention period must be greater than 0. /// - /// /// * If the source DB instance is in the same Amazon Web Services Region /// as the read replica, specify a valid DB instance identifier. /// - /// /// * If the source DB instance is in a different Amazon Web Services Region /// from the read replica, specify a valid DB instance ARN. For more information, /// see Constructing an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing) @@ -1534,41 +1182,31 @@ pub struct DBInstanceSpec { /// A value that indicates whether the DB instance is encrypted. By default, /// it isn't encrypted. /// - /// /// For RDS Custom instances, either set this parameter to true or leave it unset. /// If you set this parameter to false, RDS reports an error. /// - /// /// Amazon Aurora /// - /// /// Not applicable. The encryption for DB instances is managed by the DB cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageEncrypted")] pub storage_encrypted: Option, /// Specifies the storage throughput value for the DB instance. /// - /// /// This setting applies only to the gp3 storage type. /// - /// /// This setting doesn't apply to RDS Custom or Amazon Aurora. #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageThroughput")] pub storage_throughput: Option, /// Specifies the storage type to be associated with the DB instance. /// - /// /// Valid values: gp2 | gp3 | io1 | standard /// - /// /// If you specify io1 or gp3, you must also include a value for the Iops parameter. /// - /// /// Default: io1 if the Iops parameter is specified, otherwise gp2 /// - /// /// Amazon Aurora /// - /// /// Not applicable. Storage is managed by the DB cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageType")] pub storage_type: Option, @@ -1577,20 +1215,16 @@ pub struct DBInstanceSpec { pub tags: Option>, /// The ARN from the key store with which to associate the instance for TDE encryption. /// - /// /// This setting doesn't apply to RDS Custom. /// - /// /// Amazon Aurora /// - /// /// Not applicable. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tdeCredentialARN")] pub tde_credential_arn: Option, /// The password for the given ARN from the key store in order to access the /// device. /// - /// /// This setting doesn't apply to RDS Custom. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tdeCredentialPassword")] pub tde_credential_password: Option, @@ -1601,20 +1235,16 @@ pub struct DBInstanceSpec { /// A value that indicates whether the DB instance class of the DB instance uses /// its default processor features. /// - /// /// This setting doesn't apply to RDS Custom. #[serde(default, skip_serializing_if = "Option::is_none", rename = "useDefaultProcessorFeatures")] pub use_default_processor_features: Option, /// A list of Amazon EC2 VPC security groups to associate with this DB instance. /// - /// /// Amazon Aurora /// - /// /// Not applicable. The associated list of EC2 VPC security groups is managed /// by the DB cluster. /// - /// /// Default: The default EC2 VPC security group for the DB subnet group's VPC. #[serde(default, skip_serializing_if = "Option::is_none", rename = "vpcSecurityGroupIDs")] pub vpc_security_group_i_ds: Option>, @@ -1627,7 +1257,6 @@ pub struct DBInstanceSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1653,7 +1282,6 @@ pub struct DBInstanceDbParameterGroupRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1679,7 +1307,6 @@ pub struct DBInstanceDbSubnetGroupRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1703,43 +1330,30 @@ pub struct DBInstanceKmsKeyRefFrom { /// The password for the master user. The password can include any printable /// ASCII character except "/", """, or "@". /// -/// /// Amazon Aurora /// -/// /// Not applicable. The password for the master user is managed by the DB cluster. /// -/// /// Constraints: Can't be specified if ManageMasterUserPassword is turned on. /// -/// /// MariaDB /// -/// /// Constraints: Must contain from 8 to 41 characters. /// -/// /// Microsoft SQL Server /// -/// /// Constraints: Must contain from 8 to 128 characters. /// -/// /// MySQL /// -/// /// Constraints: Must contain from 8 to 41 characters. /// -/// /// Oracle /// -/// /// Constraints: Must contain from 8 to 30 characters. /// -/// /// PostgreSQL /// -/// /// Constraints: Must contain from 8 to 128 characters. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct DBInstanceMasterUserPassword { @@ -1758,7 +1372,6 @@ pub struct DBInstanceMasterUserPassword { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1781,63 +1394,46 @@ pub struct DBInstanceMasterUserSecretKmsKeyRefFrom { /// Contains the processor features of a DB instance class. /// -/// /// To specify the number of CPU cores, use the coreCount feature name for the /// Name parameter. To specify the number of threads per core, use the threadsPerCore /// feature name for the Name parameter. /// -/// /// You can set the processor features of the DB instance class for a DB instance /// when you call one of the following actions: /// -/// /// * CreateDBInstance /// -/// /// * ModifyDBInstance /// -/// /// * RestoreDBInstanceFromDBSnapshot /// -/// /// * RestoreDBInstanceFromS3 /// -/// /// * RestoreDBInstanceToPointInTime /// -/// /// You can view the valid processor values for a particular instance class by /// calling the DescribeOrderableDBInstanceOptions action and specifying the /// instance class for the DBInstanceClass parameter. /// -/// /// In addition, you can use the following actions for DB instance class processor /// information: /// -/// /// * DescribeDBInstances /// -/// /// * DescribeDBSnapshots /// -/// /// * DescribeValidDBInstanceModifications /// -/// /// If you call DescribeDBInstances, ProcessorFeature returns non-null values /// only if the following conditions are met: /// -/// /// * You are accessing an Oracle DB instance. /// -/// /// * Your Oracle DB instance class supports configuring the number of CPU /// cores and threads per core. /// -/// /// * The current number CPU cores and threads is set to a non-default value. /// -/// /// For more information, see Configuring the Processor of the DB Instance Class /// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor) /// in the Amazon RDS User Guide. @@ -1851,7 +1447,6 @@ pub struct DBInstanceProcessorFeatures { /// Metadata assigned to an Amazon RDS resource consisting of a key-value pair. /// -/// /// For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) /// in the Amazon RDS User Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1867,7 +1462,6 @@ pub struct DBInstanceTags { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1948,18 +1542,15 @@ pub struct DBInstanceStatus { /// Specifies whether a customer-owned IP address (CoIP) is enabled for an RDS /// on Outposts DB instance. /// - /// /// A CoIP provides local or external connectivity to resources in your Outpost /// subnets through your on-premises network. For some use cases, a CoIP can /// provide lower latency for connections to the DB instance from outside of /// its virtual private cloud (VPC) on your local network. /// - /// /// For more information about RDS on Outposts, see Working with Amazon RDS on /// Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) /// in the Amazon RDS User Guide. /// - /// /// For more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing) /// in the Amazon Web Services Outposts User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "customerOwnedIPEnabled")] @@ -1973,7 +1564,6 @@ pub struct DBInstanceStatus { pub db_instance_port: Option, /// Specifies the current state of this database. /// - /// /// For information about DB instance statuses, see Viewing DB instance status /// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/accessing-monitoring.html#Overview.DBInstance.Status) /// in the Amazon RDS User Guide. @@ -2001,7 +1591,6 @@ pub struct DBInstanceStatus { /// A list of log types that this DB instance is configured to export to CloudWatch /// Logs. /// - /// /// Log types vary by DB engine. For information about the log types for each /// DB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html) /// in the Amazon RDS User Guide. @@ -2009,7 +1598,6 @@ pub struct DBInstanceStatus { pub enabled_cloudwatch_logs_exports: Option>, /// Specifies the connection endpoint. /// - /// /// The endpoint might not be shown for instances whose status is creating. #[serde(default, skip_serializing_if = "Option::is_none")] pub endpoint: Option, @@ -2020,16 +1608,12 @@ pub struct DBInstanceStatus { /// True if mapping of Amazon Web Services Identity and Access Management (IAM) /// accounts to database accounts is enabled, and otherwise false. /// - /// /// IAM database authentication can be enabled for the following database engines /// - /// /// * For MySQL 5.6, minor version 5.6.34 or higher /// - /// /// * For MySQL 5.7, minor version 5.7.16 or higher /// - /// /// * Aurora 5.6 or higher. To enable IAM database authentication for Aurora, /// see DBCluster Type. #[serde(default, skip_serializing_if = "Option::is_none", rename = "iamDatabaseAuthenticationEnabled")] @@ -2047,7 +1631,6 @@ pub struct DBInstanceStatus { /// Contains the secret managed by RDS in Amazon Web Services Secrets Manager /// for the master user password. /// - /// /// For more information, see Password management with Amazon Web Services Secrets /// Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) /// in the Amazon RDS User Guide. @@ -2067,7 +1650,6 @@ pub struct DBInstanceStatus { /// cluster for the Aurora read replica is shown. This output doesn't contain /// information about cross-Region Aurora read replicas. /// - /// /// Currently, each RDS DB instance can have only one Aurora read replica. #[serde(default, skip_serializing_if = "Option::is_none", rename = "readReplicaDBClusterIdentifiers")] pub read_replica_db_cluster_identifiers: Option>, @@ -2113,7 +1695,6 @@ pub struct DBInstanceStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, @@ -2157,25 +1738,18 @@ pub struct DBInstanceStatusDbInstanceAutomatedBackupsReplications { /// The status of the DB parameter group. /// -/// /// This data type is used as a response element in the following actions: /// -/// /// * CreateDBInstance /// -/// /// * CreateDBInstanceReadReplica /// -/// /// * DeleteDBInstance /// -/// /// * ModifyDBInstance /// -/// /// * RebootDBInstance /// -/// /// * RestoreDBInstanceFromDBSnapshot #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct DBInstanceStatusDbParameterGroups { @@ -2211,7 +1785,6 @@ pub struct DBInstanceStatusDbSubnetGroup { pub struct DBInstanceStatusDbSubnetGroupSubnets { /// Contains Availability Zone information. /// - /// /// This data type is used as an element in the OrderableDBInstanceOption data /// type. #[serde(default, skip_serializing_if = "Option::is_none", rename = "subnetAvailabilityZone")] @@ -2220,7 +1793,6 @@ pub struct DBInstanceStatusDbSubnetGroupSubnets { pub subnet_identifier: Option, /// A data type that represents an Outpost. /// - /// /// For more information about RDS on Outposts, see Amazon RDS on Amazon Web /// Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) /// in the Amazon RDS User Guide. @@ -2232,7 +1804,6 @@ pub struct DBInstanceStatusDbSubnetGroupSubnets { /// Contains Availability Zone information. /// -/// /// This data type is used as an element in the OrderableDBInstanceOption data /// type. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -2243,7 +1814,6 @@ pub struct DBInstanceStatusDbSubnetGroupSubnetsSubnetAvailabilityZone { /// A data type that represents an Outpost. /// -/// /// For more information about RDS on Outposts, see Amazon RDS on Amazon Web /// Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) /// in the Amazon RDS User Guide. @@ -2269,7 +1839,6 @@ pub struct DBInstanceStatusDomainMemberships { /// Specifies the connection endpoint. /// -/// /// The endpoint might not be shown for instances whose status is creating. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct DBInstanceStatusEndpoint { @@ -2295,7 +1864,6 @@ pub struct DBInstanceStatusListenerEndpoint { /// Contains the secret managed by RDS in Amazon Web Services Secrets Manager /// for the master user password. /// -/// /// For more information, see Password management with Amazon Web Services Secrets /// Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) /// in the Amazon RDS User Guide. @@ -2377,63 +1945,46 @@ pub struct DBInstanceStatusPendingModifiedValuesPendingCloudwatchLogsExports { /// Contains the processor features of a DB instance class. /// -/// /// To specify the number of CPU cores, use the coreCount feature name for the /// Name parameter. To specify the number of threads per core, use the threadsPerCore /// feature name for the Name parameter. /// -/// /// You can set the processor features of the DB instance class for a DB instance /// when you call one of the following actions: /// -/// /// * CreateDBInstance /// -/// /// * ModifyDBInstance /// -/// /// * RestoreDBInstanceFromDBSnapshot /// -/// /// * RestoreDBInstanceFromS3 /// -/// /// * RestoreDBInstanceToPointInTime /// -/// /// You can view the valid processor values for a particular instance class by /// calling the DescribeOrderableDBInstanceOptions action and specifying the /// instance class for the DBInstanceClass parameter. /// -/// /// In addition, you can use the following actions for DB instance class processor /// information: /// -/// /// * DescribeDBInstances /// -/// /// * DescribeDBSnapshots /// -/// /// * DescribeValidDBInstanceModifications /// -/// /// If you call DescribeDBInstances, ProcessorFeature returns non-null values /// only if the following conditions are met: /// -/// /// * You are accessing an Oracle DB instance. /// -/// /// * Your Oracle DB instance class supports configuring the number of CPU /// cores and threads per core. /// -/// /// * The current number CPU cores and threads is set to a non-default value. /// -/// /// For more information, see Configuring the Processor of the DB Instance Class /// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor) /// in the Amazon RDS User Guide. diff --git a/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbparametergroups.rs b/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbparametergroups.rs index 4832f8f82..4d9290977 100644 --- a/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbparametergroups.rs +++ b/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbparametergroups.rs @@ -13,10 +13,8 @@ use self::prelude::*; /// DBParameterGroupSpec defines the desired state of DBParameterGroup. /// -/// /// Contains the details of an Amazon RDS DB parameter group. /// -/// /// This data type is used as a response element in the DescribeDBParameterGroups /// action. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -34,85 +32,60 @@ pub struct DBParameterGroupSpec { /// to a DB instance running a database engine and engine version compatible /// with that DB parameter group family. /// - /// /// To list all of the available parameter group families for a DB engine, use /// the following command: /// - /// /// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" /// --engine /// - /// /// For example, to list all of the available parameter group families for the /// MySQL DB engine, use the following command: /// - /// /// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" /// --engine mysql /// - /// /// The output contains duplicates. /// - /// /// The following are the valid DB engine values: /// - /// /// * aurora (for MySQL 5.6-compatible Aurora) /// - /// /// * aurora-mysql (for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora) /// - /// /// * aurora-postgresql /// - /// /// * mariadb /// - /// /// * mysql /// - /// /// * oracle-ee /// - /// /// * oracle-ee-cdb /// - /// /// * oracle-se2 /// - /// /// * oracle-se2-cdb /// - /// /// * postgres /// - /// /// * sqlserver-ee /// - /// /// * sqlserver-se /// - /// /// * sqlserver-ex /// - /// /// * sqlserver-web pub family: String, /// The name of the DB parameter group. /// - /// /// Constraints: /// - /// /// * Must be 1 to 255 letters, numbers, or hyphens. /// - /// /// * First character must be a letter /// - /// /// * Can't end with a hyphen or contain two consecutive hyphens /// - /// /// This value is stored as a lowercase string. pub name: String, #[serde(default, skip_serializing_if = "Option::is_none", rename = "parameterOverrides")] @@ -124,7 +97,6 @@ pub struct DBParameterGroupSpec { /// Metadata assigned to an Amazon RDS resource consisting of a key-value pair. /// -/// /// For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) /// in the Amazon RDS User Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -165,7 +137,6 @@ pub struct DBParameterGroupStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, @@ -180,7 +151,6 @@ pub struct DBParameterGroupStatusAckResourceMetadata { /// This data type is used as a request parameter in the ModifyDBParameterGroup /// and ResetDBParameterGroup actions. /// -/// /// This data type is used as a response element in the DescribeEngineDefaultParameters /// and DescribeDBParameters actions. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] diff --git a/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbproxies.rs b/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbproxies.rs index a0c9f6571..cd630db30 100644 --- a/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbproxies.rs +++ b/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbproxies.rs @@ -12,10 +12,8 @@ use self::prelude::*; /// DBProxySpec defines the desired state of DBProxy. /// -/// /// The data structure representing a proxy managed by the RDS Proxy. /// -/// /// This data type is used as a response element in the DescribeDBProxies action. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "rds.services.k8s.aws", version = "v1alpha1", kind = "DBProxy", plural = "dbproxies")] @@ -96,7 +94,6 @@ pub struct DBProxyAuth { /// Metadata assigned to an Amazon RDS resource consisting of a key-value pair. /// -/// /// For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) /// in the Amazon RDS User Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -152,7 +149,6 @@ pub struct DBProxyStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbsubnetgroups.rs b/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbsubnetgroups.rs index a567dd3eb..7341ff4f9 100644 --- a/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbsubnetgroups.rs +++ b/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/dbsubnetgroups.rs @@ -12,10 +12,8 @@ use self::prelude::*; /// DBSubnetGroupSpec defines the desired state of DBSubnetGroup. /// -/// /// Contains the details of an Amazon RDS DB subnet group. /// -/// /// This data type is used as a response element in the DescribeDBSubnetGroups /// action. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -30,20 +28,15 @@ pub struct DBSubnetGroupSpec { pub description: String, /// The name for the DB subnet group. This value is stored as a lowercase string. /// - /// /// Constraints: /// - /// /// * Must contain no more than 255 letters, numbers, periods, underscores, /// spaces, or hyphens. /// - /// /// * Must not be default. /// - /// /// * First character must be a letter. /// - /// /// Example: mydbsubnetgroup pub name: String, /// The EC2 Subnet IDs for the DB subnet group. @@ -61,7 +54,6 @@ pub struct DBSubnetGroupSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -84,7 +76,6 @@ pub struct DBSubnetGroupSubnetRefsFrom { /// Metadata assigned to an Amazon RDS resource consisting of a key-value pair. /// -/// /// For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) /// in the Amazon RDS User Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -117,20 +108,15 @@ pub struct DBSubnetGroupStatus { pub subnets: Option>, /// The network type of the DB subnet group. /// - /// /// Valid values: /// - /// /// * IPV4 /// - /// /// * DUAL /// - /// /// A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 /// protocols (DUAL). /// - /// /// For more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) /// in the Amazon RDS User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "supportedNetworkTypes")] @@ -151,7 +137,6 @@ pub struct DBSubnetGroupStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, @@ -169,7 +154,6 @@ pub struct DBSubnetGroupStatusAckResourceMetadata { pub struct DBSubnetGroupStatusSubnets { /// Contains Availability Zone information. /// - /// /// This data type is used as an element in the OrderableDBInstanceOption data /// type. #[serde(default, skip_serializing_if = "Option::is_none", rename = "subnetAvailabilityZone")] @@ -178,7 +162,6 @@ pub struct DBSubnetGroupStatusSubnets { pub subnet_identifier: Option, /// A data type that represents an Outpost. /// - /// /// For more information about RDS on Outposts, see Amazon RDS on Amazon Web /// Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) /// in the Amazon RDS User Guide. @@ -190,7 +173,6 @@ pub struct DBSubnetGroupStatusSubnets { /// Contains Availability Zone information. /// -/// /// This data type is used as an element in the OrderableDBInstanceOption data /// type. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -201,7 +183,6 @@ pub struct DBSubnetGroupStatusSubnetsSubnetAvailabilityZone { /// A data type that represents an Outpost. /// -/// /// For more information about RDS on Outposts, see Amazon RDS on Amazon Web /// Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) /// in the Amazon RDS User Guide. diff --git a/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/globalclusters.rs b/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/globalclusters.rs index 20784a10b..e1ea692f2 100644 --- a/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/globalclusters.rs +++ b/kube-custom-resources-rs/src/rds_services_k8s_aws/v1alpha1/globalclusters.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// GlobalClusterSpec defines the desired state of GlobalCluster. /// -/// /// A data type representing an Aurora global database. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "rds.services.k8s.aws", version = "v1alpha1", kind = "GlobalCluster", plural = "globalclusters")] @@ -94,7 +93,6 @@ pub struct GlobalClusterStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/resources_teleport_dev/v3/teleportoidcconnectors.rs b/kube-custom-resources-rs/src/resources_teleport_dev/v3/teleportoidcconnectors.rs index 1a8f8af9d..5483d8fa1 100644 --- a/kube-custom-resources-rs/src/resources_teleport_dev/v3/teleportoidcconnectors.rs +++ b/kube-custom-resources-rs/src/resources_teleport_dev/v3/teleportoidcconnectors.rs @@ -114,6 +114,9 @@ pub struct TeleportOIDCConnectorMfa { /// Enabled specified whether this OIDC connector supports MFA checks. Defaults to false. #[serde(default, skip_serializing_if = "Option::is_none")] pub enabled: Option, + /// MaxAge is the amount of time in nanoseconds that an IdP session is valid for. Defaults to 0 to always force re-authentication for MFA checks. This should only be set to a non-zero value if the IdP is setup to perform MFA checks on top of active user sessions. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub max_age: Option, /// Prompt is an optional OIDC prompt. An empty string omits prompt. If not specified, it defaults to select_account for backwards compatibility. #[serde(default, skip_serializing_if = "Option::is_none")] pub prompt: Option, diff --git a/kube-custom-resources-rs/src/route53_services_k8s_aws/v1alpha1/hostedzones.rs b/kube-custom-resources-rs/src/route53_services_k8s_aws/v1alpha1/hostedzones.rs index 9f43f18bc..bf0c325b8 100644 --- a/kube-custom-resources-rs/src/route53_services_k8s_aws/v1alpha1/hostedzones.rs +++ b/kube-custom-resources-rs/src/route53_services_k8s_aws/v1alpha1/hostedzones.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// HostedZoneSpec defines the desired state of HostedZone. /// -/// /// A complex type that contains general information about the hosted zone. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "route53.services.k8s.aws", version = "v1alpha1", kind = "HostedZone", plural = "hostedzones")] @@ -27,7 +26,6 @@ pub struct HostedZoneSpec { /// you created it. For more information about reusable delegation sets, see /// CreateReusableDelegationSet (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html). /// - /// /// If you are using a reusable delegation set to create a public hosted zone /// for a subdomain, make sure that the parent hosted zone doesn't use one or /// more of the same name servers. If you have overlapping nameservers, the operation @@ -36,13 +34,10 @@ pub struct HostedZoneSpec { pub delegation_set_id: Option, /// (Optional) A complex type that contains the following optional values: /// - /// /// * For public and private hosted zones, an optional comment /// - /// /// * For private hosted zones, an optional PrivateZone element /// - /// /// If you don't specify a comment or the PrivateZone element, omit HostedZoneConfig /// and the other elements. #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostedZoneConfig")] @@ -52,7 +47,6 @@ pub struct HostedZoneSpec { /// the domain name is fully qualified. This means that Route 53 treats www.example.com /// (without a trailing dot) and www.example.com. (with a trailing dot) as identical. /// - /// /// If you're creating a public hosted zone, this is the name you have registered /// with your DNS registrar. If your domain name is registered with a registrar /// other than Route 53, change the name servers for your domain to the set of @@ -62,19 +56,16 @@ pub struct HostedZoneSpec { /// specified health check or hosted zone and/or the tags that you want to edit /// Value for. /// - /// /// You can add a maximum of 10 tags to a health check or a hosted zone. #[serde(default, skip_serializing_if = "Option::is_none")] pub tags: Option>, /// (Private hosted zones only) A complex type that contains information about /// the Amazon VPC that you're associating with this hosted zone. /// - /// /// You can specify only one Amazon VPC when you create a private hosted zone. /// If you are associating a VPC with a hosted zone with this request, the paramaters /// VPCId and VPCRegion are also required. /// - /// /// To associate additional Amazon VPCs with the hosted zone, use AssociateVPCWithHostedZone /// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AssociateVPCWithHostedZone.html) /// after you create a hosted zone. @@ -84,13 +75,10 @@ pub struct HostedZoneSpec { /// (Optional) A complex type that contains the following optional values: /// -/// /// * For public and private hosted zones, an optional comment /// -/// /// * For private hosted zones, an optional PrivateZone element /// -/// /// If you don't specify a comment or the PrivateZone element, omit HostedZoneConfig /// and the other elements. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -114,12 +102,10 @@ pub struct HostedZoneTags { /// (Private hosted zones only) A complex type that contains information about /// the Amazon VPC that you're associating with this hosted zone. /// -/// /// You can specify only one Amazon VPC when you create a private hosted zone. /// If you are associating a VPC with a hosted zone with this request, the paramaters /// VPCId and VPCRegion are also required. /// -/// /// To associate additional Amazon VPCs with the hosted zone, use AssociateVPCWithHostedZone /// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AssociateVPCWithHostedZone.html) /// after you create a hosted zone. @@ -180,7 +166,6 @@ pub struct HostedZoneStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/route53_services_k8s_aws/v1alpha1/recordsets.rs b/kube-custom-resources-rs/src/route53_services_k8s_aws/v1alpha1/recordsets.rs index ee8e7c255..70ca2c692 100644 --- a/kube-custom-resources-rs/src/route53_services_k8s_aws/v1alpha1/recordsets.rs +++ b/kube-custom-resources-rs/src/route53_services_k8s_aws/v1alpha1/recordsets.rs @@ -23,15 +23,12 @@ pub struct RecordSetSpec { /// resource, such as a CloudFront distribution or an Amazon S3 bucket, that /// you want to route traffic to. /// - /// /// If you're creating resource records sets for a private hosted zone, note /// the following: /// - /// /// * You can't create an alias resource record set in a private hosted zone /// to route traffic to a CloudFront distribution. /// - /// /// * For information about creating failover resource record sets in a private /// hosted zone, see Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) /// in the Amazon Route 53 Developer Guide. @@ -43,7 +40,6 @@ pub struct RecordSetSpec { /// The object that is specified in resource record set object when you are linking /// a resource record set to a CIDR location. /// - /// /// A LocationName with an asterisk “*” can be used to create a default CIDR /// record. CollectionId is still required for default record. #[serde(default, skip_serializing_if = "Option::is_none", rename = "cidrRoutingConfig")] @@ -55,47 +51,37 @@ pub struct RecordSetSpec { /// specify the health check that you want Amazon Route 53 to perform for each /// resource record set. /// - /// /// Except where noted, the following failover behaviors assume that you have /// included the HealthCheckId element in both resource record sets: /// - /// /// * When the primary resource record set is healthy, Route 53 responds to /// DNS queries with the applicable value from the primary resource record /// set regardless of the health of the secondary resource record set. /// - /// /// * When the primary resource record set is unhealthy and the secondary /// resource record set is healthy, Route 53 responds to DNS queries with /// the applicable value from the secondary resource record set. /// - /// /// * When the secondary resource record set is unhealthy, Route 53 responds /// to DNS queries with the applicable value from the primary resource record /// set regardless of the health of the primary resource record set. /// - /// /// * If you omit the HealthCheckId element for the secondary resource record /// set, and if the primary resource record set is unhealthy, Route 53 always /// responds to DNS queries with the applicable value from the secondary resource /// record set. This is true regardless of the health of the associated endpoint. /// - /// /// You can't create non-failover resource record sets that have the same values /// for the Name and Type elements as failover resource record sets. /// - /// /// For failover alias resource record sets, you must also include the EvaluateTargetHealth /// element and set the value to true. /// - /// /// For more information about configuring failover for Route 53, see the following /// topics in the Amazon Route 53 Developer Guide: /// - /// /// * Route 53 Health Checks and DNS Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) /// - /// /// * Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) #[serde(default, skip_serializing_if = "Option::is_none")] pub failover: Option, @@ -105,27 +91,22 @@ pub struct RecordSetSpec { /// to a web server with an IP address of 192.0.2.111, create a resource record /// set with a Type of A and a ContinentCode of AF. /// - /// /// Although creating geolocation and geolocation alias resource record sets /// in a private hosted zone is allowed, it's not supported. /// - /// /// If you create separate resource record sets for overlapping geographic regions /// (for example, one resource record set for a continent and one for a country /// on the same continent), priority goes to the smallest geographic region. /// This allows you to route most queries for a continent to one resource and /// to route queries for a country on that continent to a different resource. /// - /// /// You can't create two geolocation resource record sets that specify the same /// geographic location. /// - /// /// The value * in the CountryCode element matches all geographic locations that /// aren't specified in other geolocation resource record sets that have the /// same values for the Name and Type elements. /// - /// /// Geolocation works by mapping IP addresses to locations. However, some IP /// addresses aren't mapped to geographic locations, so even if you create geolocation /// resource record sets that cover all seven continents, Route 53 will receive @@ -137,7 +118,6 @@ pub struct RecordSetSpec { /// a location. If you don't create a * resource record set, Route 53 returns /// a "no answer" response for queries from those locations. /// - /// /// You can't create non-geolocation resource record sets that have the same /// values for the Name and Type elements as geolocation resource record sets. #[serde(default, skip_serializing_if = "Option::is_none", rename = "geoLocation")] @@ -146,52 +126,40 @@ pub struct RecordSetSpec { /// to a DNS query only when the status of a health check is healthy, include /// the HealthCheckId element and specify the ID of the applicable health check. /// - /// /// Route 53 determines whether a resource record set is healthy based on one /// of the following: /// - /// /// * By periodically sending a request to the endpoint that is specified /// in the health check /// - /// /// * By aggregating the status of a specified group of health checks (calculated /// health checks) /// - /// /// * By determining the current state of a CloudWatch alarm (CloudWatch metric /// health checks) /// - /// /// Route 53 doesn't check the health of the endpoint that is specified in the /// resource record set, for example, the endpoint specified by the IP address /// in the Value element. When you add a HealthCheckId element to a resource /// record set, Route 53 checks the health of the endpoint that you specified /// in the health check. /// - /// /// For more information, see the following topics in the Amazon Route 53 Developer /// Guide: /// - /// /// * How Amazon Route 53 Determines Whether an Endpoint Is Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) /// - /// /// * Route 53 Health Checks and DNS Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) /// - /// /// * Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) /// - /// /// When to Specify HealthCheckId /// - /// /// Specifying a value for HealthCheckId is useful only when Route 53 is choosing /// between two or more resource record sets to respond to a DNS query, and you /// want Route 53 to base the choice in part on the status of a health check. /// Configuring health checks makes sense only in the following configurations: /// - /// /// * Non-alias resource record sets: You're checking the health of a group /// of non-alias resource record sets that have the same routing policy, name, /// and type (such as multiple weighted records named www.example.com with @@ -204,7 +172,6 @@ pub struct RecordSetSpec { /// record sets in the group is unhealthy, Route 53 considers all resource /// record sets in the group healthy and responds to DNS queries accordingly. /// - /// /// * Alias resource record sets: You specify the following settings: You /// set EvaluateTargetHealth to true for an alias resource record set in a /// group of resource record sets that have the same routing policy, name, @@ -221,10 +188,8 @@ pub struct RecordSetSpec { /// and type. In that configuration, associate health checks with all of the /// resource record sets in the group of non-alias resource record sets. /// - /// /// Geolocation Routing /// - /// /// For geolocation resource record sets, if an endpoint is unhealthy, Route /// 53 looks for a resource record set for the larger, associated geographic /// region. For example, suppose you have resource record sets for a state in @@ -234,19 +199,14 @@ pub struct RecordSetSpec { /// Route 53 checks for healthy resource record sets in the following order until /// it finds a resource record set for which the endpoint is healthy: /// - /// /// * The United States /// - /// /// * North America /// - /// /// * The default resource record set /// - /// /// Specifying the Health Check Endpoint by Domain Name /// - /// /// If your health checks specify the endpoint only by domain name, we recommend /// that you create a separate health check for each endpoint. For example, create /// a health check for each HTTP server that is serving content for www.example.com. @@ -254,14 +214,11 @@ pub struct RecordSetSpec { /// server (such as us-east-2-www.example.com), not the name of the resource /// record sets (www.example.com). /// - /// /// Health check results will be unpredictable if you do the following: /// - /// /// * Create a health check that has the same value for FullyQualifiedDomainName /// as the name of a resource record set. /// - /// /// * Associate that health check with the resource record set. #[serde(default, skip_serializing_if = "Option::is_none", rename = "healthCheckID")] pub health_check_id: Option, @@ -274,7 +231,6 @@ pub struct RecordSetSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostedZoneRef")] @@ -284,33 +240,26 @@ pub struct RecordSetSpec { /// answer record for each resource and specify true for MultiValueAnswer. Note /// the following: /// - /// /// * If you associate a health check with a multivalue answer resource record /// set, Amazon Route 53 responds to DNS queries with the corresponding IP /// address only when the health check is healthy. /// - /// /// * If you don't associate a health check with a multivalue answer record, /// Route 53 always considers the record to be healthy. /// - /// /// * Route 53 responds to DNS queries with up to eight healthy records; if /// you have eight or fewer healthy records, Route 53 responds to all DNS /// queries with all the healthy records. /// - /// /// * If you have more than eight healthy records, Route 53 responds to different /// DNS resolvers with different combinations of healthy records. /// - /// /// * When all records are unhealthy, Route 53 responds to DNS queries with /// up to eight unhealthy records. /// - /// /// * If a resource becomes unavailable after a resolver caches a response, /// client software typically tries another of the IP addresses in the response. /// - /// /// You can't create multivalue answer alias records. #[serde(default, skip_serializing_if = "Option::is_none", rename = "multiValueAnswer")] pub multi_value_answer: Option, @@ -318,40 +267,32 @@ pub struct RecordSetSpec { /// to create, update, or delete. For ListResourceRecordSets responses, the name /// of a record in the specified hosted zone. /// - /// /// ChangeResourceRecordSets Only /// - /// /// Enter a fully qualified domain name, for example, www.example.com. You can /// optionally include a trailing dot. If you omit the trailing dot, Amazon Route /// 53 assumes that the domain name that you specify is fully qualified. This /// means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. /// (with a trailing dot) as identical. /// - /// /// For information about how to specify characters other than a-z, 0-9, and /// - (hyphen) and how to specify internationalized domain names, see DNS Domain /// Name Format (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) /// in the Amazon Route 53 Developer Guide. /// - /// /// You can use the asterisk (*) wildcard to replace the leftmost label in a /// domain name, for example, *.example.com. Note the following: /// - /// /// * The * must replace the entire label. For example, you can't specify /// *prod.example.com or prod*.example.com. /// - /// /// * The * can't replace any of the middle labels, for example, marketing.*.example.com. /// - /// /// * If you include * in any position other than the leftmost label in a /// domain name, DNS treats it as an * character (ASCII 42), not as a wildcard. /// You can't use the * wildcard for resource records sets that have a type /// of NS. /// - /// /// You can use the * wildcard as the leftmost label in a domain name, for example, /// *.example.com. You can't use an * for one of the middle labels, for example, /// marketing.*.example.com. In addition, the * must replace the entire label; @@ -362,21 +303,17 @@ pub struct RecordSetSpec { /// data is encoded for them, see Supported DNS Resource Record Types (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) /// in the Amazon Route 53 Developer Guide. /// - /// /// Valid values for basic resource record sets: A | AAAA | CAA | CNAME | DS /// |MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT /// - /// /// Values for weighted, latency, geolocation, and failover resource record sets: /// A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating /// a group of weighted, latency, geolocation, or failover resource record sets, /// specify the same value for all of the resource record sets in the group. /// - /// /// Valid values for multivalue answer resource record sets: A | AAAA | MX | /// NAPTR | PTR | SPF | SRV | TXT /// - /// /// SPF records were formerly used to verify the identity of the sender of email /// messages. However, we no longer recommend that you create resource record /// sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework @@ -386,30 +323,22 @@ pub struct RecordSetSpec { /// for SPF version 1; implementations are not to use it." In RFC 7208, see section /// 14.1, The SPF DNS Record Type (http://tools.ietf.org/html/rfc7208#section-14.1). /// - /// /// Values for alias resource record sets: /// - /// /// * Amazon API Gateway custom regional APIs and edge-optimized APIs: A /// - /// /// * CloudFront distributions: A If IPv6 is enabled for the distribution, /// create two resource record sets to route traffic to your distribution, /// one with a value of A and one with a value of AAAA. /// - /// /// * Amazon API Gateway environment that has a regionalized subdomain: A /// - /// /// * ELB load balancers: A | AAAA /// - /// /// * Amazon S3 buckets: A /// - /// /// * Amazon Virtual Private Cloud interface VPC endpoints A /// - /// /// * Another resource record set in this hosted zone: Specify the type of /// the resource record set that you're creating the alias for. All values /// are supported except NS and SOA. If you're creating an alias record that @@ -426,37 +355,30 @@ pub struct RecordSetSpec { /// an ELB load balancer, and is referred to by an IP address or a DNS domain /// name, depending on the record type. /// - /// /// When Amazon Route 53 receives a DNS query for a domain name and type for /// which you have created latency resource record sets, Route 53 selects the /// latency resource record set that has the lowest latency between the end user /// and the associated Amazon EC2 Region. Route 53 then returns the value that /// is associated with the selected resource record set. /// - /// /// Note the following: /// - /// /// * You can only specify one ResourceRecord per latency resource record /// set. /// - /// /// * You can only create one latency resource record set for each Amazon /// EC2 Region. /// - /// /// * You aren't required to create latency resource record sets for all Amazon /// EC2 Regions. Route 53 will choose the region with the best latency from /// among the regions that you create latency resource record sets for. /// - /// /// * You can't create non-latency resource record sets that have the same /// values for the Name and Type elements as latency resource record sets. #[serde(default, skip_serializing_if = "Option::is_none")] pub region: Option, /// Information about the resource records to act upon. /// - /// /// If you're creating an alias resource record set, omit ResourceRecords. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceRecords")] pub resource_records: Option>, @@ -467,28 +389,23 @@ pub struct RecordSetSpec { /// sets that have the same name and type, the value of SetIdentifier must be /// unique for each resource record set. /// - /// /// For information about routing policies, see Choosing a Routing Policy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) /// in the Amazon Route 53 Developer Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "setIdentifier")] pub set_identifier: Option, /// The resource record cache time to live (TTL), in seconds. Note the following: /// - /// /// * If you're creating or updating an alias resource record set, omit TTL. /// Amazon Route 53 uses the value of TTL for the alias target. /// - /// /// * If you're associating this resource record set with a health check (if /// you're adding a HealthCheckId element), we recommend that you specify /// a TTL of 60 seconds or less so clients respond quickly to changes in health /// status. /// - /// /// * All of the resource record sets in a group of weighted resource record /// sets must have the same value for TTL. /// - /// /// * If a group of weighted resource record sets includes one or more weighted /// alias resource record sets for which the alias target is an ELB load balancer, /// we recommend that you specify a TTL of 60 seconds for all of the non-alias @@ -505,24 +422,19 @@ pub struct RecordSetSpec { /// to queries based on the ratio of a resource's weight to the total. Note the /// following: /// - /// /// * You must specify a value for the Weight element for every weighted resource /// record set. /// - /// /// * You can only specify one ResourceRecord per weighted resource record /// set. /// - /// /// * You can't create latency, failover, or geolocation resource record sets /// that have the same values for the Name and Type elements as weighted resource /// record sets. /// - /// /// * You can create a maximum of 100 weighted resource record sets that have /// the same values for the Name and Type elements. /// - /// /// * For weighted (but not weighted alias) resource record sets, if you set /// Weight to 0 for a resource record set, Route 53 never responds to queries /// with the applicable value for that resource record set. However, if you @@ -540,15 +452,12 @@ pub struct RecordSetSpec { /// resource, such as a CloudFront distribution or an Amazon S3 bucket, that /// you want to route traffic to. /// -/// /// If you're creating resource records sets for a private hosted zone, note /// the following: /// -/// /// * You can't create an alias resource record set in a private hosted zone /// to route traffic to a CloudFront distribution. /// -/// /// * For information about creating failover resource record sets in a private /// hosted zone, see Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) /// in the Amazon Route 53 Developer Guide. @@ -588,10 +497,8 @@ pub struct RecordSetChangeBatchChangesResourceRecordSet { /// resource, such as a CloudFront distribution or an Amazon S3 bucket, that /// you want to route traffic to. /// - /// /// When creating resource record sets for a private hosted zone, note the following: /// - /// /// * For information about creating failover resource record sets in a private /// hosted zone, see Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html). #[serde(default, skip_serializing_if = "Option::is_none", rename = "aliasTarget")] @@ -599,7 +506,6 @@ pub struct RecordSetChangeBatchChangesResourceRecordSet { /// The object that is specified in resource record set object when you are linking /// a resource record set to a CIDR location. /// - /// /// A LocationName with an asterisk “*” can be used to create a default CIDR /// record. CollectionId is still required for default record. #[serde(default, skip_serializing_if = "Option::is_none", rename = "cidrRoutingConfig")] @@ -635,10 +541,8 @@ pub struct RecordSetChangeBatchChangesResourceRecordSet { /// resource, such as a CloudFront distribution or an Amazon S3 bucket, that /// you want to route traffic to. /// -/// /// When creating resource record sets for a private hosted zone, note the following: /// -/// /// * For information about creating failover resource record sets in a private /// hosted zone, see Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -654,7 +558,6 @@ pub struct RecordSetChangeBatchChangesResourceRecordSetAliasTarget { /// The object that is specified in resource record set object when you are linking /// a resource record set to a CIDR location. /// -/// /// A LocationName with an asterisk “*” can be used to create a default CIDR /// record. CollectionId is still required for default record. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -678,7 +581,6 @@ pub struct RecordSetChangeBatchChangesResourceRecordSetGeoLocation { /// Information specific to the resource record. /// -/// /// If you're creating an alias resource record set, omit ResourceRecord. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RecordSetChangeBatchChangesResourceRecordSetResourceRecords { @@ -689,7 +591,6 @@ pub struct RecordSetChangeBatchChangesResourceRecordSetResourceRecords { /// The object that is specified in resource record set object when you are linking /// a resource record set to a CIDR location. /// -/// /// A LocationName with an asterisk “*” can be used to create a default CIDR /// record. CollectionId is still required for default record. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -706,27 +607,22 @@ pub struct RecordSetCidrRoutingConfig { /// to a web server with an IP address of 192.0.2.111, create a resource record /// set with a Type of A and a ContinentCode of AF. /// -/// /// Although creating geolocation and geolocation alias resource record sets /// in a private hosted zone is allowed, it's not supported. /// -/// /// If you create separate resource record sets for overlapping geographic regions /// (for example, one resource record set for a continent and one for a country /// on the same continent), priority goes to the smallest geographic region. /// This allows you to route most queries for a continent to one resource and /// to route queries for a country on that continent to a different resource. /// -/// /// You can't create two geolocation resource record sets that specify the same /// geographic location. /// -/// /// The value * in the CountryCode element matches all geographic locations that /// aren't specified in other geolocation resource record sets that have the /// same values for the Name and Type elements. /// -/// /// Geolocation works by mapping IP addresses to locations. However, some IP /// addresses aren't mapped to geographic locations, so even if you create geolocation /// resource record sets that cover all seven continents, Route 53 will receive @@ -738,7 +634,6 @@ pub struct RecordSetCidrRoutingConfig { /// a location. If you don't create a * resource record set, Route 53 returns /// a "no answer" response for queries from those locations. /// -/// /// You can't create non-geolocation resource record sets that have the same /// values for the Name and Type elements as geolocation resource record sets. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -756,7 +651,6 @@ pub struct RecordSetGeoLocation { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -779,7 +673,6 @@ pub struct RecordSetHostedZoneRefFrom { /// Information specific to the resource record. /// -/// /// If you're creating an alias resource record set, omit ResourceRecord. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct RecordSetResourceRecords { @@ -828,7 +721,6 @@ pub struct RecordSetStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/route53resolver_services_k8s_aws/v1alpha1/resolverendpoints.rs b/kube-custom-resources-rs/src/route53resolver_services_k8s_aws/v1alpha1/resolverendpoints.rs index e88170e20..2f9ad4b7d 100644 --- a/kube-custom-resources-rs/src/route53resolver_services_k8s_aws/v1alpha1/resolverendpoints.rs +++ b/kube-custom-resources-rs/src/route53resolver_services_k8s_aws/v1alpha1/resolverendpoints.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// ResolverEndpointSpec defines the desired state of ResolverEndpoint. /// -/// /// In the response to a CreateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html), /// DeleteResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverEndpoint.html), /// GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html), @@ -30,11 +29,9 @@ use self::prelude::*; pub struct ResolverEndpointSpec { /// Specify the applicable value: /// - /// /// * INBOUND: Resolver forwards DNS queries to the DNS service for a VPC /// from your network /// - /// /// * OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC /// to your network pub direction: String, @@ -108,7 +105,6 @@ pub struct ResolverEndpointIpAddressesSubnetRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -178,27 +174,22 @@ pub struct ResolverEndpointStatus { /// A code that specifies the current status of the Resolver endpoint. Valid /// values include the following: /// - /// /// * CREATING: Resolver is creating and configuring one or more Amazon VPC /// network interfaces for this endpoint. /// - /// /// * OPERATIONAL: The Amazon VPC network interfaces for this endpoint are /// correctly configured and able to pass inbound or outbound DNS queries /// between your network and Resolver. /// - /// /// * UPDATING: Resolver is associating or disassociating one or more network /// interfaces with this endpoint. /// - /// /// * AUTO_RECOVERING: Resolver is trying to recover one or more of the network /// interfaces that are associated with this endpoint. During the recovery /// process, the endpoint functions with limited capacity because of the limit /// on the number of DNS queries per IP address (per network interface). For /// the current limit, see Limits on Route 53 Resolver (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-entities-resolver). /// - /// /// * ACTION_NEEDED: This endpoint is unhealthy, and Resolver can't automatically /// recover it. To resolve the problem, we recommend that you check each IP /// address that you associated with the endpoint. For each IP address that @@ -210,7 +201,6 @@ pub struct ResolverEndpointStatus { /// interface couldn't be created for some reason that's outside the control /// of Resolver. /// - /// /// * DELETING: Resolver is deleting this endpoint and the associated network /// interfaces. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -231,7 +221,6 @@ pub struct ResolverEndpointStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/route53resolver_services_k8s_aws/v1alpha1/resolverrules.rs b/kube-custom-resources-rs/src/route53resolver_services_k8s_aws/v1alpha1/resolverrules.rs index a095dfa84..17a03e791 100644 --- a/kube-custom-resources-rs/src/route53resolver_services_k8s_aws/v1alpha1/resolverrules.rs +++ b/kube-custom-resources-rs/src/route53resolver_services_k8s_aws/v1alpha1/resolverrules.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// ResolverRuleSpec defines the desired state of ResolverRule. /// -/// /// For queries that originate in your VPC, detailed information about a Resolver /// rule, which specifies how to route DNS queries out of the VPC. The ResolverRule /// parameter appears in the response to a CreateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html), @@ -48,18 +47,15 @@ pub struct ResolverRuleSpec { /// When you want to forward DNS queries for specified domain name to resolvers /// on your network, specify FORWARD. /// - /// /// When you have a forwarding rule to forward DNS queries for a domain to your /// network and you want Resolver to process queries for a subdomain of that /// domain, specify SYSTEM. /// - /// /// For example, to forward DNS queries for example.com to resolvers on your /// network, you create a rule and specify FORWARD for RuleType. To then have /// Resolver process queries for apex.example.com, you create a rule and specify /// SYSTEM for RuleType. /// - /// /// Currently, only Resolver can create rules that have a value of RECURSIVE /// for RuleType. #[serde(rename = "ruleType")] @@ -70,7 +66,6 @@ pub struct ResolverRuleSpec { /// The IPs that you want Resolver to forward DNS queries to. You can specify /// only IPv4 addresses. Separate IP addresses with a space. /// - /// /// TargetIps is available only when the value of Rule type is FORWARD. #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetIPs")] pub target_i_ps: Option>, @@ -178,7 +173,6 @@ pub struct ResolverRuleStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/s3_services_k8s_aws/v1alpha1/buckets.rs b/kube-custom-resources-rs/src/s3_services_k8s_aws/v1alpha1/buckets.rs index 21a653dbf..a7fba9116 100644 --- a/kube-custom-resources-rs/src/s3_services_k8s_aws/v1alpha1/buckets.rs +++ b/kube-custom-resources-rs/src/s3_services_k8s_aws/v1alpha1/buckets.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// BucketSpec defines the desired state of Bucket. /// -/// /// In terms of implementation, a Bucket is a resource. An Amazon S3 bucket name /// is globally unique, and the namespace is shared by all Amazon Web Services /// accounts. @@ -56,7 +55,6 @@ pub struct BucketSpec { pub grant_read_acp: Option, /// Allows grantee to create new objects in the bucket. /// - /// /// For the bucket and object owners of existing objects, also allows deletions /// and overwrites of those objects. #[serde(default, skip_serializing_if = "Option::is_none", rename = "grantWrite")] @@ -311,7 +309,6 @@ pub struct BucketEncryptionRulesApplyServerSideEncryptionByDefault { /// Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket. /// -/// /// For information about the S3 Intelligent-Tiering storage class, see Storage /// class for automatically optimizing frequently and infrequently accessed objects /// (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access). @@ -655,7 +652,6 @@ pub struct BucketLoggingLoggingEnabled { /// Container for granting information. /// -/// /// Buckets that use the bucket owner enforced setting for Object Ownership don't /// support target grants. For more information, see Permissions server access /// log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) @@ -922,16 +918,13 @@ pub struct BucketOwnershipControls { pub struct BucketOwnershipControlsRules { /// The container element for object ownership for a bucket's ownership controls. /// - /// /// BucketOwnerPreferred - Objects uploaded to the bucket change ownership to /// the bucket owner if the objects are uploaded with the bucket-owner-full-control /// canned ACL. /// - /// /// ObjectWriter - The uploading account will own the object if the object is /// uploaded with the bucket-owner-full-control canned ACL. /// - /// /// BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer /// affect permissions. The bucket owner automatically owns and has full control /// over every object in the bucket. The bucket only accepts PUT requests that @@ -978,11 +971,9 @@ pub struct BucketReplicationRules { /// delete markers for tag-based rules. For an example configuration, see Basic /// Rule Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). /// - /// /// For more information about delete marker replication, see Basic Rule Configuration /// (https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). /// - /// /// If you are using an earlier version of the replication configuration, Amazon /// S3 handles replication of delete markers differently. For more information, /// see Backward Compatibility (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations). @@ -1026,11 +1017,9 @@ pub struct BucketReplicationRules { /// delete markers for tag-based rules. For an example configuration, see Basic /// Rule Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). /// -/// /// For more information about delete marker replication, see Basic Rule Configuration /// (https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). /// -/// /// If you are using an earlier version of the replication configuration, Amazon /// S3 handles replication of delete markers differently. For more information, /// see Backward Compatibility (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations). @@ -1143,14 +1132,11 @@ pub struct BucketReplicationRulesFilter { /// of objects to which the rule applies. This element is required only if you /// specify more than one filter. /// - /// /// For example: /// - /// /// * If you specify both a Prefix and a Tag filter, wrap these filters in /// an And tag. /// - /// /// * If you specify a filter based on multiple tags, wrap the Tag elements /// in an And tag. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1166,14 +1152,11 @@ pub struct BucketReplicationRulesFilter { /// of objects to which the rule applies. This element is required only if you /// specify more than one filter. /// -/// /// For example: /// -/// /// * If you specify both a Prefix and a Tag filter, wrap these filters in /// an And tag. /// -/// /// * If you specify a filter based on multiple tags, wrap the Tag elements /// in an And tag. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -1216,7 +1199,6 @@ pub struct BucketReplicationRulesSourceSelectionCriteria { /// specify this element and set the status to Enabled to replicate modifications /// on replicas. /// - /// /// If you don't specify the Filter element, Amazon S3 assumes that the replication /// configuration is the earlier version, V1. In the earlier version, this element /// is not allowed. @@ -1234,7 +1216,6 @@ pub struct BucketReplicationRulesSourceSelectionCriteria { /// specify this element and set the status to Enabled to replicate modifications /// on replicas. /// -/// /// If you don't specify the Filter element, Amazon S3 assumes that the replication /// configuration is the earlier version, V1. In the earlier version, this element /// is not allowed. @@ -1399,7 +1380,6 @@ pub struct BucketStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/scylla_scylladb_com/v1/scyllaclusters.rs b/kube-custom-resources-rs/src/scylla_scylladb_com/v1/scyllaclusters.rs index 7390569df..014402fcd 100644 --- a/kube-custom-resources-rs/src/scylla_scylladb_com/v1/scyllaclusters.rs +++ b/kube-custom-resources-rs/src/scylla_scylladb_com/v1/scyllaclusters.rs @@ -2095,6 +2095,9 @@ pub struct ScyllaClusterStatusBackups { /// keyspace reflects a list of keyspace/tables glob patterns, e.g. 'keyspace,!keyspace.table_prefix_*' used to include or exclude keyspaces from repair. #[serde(default, skip_serializing_if = "Option::is_none")] pub keyspace: Option>, + /// labels reflects the labels of a task. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub labels: Option>, /// location reflects a list of backup locations in the format [:]: ex. s3:my-bucket. #[serde(default, skip_serializing_if = "Option::is_none")] pub location: Option>, @@ -2193,6 +2196,9 @@ pub struct ScyllaClusterStatusRepairs { /// keyspace reflects a list of keyspace/tables glob patterns, e.g. 'keyspace,!keyspace.table_prefix_*' used to include or exclude keyspaces from repair. #[serde(default, skip_serializing_if = "Option::is_none")] pub keyspace: Option>, + /// labels reflects the labels of a task. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub labels: Option>, /// name reflects the name of a task. #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, diff --git a/kube-custom-resources-rs/src/secretsmanager_services_k8s_aws/v1alpha1/secrets.rs b/kube-custom-resources-rs/src/secretsmanager_services_k8s_aws/v1alpha1/secrets.rs index 26edf5b87..a8484045b 100644 --- a/kube-custom-resources-rs/src/secretsmanager_services_k8s_aws/v1alpha1/secrets.rs +++ b/kube-custom-resources-rs/src/secretsmanager_services_k8s_aws/v1alpha1/secrets.rs @@ -31,15 +31,12 @@ pub struct SecretSpec { /// example alias/aws/secretsmanager. For more information, see About aliases /// (https://docs.aws.amazon.com/kms/latest/developerguide/alias-about.html). /// - /// /// To use a KMS key in a different account, use the key ARN or the alias ARN. /// - /// /// If you don't specify this value, then Secrets Manager uses the key aws/secretsmanager. /// If that key doesn't yet exist, then Secrets Manager creates it for you automatically /// the first time it encrypts the secret value. /// - /// /// If the secret is in a different Amazon Web Services account from the credentials /// calling the API, then you can't use aws/secretsmanager to encrypt the secret, /// and you must create and use a customer managed KMS key. @@ -47,11 +44,9 @@ pub struct SecretSpec { pub kms_key_id: Option, /// The name of the new secret. /// - /// /// The secret name can contain ASCII letters, numbers, and the following characters: /// /_+=.@- /// - /// /// Do not end your secret name with a hyphen followed by six characters. If /// you do so, you risk confusion and unexpected results when searching for a /// secret by partial ARN. Secrets Manager automatically adds a hyphen and six @@ -63,10 +58,8 @@ pub struct SecretSpec { /// The text data to encrypt and store in this new version of the secret. We /// recommend you use a JSON structure of key/value pairs for your secret value. /// - /// /// Either SecretString or SecretBinary must have a value, but not both. /// - /// /// If you create a secret by using the Secrets Manager console then Secrets /// Manager puts the protected secret text in only the SecretString parameter. /// The Secrets Manager console stores the information as a JSON structure of @@ -76,14 +69,11 @@ pub struct SecretSpec { /// A list of tags to attach to the secret. Each tag is a key and value pair /// of strings in a JSON text string, for example: /// - /// /// [{"Key":"CostCenter","Value":"12345"},{"Key":"environment","Value":"production"}] /// - /// /// Secrets Manager tag key names are case sensitive. A tag with the key "ABC" /// is a different tag from one with key "abc". /// - /// /// If you check tags in permissions policies as part of your security strategy, /// then adding or removing a tag can change permissions. If the completion of /// this operation would result in you losing your permissions for this secret, @@ -91,14 +81,12 @@ pub struct SecretSpec { /// For more information, see Control access to secrets using tags (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#tag-secrets-abac) /// and Limit access to identities with tags that match secrets' tags (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_tags2). /// - /// /// For information about how to format a JSON parameter for the various command /// line tool environments, see Using JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json). /// If your command-line tool or SDK requires quotation marks around the parameter, /// you should use single quotes to avoid confusion with the double quotes required /// in the JSON text. /// - /// /// For tag quotas and naming restrictions, see Service quotas for Tagging (https://docs.aws.amazon.com/general/latest/gr/arg.html#taged-reference-quotas) /// in the Amazon Web Services General Reference guide. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -117,10 +105,8 @@ pub struct SecretReplicaRegions { /// The text data to encrypt and store in this new version of the secret. We /// recommend you use a JSON structure of key/value pairs for your secret value. /// -/// /// Either SecretString or SecretBinary must have a value, but not both. /// -/// /// If you create a secret by using the Secrets Manager console then Secrets /// Manager puts the protected secret text in only the SecretString parameter. /// The Secrets Manager console stores the information as a JSON structure of @@ -165,14 +151,11 @@ pub struct SecretStatus { pub id: Option, /// A list of the replicas of this secret and their status: /// - /// /// * Failed, which indicates that the replica was not created. /// - /// /// * InProgress, which indicates that Secrets Manager is in the process of /// creating the replica. /// - /// /// * InSync, which indicates that the replica was created. #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicationStatus")] pub replication_status: Option>, @@ -192,7 +175,6 @@ pub struct SecretStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/security_profiles_operator_x_k8s_io/v1alpha1/apparmorprofiles.rs b/kube-custom-resources-rs/src/security_profiles_operator_x_k8s_io/v1alpha1/apparmorprofiles.rs index 6070e2aa7..f93964aaf 100644 --- a/kube-custom-resources-rs/src/security_profiles_operator_x_k8s_io/v1alpha1/apparmorprofiles.rs +++ b/kube-custom-resources-rs/src/security_profiles_operator_x_k8s_io/v1alpha1/apparmorprofiles.rs @@ -17,7 +17,62 @@ use self::prelude::*; #[kube(derive="Default")] #[kube(derive="PartialEq")] pub struct AppArmorProfileSpec { - pub policy: String, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "abstract")] + pub r#abstract: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub policy: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct AppArmorProfileAbstract { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub capability: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub executable: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub filesystem: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub network: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct AppArmorProfileAbstractCapability { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowedCapabilities")] + pub allowed_capabilities: Option>, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct AppArmorProfileAbstractExecutable { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowedExecutables")] + pub allowed_executables: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowedLibraries")] + pub allowed_libraries: Option>, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct AppArmorProfileAbstractFilesystem { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyPaths")] + pub read_only_paths: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "readWritePaths")] + pub read_write_paths: Option>, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "writeOnlyPaths")] + pub write_only_paths: Option>, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct AppArmorProfileAbstractNetwork { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowRaw")] + pub allow_raw: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowedProtocols")] + pub allowed_protocols: Option, +} + +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct AppArmorProfileAbstractNetworkAllowedProtocols { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowTcp")] + pub allow_tcp: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowUdp")] + pub allow_udp: Option, } /// AppArmorProfileStatus defines the observed state of AppArmorProfile diff --git a/kube-custom-resources-rs/src/sfn_services_k8s_aws/v1alpha1/activities.rs b/kube-custom-resources-rs/src/sfn_services_k8s_aws/v1alpha1/activities.rs index 929392e96..cc774c24c 100644 --- a/kube-custom-resources-rs/src/sfn_services_k8s_aws/v1alpha1/activities.rs +++ b/kube-custom-resources-rs/src/sfn_services_k8s_aws/v1alpha1/activities.rs @@ -24,37 +24,28 @@ pub struct ActivitySpec { /// to State Machine Executions (https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions) /// in the AWS Step Functions Developer Guide. /// - /// /// A name must not contain: /// - /// /// * white space /// - /// /// * brackets < > { } [ ] /// - /// /// * wildcard characters ? * /// - /// /// * special characters " # % \ ^ | ~ ` $ & , ; : / /// - /// /// * control characters (U+0000-001F, U+007F-009F) /// - /// /// To enable logging with CloudWatch Logs, the name should only contain 0-9, /// A-Z, a-z, - and _. pub name: String, /// The list of tags to add to a resource. /// - /// /// An array of key-value pairs. For more information, see Using Cost Allocation /// Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) /// in the AWS Billing and Cost Management User Guide, and Controlling Access /// Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html). /// - /// /// Tags may only contain Unicode letters, digits, white space, or these symbols: /// _ . : / = + - @. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -64,13 +55,11 @@ pub struct ActivitySpec { /// Tags are key-value pairs that can be associated with Step Functions state /// machines and activities. /// -/// /// An array of key-value pairs. For more information, see Using Cost Allocation /// Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) /// in the AWS Billing and Cost Management User Guide, and Controlling Access /// Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html). /// -/// /// Tags may only contain Unicode letters, digits, white space, or these symbols: /// _ . : / = + - @. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -111,7 +100,6 @@ pub struct ActivityStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/sfn_services_k8s_aws/v1alpha1/statemachines.rs b/kube-custom-resources-rs/src/sfn_services_k8s_aws/v1alpha1/statemachines.rs index 4f2a58993..6862e509f 100644 --- a/kube-custom-resources-rs/src/sfn_services_k8s_aws/v1alpha1/statemachines.rs +++ b/kube-custom-resources-rs/src/sfn_services_k8s_aws/v1alpha1/statemachines.rs @@ -24,7 +24,6 @@ pub struct StateMachineSpec { pub definition: String, /// Defines what execution history events are logged and where they are logged. /// - /// /// By default, the level is set to OFF. For more information see Log Levels /// (https://docs.aws.amazon.com/step-functions/latest/dg/cloudwatch-log-level.html) /// in the AWS Step Functions User Guide. @@ -32,25 +31,18 @@ pub struct StateMachineSpec { pub logging_configuration: Option, /// The name of the state machine. /// - /// /// A name must not contain: /// - /// /// * white space /// - /// /// * brackets < > { } [ ] /// - /// /// * wildcard characters ? * /// - /// /// * special characters " # % \ ^ | ~ ` $ & , ; : / /// - /// /// * control characters (U+0000-001F, U+007F-009F) /// - /// /// To enable logging with CloudWatch Logs, the name should only contain 0-9, /// A-Z, a-z, - and _. pub name: String, @@ -59,13 +51,11 @@ pub struct StateMachineSpec { pub role_arn: String, /// Tags to be added when creating a state machine. /// - /// /// An array of key-value pairs. For more information, see Using Cost Allocation /// Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) /// in the AWS Billing and Cost Management User Guide, and Controlling Access /// Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html). /// - /// /// Tags may only contain Unicode letters, digits, white space, or these symbols: /// _ . : / = + - @. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -82,7 +72,6 @@ pub struct StateMachineSpec { /// Defines what execution history events are logged and where they are logged. /// -/// /// By default, the level is set to OFF. For more information see Log Levels /// (https://docs.aws.amazon.com/step-functions/latest/dg/cloudwatch-log-level.html) /// in the AWS Step Functions User Guide. @@ -111,13 +100,11 @@ pub struct StateMachineLoggingConfigurationDestinationsCloudWatchLogsLogGroup { /// Tags are key-value pairs that can be associated with Step Functions state /// machines and activities. /// -/// /// An array of key-value pairs. For more information, see Using Cost Allocation /// Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) /// in the AWS Billing and Cost Management User Guide, and Controlling Access /// Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html). /// -/// /// Tags may only contain Unicode letters, digits, white space, or these symbols: /// _ . : / = + - @. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -165,7 +152,6 @@ pub struct StateMachineStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/platformapplications.rs b/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/platformapplications.rs index c053a75c5..7c824b8e3 100644 --- a/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/platformapplications.rs +++ b/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/platformapplications.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// PlatformApplicationSpec defines the desired state of PlatformApplication. /// -/// /// Platform application object. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "sns.services.k8s.aws", version = "v1alpha1", kind = "PlatformApplication", plural = "platformapplications")] @@ -31,7 +30,6 @@ pub struct PlatformApplicationSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "eventEndpointCreatedRef")] @@ -43,7 +41,6 @@ pub struct PlatformApplicationSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "eventEndpointDeletedRef")] @@ -55,7 +52,6 @@ pub struct PlatformApplicationSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "eventEndpointUpdatedRef")] @@ -67,7 +63,6 @@ pub struct PlatformApplicationSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "failureFeedbackRoleRef")] @@ -91,7 +86,6 @@ pub struct PlatformApplicationSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "successFeedbackRoleRef")] @@ -105,7 +99,6 @@ pub struct PlatformApplicationSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -131,7 +124,6 @@ pub struct PlatformApplicationEventEndpointCreatedRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -157,7 +149,6 @@ pub struct PlatformApplicationEventEndpointDeletedRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -183,7 +174,6 @@ pub struct PlatformApplicationEventEndpointUpdatedRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -209,7 +199,6 @@ pub struct PlatformApplicationFailureFeedbackRoleRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -257,7 +246,6 @@ pub struct PlatformApplicationStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/platformendpoints.rs b/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/platformendpoints.rs index f9907c234..6baf06642 100644 --- a/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/platformendpoints.rs +++ b/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/platformendpoints.rs @@ -19,6 +19,8 @@ use self::prelude::*; #[kube(derive="Default")] #[kube(derive="PartialEq")] pub struct PlatformEndpointSpec { + /// Arbitrary user data to associate with the endpoint. Amazon SNS does not use + /// this data. The data must be in UTF-8 format and less than 2KB. #[serde(default, skip_serializing_if = "Option::is_none", rename = "customUserData")] pub custom_user_data: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -27,6 +29,12 @@ pub struct PlatformEndpointSpec { /// create a an endpoint. #[serde(rename = "platformApplicationARN")] pub platform_application_arn: String, + /// Unique identifier created by the notification service for an app on a device. + /// The specific name for Token will vary, depending on which notification service + /// is being used. For example, when using APNS as the notification service, + /// you need the device token. Alternatively, when using GCM (Firebase Cloud + /// Messaging) or ADM, the device token equivalent is called the registration + /// ID. pub token: String, } @@ -60,7 +68,6 @@ pub struct PlatformEndpointStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/subscriptions.rs b/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/subscriptions.rs index a28516de6..74b926daf 100644 --- a/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/subscriptions.rs +++ b/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/subscriptions.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// SubscriptionSpec defines the desired state of Subscription. /// -/// /// A wrapper type for the attributes of an Amazon SNS subscription. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "sns.services.k8s.aws", version = "v1alpha1", kind = "Subscription", plural = "subscriptions")] @@ -26,35 +25,26 @@ pub struct SubscriptionSpec { pub delivery_policy: Option, /// The endpoint that you want to receive notifications. Endpoints vary by protocol: /// - /// /// * For the http protocol, the (public) endpoint is a URL beginning with /// http://. /// - /// /// * For the https protocol, the (public) endpoint is a URL beginning with /// https://. /// - /// /// * For the email protocol, the endpoint is an email address. /// - /// /// * For the email-json protocol, the endpoint is an email address. /// - /// /// * For the sms protocol, the endpoint is a phone number of an SMS-enabled /// device. /// - /// /// * For the sqs protocol, the endpoint is the ARN of an Amazon SQS queue. /// - /// /// * For the application protocol, the endpoint is the EndpointArn of a mobile /// app and device. /// - /// /// * For the lambda protocol, the endpoint is the ARN of an Lambda function. /// - /// /// * For the firehose protocol, the endpoint is the ARN of an Amazon Kinesis /// Data Firehose delivery stream. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -65,32 +55,23 @@ pub struct SubscriptionSpec { pub filter_policy_scope: Option, /// The protocol that you want to use. Supported protocols include: /// - /// /// * http – delivery of JSON-encoded message via HTTP POST /// - /// /// * https – delivery of JSON-encoded message via HTTPS POST /// - /// /// * email – delivery of message via SMTP /// - /// /// * email-json – delivery of JSON-encoded message via SMTP /// - /// /// * sms – delivery of message via SMS /// - /// /// * sqs – delivery of JSON-encoded message to an Amazon SQS queue /// - /// /// * application – delivery of JSON-encoded message to an EndpointArn for /// a mobile app and device /// - /// /// * lambda – delivery of JSON-encoded message to an Lambda function /// - /// /// * firehose – delivery of JSON-encoded message to an Amazon Kinesis Data /// Firehose delivery stream. pub protocol: String, @@ -108,7 +89,6 @@ pub struct SubscriptionSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "topicRef")] @@ -120,7 +100,6 @@ pub struct SubscriptionSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -176,7 +155,6 @@ pub struct SubscriptionStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/topics.rs b/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/topics.rs index 7d42d10eb..622c0f032 100644 --- a/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/topics.rs +++ b/kube-custom-resources-rs/src/sns_services_k8s_aws/v1alpha1/topics.rs @@ -12,7 +12,6 @@ use self::prelude::*; /// TopicSpec defines the desired state of Topic. /// -/// /// A wrapper type for the topic's Amazon Resource Name (ARN). To retrieve a /// topic's attributes, use GetTopicAttributes. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -27,13 +26,10 @@ pub struct TopicSpec { pub content_based_deduplication: Option, /// The body of the policy document you want to use for this topic. /// - /// /// You can only add one policy per topic. /// - /// /// The policy must be in JSON string format. /// - /// /// Length Constraints: Maximum length of 30,720. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataProtectionPolicy")] pub data_protection_policy: Option, @@ -50,19 +46,16 @@ pub struct TopicSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsMasterKeyRef")] pub kms_master_key_ref: Option, /// The name of the topic you want to create. /// - /// /// Constraints: Topic names must be made up of only uppercase and lowercase /// ASCII letters, numbers, underscores, and hyphens, and must be between 1 and /// 256 characters long. /// - /// /// For a FIFO (first-in-first-out) topic, the name must end with the .fifo suffix. pub name: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -72,7 +65,6 @@ pub struct TopicSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "policyRef")] @@ -81,7 +73,6 @@ pub struct TopicSpec { pub signature_version: Option, /// The list of tags to add to a new topic. /// - /// /// To be able to tag a topic on creation, you must have the sns:CreateTopic /// and sns:TagResource permissions. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -95,7 +86,6 @@ pub struct TopicSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -121,7 +111,6 @@ pub struct TopicKmsMasterKeyRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -184,7 +173,6 @@ pub struct TopicStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/sparkoperator_k8s_io/v1beta2/scheduledsparkapplications.rs b/kube-custom-resources-rs/src/sparkoperator_k8s_io/v1beta2/scheduledsparkapplications.rs index 4f9def95e..f51fb54d8 100644 --- a/kube-custom-resources-rs/src/sparkoperator_k8s_io/v1beta2/scheduledsparkapplications.rs +++ b/kube-custom-resources-rs/src/sparkoperator_k8s_io/v1beta2/scheduledsparkapplications.rs @@ -172,6 +172,9 @@ pub struct ScheduledSparkApplicationTemplateBatchSchedulerOptions { /// Deps captures all possible types of dependencies of a Spark application. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ScheduledSparkApplicationTemplateDeps { + /// Archives is a list of archives to be extracted into the working directory of each executor. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub archives: Option>, /// ExcludePackages is a list of "groupId:artifactId", to exclude while resolving the /// dependencies provided in Packages to avoid dependency conflicts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "excludePackages")] diff --git a/kube-custom-resources-rs/src/sparkoperator_k8s_io/v1beta2/sparkapplications.rs b/kube-custom-resources-rs/src/sparkoperator_k8s_io/v1beta2/sparkapplications.rs index f5af38d9d..70e05e505 100644 --- a/kube-custom-resources-rs/src/sparkoperator_k8s_io/v1beta2/sparkapplications.rs +++ b/kube-custom-resources-rs/src/sparkoperator_k8s_io/v1beta2/sparkapplications.rs @@ -149,6 +149,9 @@ pub struct SparkApplicationBatchSchedulerOptions { /// Deps captures all possible types of dependencies of a Spark application. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct SparkApplicationDeps { + /// Archives is a list of archives to be extracted into the working directory of each executor. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub archives: Option>, /// ExcludePackages is a list of "groupId:artifactId", to exclude while resolving the /// dependencies provided in Packages to avoid dependency conflicts. #[serde(default, skip_serializing_if = "Option::is_none", rename = "excludePackages")] diff --git a/kube-custom-resources-rs/src/sqs_services_k8s_aws/v1alpha1/queues.rs b/kube-custom-resources-rs/src/sqs_services_k8s_aws/v1alpha1/queues.rs index 3adee9c5a..720cf055c 100644 --- a/kube-custom-resources-rs/src/sqs_services_k8s_aws/v1alpha1/queues.rs +++ b/kube-custom-resources-rs/src/sqs_services_k8s_aws/v1alpha1/queues.rs @@ -35,7 +35,6 @@ pub struct QueueSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsMasterKeyRef")] @@ -51,7 +50,6 @@ pub struct QueueSpec { /// Ex: /// APIIDRef: /// - /// /// from: /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "policyRef")] @@ -64,36 +62,30 @@ pub struct QueueSpec { pub redrive_allow_policy: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "redrivePolicy")] pub redrive_policy: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "sqsManagedSSEEnabled")] + pub sqs_managed_sse_enabled: Option, /// Add cost allocation tags to the specified Amazon SQS queue. For an overview, /// see Tagging Your Amazon SQS Queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-tags.html) /// in the Amazon SQS Developer Guide. /// - /// /// When you use queue tags, keep the following guidelines in mind: /// - /// /// * Adding more than 50 tags to a queue isn't recommended. /// - /// /// * Tags don't have any semantic meaning. Amazon SQS interprets tags as /// character strings. /// - /// /// * Tags are case-sensitive. /// - /// /// * A new tag with a key identical to that of an existing tag overwrites /// the existing tag. /// - /// /// For a full list of tag restrictions, see Quotas related to queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html#limits-queues) /// in the Amazon SQS Developer Guide. /// - /// /// To be able to tag a queue on creation, you must have the sqs:CreateQueue /// and sqs:TagQueue permissions. /// - /// /// Cross-account permissions don't apply to this action. For more information, /// see Grant cross-account permissions to a role and a username (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name) /// in the Amazon SQS Developer Guide. @@ -108,7 +100,6 @@ pub struct QueueSpec { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -134,7 +125,6 @@ pub struct QueueKmsMasterKeyRefFrom { /// Ex: /// APIIDRef: /// -/// /// from: /// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] @@ -187,7 +177,6 @@ pub struct QueueStatusAckResourceMetadata { /// 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 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, diff --git a/kube-custom-resources-rs/src/tempo_grafana_com/v1alpha1/tempostacks.rs b/kube-custom-resources-rs/src/tempo_grafana_com/v1alpha1/tempostacks.rs index 14f4d8837..f77f379f5 100644 --- a/kube-custom-resources-rs/src/tempo_grafana_com/v1alpha1/tempostacks.rs +++ b/kube-custom-resources-rs/src/tempo_grafana_com/v1alpha1/tempostacks.rs @@ -1349,6 +1349,8 @@ pub enum TempoStackTemplateGatewayIngressType { Ingress, #[serde(rename = "route")] Route, + #[serde(rename = "")] + KopiumEmpty, } /// Ingester defines the ingester component spec. @@ -2256,6 +2258,8 @@ pub enum TempoStackTemplateQueryFrontendJaegerQueryIngressType { Ingress, #[serde(rename = "route")] Route, + #[serde(rename = "")] + KopiumEmpty, } /// MonitorTab defines the monitor tab configuration. diff --git a/kube-custom-resources-rs/src/tinkerbell_org/v1alpha1/workflows.rs b/kube-custom-resources-rs/src/tinkerbell_org/v1alpha1/workflows.rs index fd7f38af5..70905a264 100644 --- a/kube-custom-resources-rs/src/tinkerbell_org/v1alpha1/workflows.rs +++ b/kube-custom-resources-rs/src/tinkerbell_org/v1alpha1/workflows.rs @@ -36,11 +36,14 @@ pub struct WorkflowSpec { /// BootOptions are options that control the booting of Hardware. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct WorkflowBootOptions { - /// OneTimeNetboot indicates whether the controller should create a job.bmc.tinkerbell.org object for getting the associated hardware - /// into a netbooting state. + /// BootMode is the type of booting that will be done. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "bootMode")] + pub boot_mode: Option, + /// ISOURL is the URL of the ISO that will be one-time booted. When this field is set, the controller will create a job.bmc.tinkerbell.org object + /// for getting the associated hardware into a CDROM booting state. /// A HardwareRef that contains a spec.BmcRef must be provided. - #[serde(default, skip_serializing_if = "Option::is_none", rename = "oneTimeNetboot")] - pub one_time_netboot: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "isoURL")] + pub iso_url: Option, /// ToggleAllowNetboot indicates whether the controller should toggle the field in the associated hardware for allowing PXE booting. /// This will be enabled before a Workflow is executed and disabled after the Workflow has completed successfully. /// A HardwareRef must be provided. @@ -48,6 +51,15 @@ pub struct WorkflowBootOptions { pub toggle_allow_netboot: Option, } +/// BootOptions are options that control the booting of Hardware. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum WorkflowBootOptionsBootMode { + #[serde(rename = "netboot")] + Netboot, + #[serde(rename = "iso")] + Iso, +} + /// WorkflowStatus defines the observed state of a Workflow. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct WorkflowStatus { @@ -78,16 +90,26 @@ pub struct WorkflowStatus { /// BootOptions holds the state of any boot options. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct WorkflowStatusBootOptions { - /// OneTimeNetboot holds the state of a specific job.bmc.tinkerbell.org object created. - /// Only used when BootOptions.OneTimeNetboot is true. - #[serde(default, skip_serializing_if = "Option::is_none", rename = "netbootJob")] - pub netboot_job: Option, + /// AllowNetboot holds the state of the the controller's interactions with the allowPXE field in a Hardware object. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowNetboot")] + pub allow_netboot: Option, + /// Jobs holds the state of any job.bmc.tinkerbell.org objects created. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub jobs: Option>, +} + +/// AllowNetboot holds the state of the the controller's interactions with the allowPXE field in a Hardware object. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct WorkflowStatusBootOptionsAllowNetboot { + #[serde(default, skip_serializing_if = "Option::is_none", rename = "toggledFalse")] + pub toggled_false: Option, + #[serde(default, skip_serializing_if = "Option::is_none", rename = "toggledTrue")] + pub toggled_true: Option, } -/// OneTimeNetboot holds the state of a specific job.bmc.tinkerbell.org object created. -/// Only used when BootOptions.OneTimeNetboot is true. +/// Jobs holds the state of any job.bmc.tinkerbell.org objects created. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] -pub struct WorkflowStatusBootOptionsNetbootJob { +pub struct WorkflowStatusBootOptionsJobs { /// Complete indicates whether the created job.bmc.tinkerbell.org has reported its conditions as complete. #[serde(default, skip_serializing_if = "Option::is_none")] pub complete: Option, diff --git a/kube-custom-resources-rs/src/workload_codeflare_dev/v1beta2/appwrappers.rs b/kube-custom-resources-rs/src/workload_codeflare_dev/v1beta2/appwrappers.rs index 200113918..f1667b976 100644 --- a/kube-custom-resources-rs/src/workload_codeflare_dev/v1beta2/appwrappers.rs +++ b/kube-custom-resources-rs/src/workload_codeflare_dev/v1beta2/appwrappers.rs @@ -22,6 +22,9 @@ use self::prelude::*; pub struct AppWrapperSpec { /// Components lists the components contained in the AppWrapper pub components: Vec, + /// ManagedBy is used to indicate the controller or entity that manages the AppWrapper. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "managedBy")] + pub managed_by: Option, /// Suspend suspends the AppWrapper when set to true #[serde(default, skip_serializing_if = "Option::is_none")] pub suspend: Option,