diff --git a/crd-catalog/Kuadrant/authorino-operator/operator.authorino.kuadrant.io/v1beta1/authorinos.yaml b/crd-catalog/Kuadrant/authorino-operator/operator.authorino.kuadrant.io/v1beta1/authorinos.yaml index 1592b0301..7f877314b 100644 --- a/crd-catalog/Kuadrant/authorino-operator/operator.authorino.kuadrant.io/v1beta1/authorinos.yaml +++ b/crd-catalog/Kuadrant/authorino-operator/operator.authorino.kuadrant.io/v1beta1/authorinos.yaml @@ -128,6 +128,8 @@ spec: properties: endpoint: type: string + insecure: + type: boolean tags: additionalProperties: type: string diff --git a/crd-catalog/apache/camel-k/camel.apache.org/v1/builds.yaml b/crd-catalog/apache/camel-k/camel.apache.org/v1/builds.yaml index 36f02a0f6..83677ad5d 100644 --- a/crd-catalog/apache/camel-k/camel.apache.org/v1/builds.yaml +++ b/crd-catalog/apache/camel-k/camel.apache.org/v1/builds.yaml @@ -291,14 +291,20 @@ spec: extension: description: The Maven build extensions. See https://maven.apache.org/guides/mini/guide-using-extensions.html. items: - description: MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. + description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. properties: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string groupId: description: Maven Group type: string + type: + description: Maven Type + type: string version: description: Maven Version type: string @@ -503,14 +509,20 @@ spec: properties: dependencies: items: - description: MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. + description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. properties: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string groupId: description: Maven Group type: string + type: + description: Maven Type + type: string version: description: Maven Version type: string @@ -527,14 +539,20 @@ spec: dependencies: description: list of dependencies needed to run the application items: - description: MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. + description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. properties: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string groupId: description: Maven Group type: string + type: + description: Maven Type + type: string version: description: Maven Version type: string @@ -954,14 +972,20 @@ spec: extension: description: The Maven build extensions. See https://maven.apache.org/guides/mini/guide-using-extensions.html. items: - description: MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. + description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. properties: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string groupId: description: Maven Group type: string + type: + description: Maven Type + type: string version: description: Maven Version type: string @@ -1166,14 +1190,20 @@ spec: properties: dependencies: items: - description: MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. + description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. properties: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string groupId: description: Maven Group type: string + type: + description: Maven Type + type: string version: description: Maven Version type: string @@ -1190,14 +1220,20 @@ spec: dependencies: description: list of dependencies needed to run the application items: - description: MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. + description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. properties: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string groupId: description: Maven Group type: string + type: + description: Maven Type + type: string version: description: Maven Version type: string diff --git a/crd-catalog/apache/camel-k/camel.apache.org/v1/camelcatalogs.yaml b/crd-catalog/apache/camel-k/camel.apache.org/v1/camelcatalogs.yaml index 80573813c..69260a2e9 100644 --- a/crd-catalog/apache/camel-k/camel.apache.org/v1/camelcatalogs.yaml +++ b/crd-catalog/apache/camel-k/camel.apache.org/v1/camelcatalogs.yaml @@ -60,6 +60,9 @@ spec: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string dataformats: description: accepted data formats items: @@ -73,6 +76,9 @@ spec: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string exclusions: description: provide a list of artifacts to exclude for this dependency items: @@ -92,6 +98,9 @@ spec: groupId: description: Maven Group type: string + type: + description: Maven Type + type: string version: description: Maven Version type: string @@ -145,6 +154,9 @@ spec: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string exclusions: description: provide a list of artifacts to exclude for this dependency items: @@ -164,6 +176,9 @@ spec: groupId: description: Maven Group type: string + type: + description: Maven Type + type: string version: description: Maven Version type: string @@ -193,6 +208,9 @@ spec: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string exclusions: description: provide a list of artifacts to exclude for this dependency items: @@ -212,6 +230,9 @@ spec: groupId: description: Maven Group type: string + type: + description: Maven Type + type: string version: description: Maven Version type: string @@ -227,6 +248,9 @@ spec: - passive type: object type: array + type: + description: Maven Type + type: string version: description: Maven Version type: string @@ -243,17 +267,26 @@ spec: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string dependencies: description: a list of additional dependencies required beside the base one items: - description: MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. + description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. properties: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string groupId: description: Maven Group type: string + type: + description: Maven Type + type: string version: description: Maven Version type: string @@ -275,6 +308,9 @@ spec: type: string description: the metadata of the loader type: object + type: + description: Maven Type + type: string version: description: Maven Version type: string @@ -296,14 +332,20 @@ spec: properties: dependencies: items: - description: MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. + description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. properties: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string groupId: description: Maven Group type: string + type: + description: Maven Type + type: string version: description: Maven Version type: string @@ -320,14 +362,20 @@ spec: dependencies: description: list of dependencies needed to run the application items: - description: MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. + description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. properties: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string groupId: description: Maven Group type: string + type: + description: Maven Type + type: string version: description: Maven Version 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 875ddee1c..de400b665 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 @@ -146,14 +146,20 @@ spec: extension: description: The Maven build extensions. See https://maven.apache.org/guides/mini/guide-using-extensions.html. items: - description: MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. + description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. properties: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string groupId: description: Maven Group type: string + type: + description: Maven Type + type: string version: description: Maven Version type: string @@ -1127,7 +1133,7 @@ spec: description: 'Deprecated: no longer in use.' type: boolean hotReload: - description: Enable "hot reload" when a secret/configmap mounted is edited (default `false`) + description: Enable "hot reload" when a secret/configmap mounted is edited (default `false`). The configmap/secret must be marked with `camel.apache.org/integration` label to be taken in account. type: boolean resources: description: 'A list of resources (text or binary content) pointing to configmap/secret. The resources are expected to be any resource type (text or binary content). The destination path can be either a default location or any path specified by the user. Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path' @@ -1536,14 +1542,20 @@ spec: extension: description: The Maven build extensions. See https://maven.apache.org/guides/mini/guide-using-extensions.html. items: - description: MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. + description: MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. properties: artifactId: description: Maven Artifact type: string + classifier: + description: Maven Classifier + type: string groupId: description: Maven Group type: string + type: + description: Maven Type + type: string version: description: Maven Version type: string @@ -2559,7 +2571,7 @@ spec: description: 'Deprecated: no longer in use.' type: boolean hotReload: - description: Enable "hot reload" when a secret/configmap mounted is edited (default `false`) + description: Enable "hot reload" when a secret/configmap mounted is edited (default `false`). The configmap/secret must be marked with `camel.apache.org/integration` label to be taken in account. type: boolean resources: description: 'A list of resources (text or binary content) pointing to configmap/secret. The resources are expected to be any resource type (text or binary content). The destination path can be either a default location or any path specified by the user. Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path' 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 5da9a2aa9..65f04fe06 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 @@ -4515,7 +4515,7 @@ spec: description: 'Deprecated: no longer in use.' type: boolean hotReload: - description: Enable "hot reload" when a secret/configmap mounted is edited (default `false`) + description: Enable "hot reload" when a secret/configmap mounted is edited (default `false`). The configmap/secret must be marked with `camel.apache.org/integration` label to be taken in account. type: boolean resources: description: 'A list of resources (text or binary content) pointing to configmap/secret. The resources are expected to be any resource type (text or binary content). The destination path can be either a default location or any path specified by the user. Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path' 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 961dc8148..472cf68a6 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 @@ -4512,7 +4512,7 @@ spec: description: 'Deprecated: no longer in use.' type: boolean hotReload: - description: Enable "hot reload" when a secret/configmap mounted is edited (default `false`) + description: Enable "hot reload" when a secret/configmap mounted is edited (default `false`). The configmap/secret must be marked with `camel.apache.org/integration` label to be taken in account. type: boolean resources: description: 'A list of resources (text or binary content) pointing to configmap/secret. The resources are expected to be any resource type (text or binary content). The destination path can be either a default location or any path specified by the user. Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path' diff --git a/crd-catalog/apache/rocketmq-operator/rocketmq.apache.org/v1alpha1/nameservices.yaml b/crd-catalog/apache/rocketmq-operator/rocketmq.apache.org/v1alpha1/nameservices.yaml index 79b3cb8a1..59754221f 100644 --- a/crd-catalog/apache/rocketmq-operator/rocketmq.apache.org/v1alpha1/nameservices.yaml +++ b/crd-catalog/apache/rocketmq-operator/rocketmq.apache.org/v1alpha1/nameservices.yaml @@ -590,6 +590,86 @@ spec: dnsPolicy: description: dnsPolicy defines how a pod's DNS will be configured type: string + env: + description: Env defines custom env, e.g. JAVA_OPT_EXT + items: + description: EnvVar represents an environment variable present in a Container. + properties: + name: + 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 "".' + type: string + valueFrom: + description: Source for the environment variable's value. Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + 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?' + type: string + optional: + description: Specify whether the ConfigMap or its key must be defined + type: boolean + required: + - key + type: object + 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.' + 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 + 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.' + 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 + secretKeyRef: + description: Selects a key of a secret in the pod's namespace + properties: + key: + 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?' + type: string + optional: + description: Specify whether the Secret or its key must be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array hostNetwork: description: HostNetwork can be true or false type: boolean diff --git a/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1alpha1/clusterdefinitions.yaml b/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1alpha1/clusterdefinitions.yaml index df8c1aa78..ff5b7d303 100644 --- a/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1alpha1/clusterdefinitions.yaml +++ b/crd-catalog/apecloud/kubeblocks/apps.kubeblocks.io/v1alpha1/clusterdefinitions.yaml @@ -5827,6 +5827,9 @@ spec: maximum: 8.0 minimum: 0.0 type: integer + seed: + description: seed specifies the seed used to generate the account's password. Cannot be updated. + type: string type: object required: - accounts diff --git a/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/addons.yaml b/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/addons.yaml index 3d84ee7d4..9bb22c97e 100644 --- a/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/addons.yaml +++ b/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/addons.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 + controller-gen.kubebuilder.io/version: v0.14.0 name: addons.eks.services.k8s.aws spec: group: eks.services.k8s.aws @@ -43,52 +43,115 @@ spec: description: Addon is the Schema for the Addons API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: "AddonSpec defines the desired state of Addon. \n An Amazon EKS add-on. For more information, see Amazon EKS add-ons (https://docs.aws.amazon.com/eks/latest/userguide/eks-add-ons.html) in the Amazon EKS User Guide." + description: |- + AddonSpec defines the desired state of Addon. + + + An Amazon EKS add-on. For more information, see Amazon EKS add-ons (https://docs.aws.amazon.com/eks/latest/userguide/eks-add-ons.html) + in the Amazon EKS User Guide. properties: addonVersion: - description: The version of the add-on. The version must match one of the versions returned by DescribeAddonVersions (https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html). + description: |- + The version of the add-on. The version must match one of the versions returned + by DescribeAddonVersions (https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html). type: string clientRequestToken: - description: A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + description: |- + A unique, case-sensitive identifier that you provide to ensure the idempotency + of the request. type: string clusterName: description: The name of your cluster. type: string clusterRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string type: object type: object configurationValues: - description: The set of configuration values for the add-on that's created. The values that you provide are validated against the schema returned by DescribeAddonConfiguration. + description: |- + The set of configuration values for the add-on that's created. The values + that you provide are validated against the schema returned by DescribeAddonConfiguration. type: string name: - description: The name of the add-on. The name must match one of the names returned by DescribeAddonVersions. + description: |- + The name of the add-on. The name must match one of the names returned by + DescribeAddonVersions. type: string resolveConflicts: - description: "How to resolve field value conflicts for an Amazon EKS add-on. Conflicts are handled based on the value you choose: \n * None – If the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail. \n * Overwrite – If the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value. \n * Preserve – This is similar to the NONE option. If the self-managed version of the add-on is installed on your cluster Amazon EKS doesn't change the add-on resource properties. Creation of the add-on might fail if conflicts are detected. This option works differently during the update operation. For more information, see UpdateAddon (https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html). \n If you don't currently have the self-managed version of the add-on installed on your cluster, the Amazon EKS add-on is installed. Amazon EKS sets all values to default values, regardless of the option that you specify." + description: |- + How to resolve field value conflicts for an Amazon EKS add-on. Conflicts + are handled based on the value you choose: + + + * None – If the self-managed version of the add-on is installed on your + cluster, Amazon EKS doesn't change the value. Creation of the add-on might + fail. + + + * Overwrite – If the self-managed version of the add-on is installed + on your cluster and the Amazon EKS default value is different than the + existing value, Amazon EKS changes the value to the Amazon EKS default + value. + + + * Preserve – This is similar to the NONE option. If the self-managed + version of the add-on is installed on your cluster Amazon EKS doesn't + change the add-on resource properties. Creation of the add-on might fail + if conflicts are detected. This option works differently during the update + operation. For more information, see UpdateAddon (https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html). + + + If you don't currently have the self-managed version of the add-on installed + on your cluster, the Amazon EKS add-on is installed. Amazon EKS sets all + values to default values, regardless of the option that you specify. type: string serviceAccountRoleARN: - description: "The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role. For more information, see Amazon EKS node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html) in the Amazon EKS User Guide. \n To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider created for your cluster. For more information, see Enabling IAM roles for service accounts on your cluster (https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html) in the Amazon EKS User Guide." + description: |- + The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's + service account. The role must be assigned the IAM permissions required by + the add-on. If you don't specify an existing IAM role, then the add-on uses + the permissions assigned to the node IAM role. For more information, see + Amazon EKS node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html) + in the Amazon EKS User Guide. + + + To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) + provider created for your cluster. For more information, see Enabling IAM + roles for service accounts on your cluster (https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html) + in the Amazon EKS User Guide. type: string serviceAccountRoleRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string @@ -97,7 +160,10 @@ spec: tags: additionalProperties: type: string - description: Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources. + description: |- + Metadata that assists with categorization and organization. Each tag consists + of a key and an optional value. You define both. Tags don't propagate to + any other cluster or Amazon Web Services resources. type: object required: - name @@ -106,13 +172,26 @@ spec: description: AddonStatus defines the observed state of Addon properties: ackResourceMetadata: - description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource properties: arn: - description: 'ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR''s Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270' + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270 type: string ownerAccountID: - description: OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. type: string region: description: Region is the AWS region in which the resource exists or will exist. @@ -122,9 +201,16 @@ spec: - region type: object conditions: - description: All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource items: - description: Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. diff --git a/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/clusters.yaml b/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/clusters.yaml index e8716e4bf..748234195 100644 --- a/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/clusters.yaml +++ b/crd-catalog/aws-controllers-k8s/eks-controller/eks.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.9.2 + controller-gen.kubebuilder.io/version: v0.14.0 name: clusters.eks.services.k8s.aws spec: group: eks.services.k8s.aws @@ -40,15 +40,28 @@ spec: description: Cluster is the Schema for the Clusters API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: "ClusterSpec defines the desired state of Cluster. \n An object representing an Amazon EKS cluster." + description: |- + ClusterSpec defines the desired state of Cluster. + + + An object representing an Amazon EKS cluster. properties: accessConfig: description: The access configuration for the cluster. @@ -59,7 +72,9 @@ spec: type: boolean type: object clientRequestToken: - description: A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + description: |- + A unique, case-sensitive identifier that you provide to ensure the idempotency + of the request. type: string encryptionConfig: description: The encryption configuration for the cluster. @@ -87,11 +102,23 @@ spec: type: string type: object logging: - description: "Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster control plane logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) in the Amazon EKS User Guide . \n CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see CloudWatch Pricing (http://aws.amazon.com/cloudwatch/pricing/)." + description: |- + Enable or disable exporting the Kubernetes control plane logs for your cluster + to CloudWatch Logs. By default, cluster control plane logs aren't exported + to CloudWatch Logs. For more information, see Amazon EKS Cluster control + plane logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) + in the Amazon EKS User Guide . + + + CloudWatch Logs ingestion, archive storage, and data scanning rates apply + to exported control plane logs. For more information, see CloudWatch Pricing + (http://aws.amazon.com/cloudwatch/pricing/). properties: clusterLogging: items: - description: An object representing the enabled or disabled Kubernetes control plane logs for your cluster. + description: |- + An object representing the enabled or disabled Kubernetes control plane logs + for your cluster. properties: enabled: type: boolean @@ -106,12 +133,22 @@ spec: description: The unique name to give to your cluster. type: string outpostConfig: - description: An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services Outpost. Before creating a local cluster on an Outpost, review Local clusters for Amazon EKS on Amazon Web Services Outposts (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-local-cluster-overview.html) in the Amazon EKS User Guide. This object isn't available for creating Amazon EKS clusters on the Amazon Web Services cloud. + description: |- + An object representing the configuration of your local Amazon EKS cluster + on an Amazon Web Services Outpost. Before creating a local cluster on an + Outpost, review Local clusters for Amazon EKS on Amazon Web Services Outposts + (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-local-cluster-overview.html) + in the Amazon EKS User Guide. This object isn't available for creating Amazon + EKS clusters on the Amazon Web Services cloud. properties: controlPlaneInstanceType: type: string controlPlanePlacement: - description: The placement configuration for all the control plane instances of your local Amazon EKS cluster on an Amazon Web Services Outpost. For more information, see Capacity considerations (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-capacity-considerations.html) in the Amazon EKS User Guide. + description: |- + The placement configuration for all the control plane instances of your local + Amazon EKS cluster on an Amazon Web Services Outpost. For more information, + see Capacity considerations (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-capacity-considerations.html) + in the Amazon EKS User Guide. properties: groupName: type: string @@ -122,7 +159,14 @@ spec: type: array type: object resourcesVPCConfig: - description: The VPC configuration that's used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations (https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html) and Cluster Security Group Considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) in the Amazon EKS User Guide. You must specify at least two subnets. You can specify up to five security groups. However, we recommend that you use a dedicated security group for your cluster control plane. + description: |- + The VPC configuration that's used by the cluster control plane. Amazon EKS + VPC resources have specific requirements to work properly with Kubernetes. + For more information, see Cluster VPC Considerations (https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html) + and Cluster Security Group Considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) + in the Amazon EKS User Guide. You must specify at least two subnets. You + can specify up to five security groups. However, we recommend that you use + a dedicated security group for your cluster control plane. properties: endpointPrivateAccess: type: boolean @@ -139,10 +183,12 @@ spec: securityGroupRefs: description: Reference field for SecurityGroupIDs items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string @@ -156,10 +202,12 @@ spec: subnetRefs: description: Reference field for SubnetIDs items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string @@ -168,13 +216,20 @@ spec: type: array type: object roleARN: - description: The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to Amazon Web Services API operations on your behalf. For more information, see Amazon EKS Service IAM Role (https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html) in the Amazon EKS User Guide . + description: |- + The Amazon Resource Name (ARN) of the IAM role that provides permissions + for the Kubernetes control plane to make calls to Amazon Web Services API + operations on your behalf. For more information, see Amazon EKS Service IAM + Role (https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html) + in the Amazon EKS User Guide . type: string roleRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string @@ -183,10 +238,18 @@ spec: tags: additionalProperties: type: string - description: Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources. + description: |- + Metadata that assists with categorization and organization. Each tag consists + of a key and an optional value. You define both. Tags don't propagate to + any other cluster or Amazon Web Services resources. type: object version: - description: "The desired Kubernetes version for your cluster. If you don't specify a value here, the default version available in Amazon EKS is used. \n The default version might not be the latest version available." + description: |- + The desired Kubernetes version for your cluster. If you don't specify a value + here, the default version available in Amazon EKS is used. + + + The default version might not be the latest version available. type: string required: - name @@ -196,13 +259,26 @@ spec: description: ClusterStatus defines the observed state of Cluster properties: ackResourceMetadata: - description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource properties: arn: - description: 'ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR''s Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270' + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270 type: string ownerAccountID: - description: OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. type: string region: description: Region is the AWS region in which the resource exists or will exist. @@ -218,9 +294,16 @@ spec: type: string type: object conditions: - description: All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource items: - description: Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. @@ -266,11 +349,17 @@ spec: description: The endpoint for your Kubernetes API server. type: string health: - description: An object representing the health of your local Amazon EKS cluster on an Amazon Web Services Outpost. This object isn't available for clusters on the Amazon Web Services cloud. + description: |- + An object representing the health of your local Amazon EKS cluster on an + Amazon Web Services Outpost. This object isn't available for clusters on + the Amazon Web Services cloud. properties: issues: items: - description: An issue with your local Amazon EKS cluster on an Amazon Web Services Outpost. You can't use this API with an Amazon EKS cluster on the Amazon Web Services cloud. + description: |- + An issue with your local Amazon EKS cluster on an Amazon Web Services Outpost. + You can't use this API with an Amazon EKS cluster on the Amazon Web Services + cloud. properties: code: type: string @@ -284,20 +373,31 @@ spec: type: array type: object id: - description: The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. This property isn't available for an Amazon EKS cluster on the Amazon Web Services cloud. + description: |- + The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. + This property isn't available for an Amazon EKS cluster on the Amazon Web + Services cloud. type: string identity: description: The identity provider information for the cluster. properties: oidc: - description: An object representing the OpenID Connect (https://openid.net/connect/) (OIDC) identity provider information for the cluster. + description: |- + An object representing the OpenID Connect (https://openid.net/connect/) (OIDC) + identity provider information for the cluster. properties: issuer: type: string type: object type: object platformVersion: - description: The platform version of your Amazon EKS cluster. For more information about clusters deployed on the Amazon Web Services Cloud, see Platform versions (https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html) in the Amazon EKS User Guide . For more information about local clusters deployed on an Outpost, see Amazon EKS local cluster platform versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-platform-versions.html) in the Amazon EKS User Guide . + description: |- + The platform version of your Amazon EKS cluster. For more information about + clusters deployed on the Amazon Web Services Cloud, see Platform versions + (https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html) + in the Amazon EKS User Guide . For more information about local clusters + deployed on an Outpost, see Amazon EKS local cluster platform versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-platform-versions.html) + in the Amazon EKS User Guide . type: string status: description: The current status of the cluster. diff --git a/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/fargateprofiles.yaml b/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/fargateprofiles.yaml index b551f8b5e..c08e17084 100644 --- a/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/fargateprofiles.yaml +++ b/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/fargateprofiles.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 + controller-gen.kubebuilder.io/version: v0.14.0 name: fargateprofiles.eks.services.k8s.aws spec: group: eks.services.k8s.aws @@ -36,27 +36,44 @@ spec: description: FargateProfile is the Schema for the FargateProfiles API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: "FargateProfileSpec defines the desired state of FargateProfile. \n An object representing an Fargate profile." + description: |- + FargateProfileSpec defines the desired state of FargateProfile. + + + An object representing an Fargate profile. properties: clientRequestToken: - description: A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + description: |- + A unique, case-sensitive identifier that you provide to ensure the idempotency + of the request. type: string clusterName: description: The name of your cluster. type: string clusterRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string @@ -66,20 +83,32 @@ spec: description: The name of the Fargate profile. type: string podExecutionRoleARN: - description: The Amazon Resource Name (ARN) of the Pod execution role to use for a Pod that matches the selectors in the Fargate profile. The Pod execution role allows Fargate infrastructure to register with your cluster as a node, and it provides read access to Amazon ECR image repositories. For more information, see Pod execution role (https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html) in the Amazon EKS User Guide. + description: |- + The Amazon Resource Name (ARN) of the Pod execution role to use for a Pod + that matches the selectors in the Fargate profile. The Pod execution role + allows Fargate infrastructure to register with your cluster as a node, and + it provides read access to Amazon ECR image repositories. For more information, + see Pod execution role (https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html) + in the Amazon EKS User Guide. type: string podExecutionRoleRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string type: object type: object selectors: - description: The selectors to match for a Pod to use this Fargate profile. Each selector must have an associated Kubernetes namespace. Optionally, you can also specify labels for a namespace. You may specify up to five selectors in a Fargate profile. + description: |- + The selectors to match for a Pod to use this Fargate profile. Each selector + must have an associated Kubernetes namespace. Optionally, you can also specify + labels for a namespace. You may specify up to five selectors in a Fargate + profile. items: description: An object representing an Fargate profile selector. properties: @@ -93,10 +122,12 @@ spec: type: array subnetRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string @@ -104,14 +135,20 @@ spec: type: object type: array subnets: - description: The IDs of subnets to launch a Pod into. A Pod running on Fargate isn't assigned a public IP address, so only private subnets (with no direct route to an Internet Gateway) are accepted for this parameter. + description: |- + The IDs of subnets to launch a Pod into. A Pod running on Fargate isn't assigned + a public IP address, so only private subnets (with no direct route to an + Internet Gateway) are accepted for this parameter. items: type: string type: array tags: additionalProperties: type: string - description: Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources. + description: |- + Metadata that assists with categorization and organization. Each tag consists + of a key and an optional value. You define both. Tags don't propagate to + any other cluster or Amazon Web Services resources. type: object required: - name @@ -120,13 +157,26 @@ spec: description: FargateProfileStatus defines the observed state of FargateProfile properties: ackResourceMetadata: - description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource properties: arn: - description: 'ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR''s Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270' + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270 type: string ownerAccountID: - description: OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. type: string region: description: Region is the AWS region in which the resource exists or will exist. @@ -136,9 +186,16 @@ spec: - region type: object conditions: - description: All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource items: - description: Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. diff --git a/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/nodegroups.yaml b/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/nodegroups.yaml index 3ba30758a..6ff446f5e 100644 --- a/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/nodegroups.yaml +++ b/crd-catalog/aws-controllers-k8s/eks-controller/eks.services.k8s.aws/v1alpha1/nodegroups.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 + controller-gen.kubebuilder.io/version: v0.14.0 name: nodegroups.eks.services.k8s.aws spec: group: eks.services.k8s.aws @@ -52,54 +52,101 @@ spec: description: Nodegroup is the Schema for the Nodegroups API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: "NodegroupSpec defines the desired state of Nodegroup. \n An object representing an Amazon EKS managed node group." + description: |- + NodegroupSpec defines the desired state of Nodegroup. + + + An object representing an Amazon EKS managed node group. properties: amiType: - description: The AMI type for your node group. If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify amiType, or the node group deployment will fail. If your launch template uses a Windows custom AMI, then add eks:kube-proxy-windows to your Windows nodes rolearn in the aws-auth ConfigMap. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + description: |- + The AMI type for your node group. If you specify launchTemplate, and your + launch template uses a custom AMI, then don't specify amiType, or the node + group deployment will fail. If your launch template uses a Windows custom + AMI, then add eks:kube-proxy-windows to your Windows nodes rolearn in the + aws-auth ConfigMap. For more information about using launch templates with + Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + in the Amazon EKS User Guide. type: string capacityType: description: The capacity type for your node group. type: string clientRequestToken: - description: A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + description: |- + A unique, case-sensitive identifier that you provide to ensure the idempotency + of the request. type: string clusterName: description: The name of your cluster. type: string clusterRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string type: object type: object diskSize: - description: The root device disk size (in GiB) for your node group instances. The default disk size is 20 GiB for Linux and Bottlerocket. The default disk size is 50 GiB for Windows. If you specify launchTemplate, then don't specify diskSize, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + description: |- + The root device disk size (in GiB) for your node group instances. The default + disk size is 20 GiB for Linux and Bottlerocket. The default disk size is + 50 GiB for Windows. If you specify launchTemplate, then don't specify diskSize, + or the node group deployment will fail. For more information about using + launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + in the Amazon EKS User Guide. format: int64 type: integer instanceTypes: - description: Specify the instance types for a node group. If you specify a GPU instance type, make sure to also specify an applicable GPU AMI type with the amiType parameter. If you specify launchTemplate, then you can specify zero or one instance type in your launch template or you can specify 0-20 instance types for instanceTypes. If however, you specify an instance type in your launch template and specify any instanceTypes, the node group deployment will fail. If you don't specify an instance type in a launch template or for instanceTypes, then t3.medium is used, by default. If you specify Spot for capacityType, then we recommend specifying multiple values for instanceTypes. For more information, see Managed node group capacity types (https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types) and Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + description: |- + Specify the instance types for a node group. If you specify a GPU instance + type, make sure to also specify an applicable GPU AMI type with the amiType + parameter. If you specify launchTemplate, then you can specify zero or one + instance type in your launch template or you can specify 0-20 instance types + for instanceTypes. If however, you specify an instance type in your launch + template and specify any instanceTypes, the node group deployment will fail. + If you don't specify an instance type in a launch template or for instanceTypes, + then t3.medium is used, by default. If you specify Spot for capacityType, + then we recommend specifying multiple values for instanceTypes. For more + information, see Managed node group capacity types (https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types) + and Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + in the Amazon EKS User Guide. items: type: string type: array labels: additionalProperties: type: string - description: The Kubernetes labels to apply to the nodes in the node group when they are created. + description: |- + The Kubernetes labels to apply to the nodes in the node group when they are + created. type: object launchTemplate: - description: An object representing a node group's launch template specification. If specified, then do not specify instanceTypes, diskSize, or remoteAccess and make sure that the launch template meets the requirements in launchTemplateSpecification. + description: |- + An object representing a node group's launch template specification. If specified, + then do not specify instanceTypes, diskSize, or remoteAccess and make sure + that the launch template meets the requirements in launchTemplateSpecification. properties: id: type: string @@ -112,33 +159,71 @@ spec: description: The unique name to give your node group. type: string nodeRole: - description: The Amazon Resource Name (ARN) of the IAM role to associate with your node group. The Amazon EKS worker node kubelet daemon makes calls to Amazon Web Services APIs on your behalf. Nodes receive permissions for these API calls through an IAM instance profile and associated policies. Before you can launch nodes and register them into a cluster, you must create an IAM role for those nodes to use when they are launched. For more information, see Amazon EKS node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html) in the Amazon EKS User Guide . If you specify launchTemplate, then don't specify IamInstanceProfile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IamInstanceProfile.html) in your launch template, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + description: |- + The Amazon Resource Name (ARN) of the IAM role to associate with your node + group. The Amazon EKS worker node kubelet daemon makes calls to Amazon Web + Services APIs on your behalf. Nodes receive permissions for these API calls + through an IAM instance profile and associated policies. Before you can launch + nodes and register them into a cluster, you must create an IAM role for those + nodes to use when they are launched. For more information, see Amazon EKS + node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html) + in the Amazon EKS User Guide . If you specify launchTemplate, then don't + specify IamInstanceProfile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IamInstanceProfile.html) + in your launch template, or the node group deployment will fail. For more + information about using launch templates with Amazon EKS, see Launch template + support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + in the Amazon EKS User Guide. type: string nodeRoleRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string type: object type: object releaseVersion: - description: "The AMI version of the Amazon EKS optimized AMI to use with your node group. By default, the latest available AMI version for the node group's current Kubernetes version is used. For information about Linux versions, see Amazon EKS optimized Amazon Linux AMI versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html) in the Amazon EKS User Guide. Amazon EKS managed node groups support the November 2022 and later releases of the Windows AMIs. For information about Windows versions, see Amazon EKS optimized Windows AMI versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-ami-versions-windows.html) in the Amazon EKS User Guide. \n If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify releaseVersion, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide." + description: |- + The AMI version of the Amazon EKS optimized AMI to use with your node group. + By default, the latest available AMI version for the node group's current + Kubernetes version is used. For information about Linux versions, see Amazon + EKS optimized Amazon Linux AMI versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html) + in the Amazon EKS User Guide. Amazon EKS managed node groups support the + November 2022 and later releases of the Windows AMIs. For information about + Windows versions, see Amazon EKS optimized Windows AMI versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-ami-versions-windows.html) + in the Amazon EKS User Guide. + + + If you specify launchTemplate, and your launch template uses a custom AMI, + then don't specify releaseVersion, or the node group deployment will fail. + For more information about using launch templates with Amazon EKS, see Launch + template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + in the Amazon EKS User Guide. type: string remoteAccess: - description: The remote access configuration to use with your node group. For Linux, the protocol is SSH. For Windows, the protocol is RDP. If you specify launchTemplate, then don't specify remoteAccess, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + description: |- + The remote access configuration to use with your node group. For Linux, the + protocol is SSH. For Windows, the protocol is RDP. If you specify launchTemplate, + then don't specify remoteAccess, or the node group deployment will fail. + For more information about using launch templates with Amazon EKS, see Launch + template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + in the Amazon EKS User Guide. properties: ec2SshKey: type: string sourceSecurityGroupRefs: description: Reference field for SourceSecurityGroups items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string @@ -151,7 +236,9 @@ spec: type: array type: object scalingConfig: - description: The scaling configuration details for the Auto Scaling group that is created for your node group. + description: |- + The scaling configuration details for the Auto Scaling group that is created + for your node group. properties: desiredSize: format: int64 @@ -165,10 +252,12 @@ spec: type: object subnetRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string @@ -176,19 +265,33 @@ spec: type: object type: array subnets: - description: The subnets to use for the Auto Scaling group that is created for your node group. If you specify launchTemplate, then don't specify SubnetId (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html) in your launch template, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + description: |- + The subnets to use for the Auto Scaling group that is created for your node + group. If you specify launchTemplate, then don't specify SubnetId (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html) + in your launch template, or the node group deployment will fail. For more + information about using launch templates with Amazon EKS, see Launch template + support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + in the Amazon EKS User Guide. items: type: string type: array tags: additionalProperties: type: string - description: Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources. + description: |- + Metadata that assists with categorization and organization. Each tag consists + of a key and an optional value. You define both. Tags don't propagate to + any other cluster or Amazon Web Services resources. type: object taints: - description: The Kubernetes taints to be applied to the nodes in the node group. For more information, see Node taints on managed node groups (https://docs.aws.amazon.com/eks/latest/userguide/node-taints-managed-node-groups.html). + description: |- + The Kubernetes taints to be applied to the nodes in the node group. For more + information, see Node taints on managed node groups (https://docs.aws.amazon.com/eks/latest/userguide/node-taints-managed-node-groups.html). items: - description: A property that allows a node to repel a Pod. For more information, see Node taints on managed node groups (https://docs.aws.amazon.com/eks/latest/userguide/node-taints-managed-node-groups.html) in the Amazon EKS User Guide. + description: |- + A property that allows a node to repel a Pod. For more information, see Node + taints on managed node groups (https://docs.aws.amazon.com/eks/latest/userguide/node-taints-managed-node-groups.html) + in the Amazon EKS User Guide. properties: effect: type: string @@ -209,7 +312,14 @@ spec: type: integer type: object version: - description: The Kubernetes version to use for your managed nodes. By default, the Kubernetes version of the cluster is used, and this is the only accepted specified value. If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify version, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + description: |- + The Kubernetes version to use for your managed nodes. By default, the Kubernetes + version of the cluster is used, and this is the only accepted specified value. + If you specify launchTemplate, and your launch template uses a custom AMI, + then don't specify version, or the node group deployment will fail. For more + information about using launch templates with Amazon EKS, see Launch template + support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + in the Amazon EKS User Guide. type: string required: - name @@ -218,13 +328,26 @@ spec: description: NodegroupStatus defines the observed state of Nodegroup properties: ackResourceMetadata: - description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource properties: arn: - description: 'ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR''s Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270' + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270 type: string ownerAccountID: - description: OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. type: string region: description: Region is the AWS region in which the resource exists or will exist. @@ -234,9 +357,16 @@ spec: - region type: object conditions: - description: All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource items: - description: Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. @@ -264,7 +394,9 @@ spec: format: date-time type: string health: - description: The health status of the node group. If there are issues with your node group's health, they are listed here. + description: |- + The health status of the node group. If there are issues with your node group's + health, they are listed here. properties: issues: items: @@ -286,11 +418,15 @@ spec: format: date-time type: string resources: - description: The resources associated with the node group, such as Auto Scaling groups and security groups for remote access. + description: |- + The resources associated with the node group, such as Auto Scaling groups + and security groups for remote access. properties: autoScalingGroups: items: - description: An Auto Scaling group that is associated with an Amazon EKS managed node group. + description: |- + An Auto Scaling group that is associated with an Amazon EKS managed node + group. properties: name: type: string diff --git a/crd-catalog/aws-controllers-k8s/eks-controller/services.k8s.aws/v1alpha1/adoptedresources.yaml b/crd-catalog/aws-controllers-k8s/eks-controller/services.k8s.aws/v1alpha1/adoptedresources.yaml index d5cfcfcb2..9fb95afd9 100644 --- a/crd-catalog/aws-controllers-k8s/eks-controller/services.k8s.aws/v1alpha1/adoptedresources.yaml +++ b/crd-catalog/aws-controllers-k8s/eks-controller/services.k8s.aws/v1alpha1/adoptedresources.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 + controller-gen.kubebuilder.io/version: v0.14.0 name: adoptedresources.services.k8s.aws spec: group: services.k8s.aws @@ -19,10 +19,19 @@ spec: description: AdoptedResource is the schema for the AdoptedResource API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -35,66 +44,148 @@ spec: additionalKeys: additionalProperties: type: string - description: AdditionalKeys represents any additional arbitrary identifiers used when describing the target resource. + description: |- + AdditionalKeys represents any additional arbitrary identifiers used when + describing the target resource. type: object arn: - description: ARN is the AWS Resource Name for the resource. It is a globally unique identifier. + description: |- + ARN is the AWS Resource Name for the resource. It is a globally + unique identifier. type: string nameOrID: - description: NameOrId is a user-supplied string identifier for the resource. It may or may not be globally unique, depending on the type of resource. + description: |- + NameOrId is a user-supplied string identifier for the resource. It may + or may not be globally unique, depending on the type of resource. type: string type: object kubernetes: - description: ResourceWithMetadata provides the values necessary to create a Kubernetes resource and override any of its metadata values. + description: |- + ResourceWithMetadata provides the values necessary to create a + Kubernetes resource and override any of its metadata values. properties: group: type: string kind: type: string metadata: - description: "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. It is not possible to use `metav1.ObjectMeta` inside spec, as the controller-gen automatically converts this to an arbitrary string-string map. https://github.com/kubernetes-sigs/controller-tools/issues/385 \n Active discussion about inclusion of this field in the spec is happening in this PR: https://github.com/kubernetes-sigs/controller-tools/pull/395 \n Until this is allowed, or if it never is, we will produce a subset of the object meta that contains only the fields which the user is allowed to modify in the metadata." + description: |- + ObjectMeta is metadata that all persisted resources must have, which includes all objects + users must create. + It is not possible to use `metav1.ObjectMeta` inside spec, as the controller-gen + automatically converts this to an arbitrary string-string map. + https://github.com/kubernetes-sigs/controller-tools/issues/385 + + + Active discussion about inclusion of this field in the spec is happening in this PR: + https://github.com/kubernetes-sigs/controller-tools/pull/395 + + + Until this is allowed, or if it never is, we will produce a subset of the object meta + that contains only the fields which the user is allowed to modify in the metadata. properties: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: http://kubernetes.io/docs/user-guide/annotations type: object generateName: - description: "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. \n If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). \n Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency" + description: |- + GenerateName is an optional prefix, used by the server, to generate a unique + name ONLY IF the Name field has not been provided. + If this field is used, the name returned to the client will be different + than the name passed. This value will also be combined with a unique suffix. + The provided value has the same validation rules as the Name field, + and may be truncated by the length of the suffix required to make the value + unique on the server. + + + If this field is specified and the generated name exists, the server will + NOT return a 409 - instead, it will either return 201 Created or 500 with Reason + ServerTimeout indicating a unique name could not be found in the time allotted, and the client + should retry (optionally after the time indicated in the Retry-After header). + + + Applied only if Name is not specified. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency type: string labels: additionalProperties: type: string - description: 'Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' + description: |- + Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: http://kubernetes.io/docs/user-guide/labels type: object name: - description: 'Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: http://kubernetes.io/docs/user-guide/identifiers#names type: string namespace: - description: "Namespace defines the space within each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. \n Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces" + description: |- + Namespace defines the space within each name must be unique. An empty namespace is + equivalent to the "default" namespace, but "default" is the canonical representation. + Not all objects are required to be scoped to a namespace - the value of this field for + those objects will be empty. + + + Must be a DNS_LABEL. + Cannot be updated. + More info: http://kubernetes.io/docs/user-guide/namespaces type: string ownerReferences: - description: List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller. + description: |- + List of objects depended by this object. If ALL objects in the list have + been deleted, this object will be garbage collected. If this object is managed by a controller, + then an entry in this list will point to this controller, with the controller field set to true. + There cannot be more than one managing controller. items: - description: OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field. + description: |- + OwnerReference contains enough information to let you identify an owning + object. An owning object must be in the same namespace as the dependent, or + be cluster-scoped, so there is no namespace field. properties: apiVersion: description: API version of the referent. type: string blockOwnerDeletion: - description: If true, AND if the owner has the "foregroundDeletion" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs "delete" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. + description: |- + If true, AND if the owner has the "foregroundDeletion" finalizer, then + the owner cannot be deleted from the key-value store until this + reference is removed. + See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion + for how the garbage collector interacts with this field and enforces the foreground deletion. + Defaults to false. + To set this field, a user needs "delete" permission of the owner, + otherwise 422 (Unprocessable Entity) will be returned. type: boolean controller: description: If true, this reference points to the managing controller. type: boolean kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string uid: - description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids type: string required: - apiVersion @@ -117,9 +208,14 @@ spec: description: AdoptedResourceStatus defines the observed status of the AdoptedResource. properties: conditions: - description: A collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the adopted resource CR and its target custom resource + description: |- + A collection of `ackv1alpha1.Condition` objects that describe the various + terminal states of the adopted resource CR and its target custom resource items: - description: Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. diff --git a/crd-catalog/aws-controllers-k8s/eks-controller/services.k8s.aws/v1alpha1/fieldexports.yaml b/crd-catalog/aws-controllers-k8s/eks-controller/services.k8s.aws/v1alpha1/fieldexports.yaml index eec83215e..0c4fb0085 100644 --- a/crd-catalog/aws-controllers-k8s/eks-controller/services.k8s.aws/v1alpha1/fieldexports.yaml +++ b/crd-catalog/aws-controllers-k8s/eks-controller/services.k8s.aws/v1alpha1/fieldexports.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 + controller-gen.kubebuilder.io/version: v0.14.0 name: fieldexports.services.k8s.aws spec: group: services.k8s.aws @@ -19,10 +19,19 @@ spec: description: FieldExport is the schema for the FieldExport API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -30,12 +39,17 @@ spec: description: FieldExportSpec defines the desired state of the FieldExport. properties: from: - description: ResourceFieldSelector provides the values necessary to identify an individual field on an individual K8s resource. + description: |- + ResourceFieldSelector provides the values necessary to identify an individual + field on an individual K8s resource. properties: path: type: string resource: - description: NamespacedResource provides all the values necessary to identify an ACK resource of a given type (within the same namespace as the custom resource containing this type). + description: |- + NamespacedResource provides all the values necessary to identify an ACK + resource of a given type (within the same namespace as the custom resource + containing this type). properties: group: type: string @@ -53,13 +67,17 @@ spec: - resource type: object to: - description: FieldExportTarget provides the values necessary to identify the output path for a field export. + description: |- + FieldExportTarget provides the values necessary to identify the + output path for a field export. properties: key: description: Key overrides the default value (`.`) for the FieldExport target type: string kind: - description: FieldExportOutputType represents all types that can be produced by a field export operation + description: |- + FieldExportOutputType represents all types that can be produced by a field + export operation enum: - configmap - secret @@ -81,9 +99,14 @@ spec: description: FieldExportStatus defines the observed status of the FieldExport. properties: conditions: - description: A collection of `ackv1alpha1.Condition` objects that describe the various recoverable states of the field CR + description: |- + A collection of `ackv1alpha1.Condition` objects that describe the various + recoverable states of the field CR items: - description: Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. 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 9c2a140f2..44a679a5d 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.9.2 + controller-gen.kubebuilder.io/version: v0.14.0 name: aliases.lambda.services.k8s.aws spec: group: lambda.services.k8s.aws @@ -19,10 +19,19 @@ spec: description: Alias is the Schema for the Aliases API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -32,10 +41,32 @@ spec: description: A description of the alias. type: string functionEventInvokeConfig: - description: "Configures options for asynchronous invocation on an alias. \n - DestinationConfig A destination for events after they have been sent to a function for processing. \n 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. \n - MaximumEventAgeInSeconds The maximum age of a request that Lambda sends to a function for processing. \n - MaximumRetryAttempts The maximum number of times to retry when the function returns an error." + description: |- + Configures options for asynchronous invocation on an alias. + + + - 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. properties: destinationConfig: - description: A configuration object that specifies the destination of an event after Lambda processes it. + description: |- + A configuration object that specifies the destination of an event after Lambda + processes it. properties: onFailure: description: A destination for events that failed processing. @@ -62,13 +93,32 @@ spec: type: string type: object functionName: - description: "The name of the Lambda function. \n Name formats \n * Function name - MyFunction. \n * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. \n * Partial ARN - 123456789012:function:MyFunction. \n The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." + description: |- + 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. type: string functionRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string @@ -81,7 +131,13 @@ spec: description: The name of the alias. type: string provisionedConcurrencyConfig: - description: "Configures provisioned concurrency to a function's alias \n - ProvisionedConcurrentExecutions The amount of provisioned concurrency to allocate for the version or alias. Minimum value of 1 is required" + description: |- + Configures provisioned concurrency to a function's alias + + + - ProvisionedConcurrentExecutions + The amount of provisioned concurrency to allocate for the version or alias. + Minimum value of 1 is required properties: functionName: type: string @@ -92,7 +148,9 @@ spec: type: string type: object routingConfig: - description: The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html#configuring-alias-routing) of the alias. + description: |- + The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html#configuring-alias-routing) + of the alias. properties: additionalVersionWeights: additionalProperties: @@ -107,13 +165,26 @@ spec: description: AliasStatus defines the observed state of Alias properties: ackResourceMetadata: - description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource properties: arn: - description: 'ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR''s Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270' + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270 type: string ownerAccountID: - description: OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. type: string region: description: Region is the AWS region in which the resource exists or will exist. @@ -123,9 +194,16 @@ spec: - region type: object conditions: - description: All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource items: - description: Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. 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 40d8f8e03..e44134608 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.9.2 + controller-gen.kubebuilder.io/version: v0.14.0 name: codesigningconfigs.lambda.services.k8s.aws spec: group: lambda.services.k8s.aws @@ -19,15 +19,28 @@ spec: description: CodeSigningConfig is the Schema for the CodeSigningConfigs API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: "CodeSigningConfigSpec defines the desired state of CodeSigningConfig. \n Details about a Code signing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html)." + description: |- + CodeSigningConfigSpec defines the desired state of CodeSigningConfig. + + + Details 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. @@ -38,7 +51,9 @@ spec: type: array type: object codeSigningPolicies: - description: The code signing policies define the actions to take if the validation checks fail. + description: |- + The code signing policies define the actions to take if the validation checks + fail. properties: untrustedArtifactOnDeployment: type: string @@ -53,13 +68,26 @@ spec: description: CodeSigningConfigStatus defines the observed state of CodeSigningConfig properties: ackResourceMetadata: - description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource properties: arn: - description: 'ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR''s Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270' + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270 type: string ownerAccountID: - description: OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. type: string region: description: Region is the AWS region in which the resource exists or will exist. @@ -72,9 +100,16 @@ spec: description: Unique identifer for the Code signing configuration. type: string conditions: - description: All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource items: - description: Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. @@ -98,7 +133,9 @@ spec: type: object type: array lastModified: - description: The date and time that the Code signing configuration was last modified, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). + description: |- + The date and time that the Code signing configuration was last modified, + in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). type: string type: object type: object 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 791cc0185..463e42c81 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.9.2 + controller-gen.kubebuilder.io/version: v0.14.0 name: eventsourcemappings.lambda.services.k8s.aws spec: group: lambda.services.k8s.aws @@ -19,10 +19,19 @@ spec: description: EventSourceMapping is the Schema for the EventSourceMappings API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -30,20 +39,49 @@ spec: description: EventSourceMappingSpec defines the desired state of EventSourceMapping. properties: amazonManagedKafkaEventSourceConfig: - description: Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source. + description: |- + Specific configuration settings for an Amazon Managed Streaming for Apache + Kafka (Amazon MSK) event source. properties: consumerGroupID: type: string type: object batchSize: - description: "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB). \n * Amazon Kinesis – Default 100. Max 10,000. \n * Amazon DynamoDB Streams – Default 100. Max 10,000. \n * Amazon Simple Queue Service – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10. \n * Amazon Managed Streaming for Apache Kafka – Default 100. Max 10,000. \n * Self-managed Apache Kafka – Default 100. Max 10,000. \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 + or queue and sends to your function. Lambda passes all of the records in + 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. format: int64 type: integer bisectBatchOnFunctionError: - description: (Streams only) If the function returns an error, split the batch in two and retry. + description: |- + (Streams only) If the function returns an error, split the batch in two and + retry. type: boolean destinationConfig: - description: (Streams only) An Amazon SQS queue or Amazon SNS topic destination for discarded records. + description: |- + (Streams only) An Amazon SQS queue or Amazon SNS topic destination for discarded + records. properties: onFailure: description: A destination for events that failed processing. @@ -59,27 +97,55 @@ spec: type: object type: object enabled: - description: "When true, the event source mapping is active. When false, Lambda pauses polling and invocation. \n Default: True" + description: |- + When true, the event source mapping is active. When false, Lambda pauses + polling and invocation. + + + Default: True type: boolean eventSourceARN: - description: "The Amazon Resource Name (ARN) of the event source. \n * Amazon Kinesis – The ARN of the data stream or a stream consumer. \n * Amazon DynamoDB Streams – The ARN of the stream. \n * Amazon Simple Queue Service – The ARN of the queue. \n * Amazon Managed Streaming for Apache Kafka – The ARN of the cluster. \n * Amazon MQ – The ARN of the broker." + description: |- + 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. type: string eventSourceRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string type: object type: object filterCriteria: - description: An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see Lambda event filtering (https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html). + description: |- + An object that defines the filter criteria that determine whether Lambda + should process an event. For more information, see Lambda event filtering + (https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html). properties: filters: items: - description: A structure within a FilterCriteria object that defines an event filtering pattern. + description: |- + A structure within a FilterCriteria object that defines an event filtering + pattern. properties: pattern: type: string @@ -87,33 +153,79 @@ spec: type: array type: object functionName: - description: "The name of the Lambda function. \n Name formats \n * Function name – MyFunction. \n * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction. \n * Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD. \n * Partial ARN – 123456789012:function:MyFunction. \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length." + description: |- + 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. type: string functionRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string type: object type: object functionResponseTypes: - description: (Streams and Amazon SQS) A list of current response type enums applied to the event source mapping. + description: |- + (Streams and Amazon SQS) A list of current response type enums applied to + the event source mapping. items: type: string type: array maximumBatchingWindowInSeconds: - description: "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function. You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds. \n 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 only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it. To restore the default batching window, you must create a new event source mapping. \n 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." + description: |- + The maximum amount of time, in seconds, that Lambda spends gathering records + 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 + only change MaximumBatchingWindowInSeconds in increments of seconds, you + cannot revert back to the 500 ms default batching window after you have changed + 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. format: int64 type: integer maximumRecordAgeInSeconds: - description: (Streams only) Discard records older than the specified age. The default value is infinite (-1). + description: |- + (Streams only) Discard records older than the specified age. The default + value is infinite (-1). format: int64 type: integer maximumRetryAttempts: - description: (Streams only) Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires. + description: |- + (Streams only) Discard records after the specified number of retries. The + default value is infinite (-1). When set to infinite (-1), failed records + are retried until the record expires. format: int64 type: integer parallelizationFactor: @@ -122,10 +234,12 @@ spec: type: integer queueRefs: items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string @@ -138,7 +252,10 @@ spec: type: string type: array scalingConfig: - description: (Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources (https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency). + description: |- + (Amazon SQS only) The scaling configuration for the event source. For more + information, see Configuring maximum concurrency for Amazon SQS event sources + (https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency). properties: maximumConcurrency: format: int64 @@ -161,9 +278,13 @@ spec: type: string type: object sourceAccessConfigurations: - description: An array of authentication protocols or VPC components required to secure your event source. + description: |- + An array of authentication protocols or VPC components required to secure + your event source. items: - description: To secure and define access to your event source, you can specify the authentication protocol, VPC components, or virtual host. + description: |- + To secure and define access to your event source, you can specify the authentication + protocol, VPC components, or virtual host. properties: type_: type: string @@ -172,7 +293,10 @@ spec: type: object type: array startingPosition: - description: The position in a stream from which to start reading. Required for Amazon Kinesis, Amazon DynamoDB, and Amazon MSK Streams sources. AT_TIMESTAMP is supported only for Amazon Kinesis streams. + description: |- + The position in a stream from which to start reading. Required for Amazon + Kinesis, Amazon DynamoDB, and Amazon MSK Streams sources. AT_TIMESTAMP is + supported only for Amazon Kinesis streams. type: string startingPositionTimestamp: description: With StartingPosition set to AT_TIMESTAMP, the time from which to start reading. @@ -184,7 +308,9 @@ spec: type: string type: array tumblingWindowInSeconds: - description: (Streams only) The duration in seconds of a processing window. The range is between 1 second and 900 seconds. + description: |- + (Streams only) The duration in seconds of a processing window. The range + is between 1 second and 900 seconds. format: int64 type: integer type: object @@ -192,13 +318,26 @@ spec: description: EventSourceMappingStatus defines the observed state of EventSourceMapping properties: ackResourceMetadata: - description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource properties: arn: - description: 'ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR''s Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270' + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270 type: string ownerAccountID: - description: OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. type: string region: description: Region is the AWS region in which the resource exists or will exist. @@ -208,9 +347,16 @@ spec: - region type: object conditions: - description: All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource items: - description: Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. @@ -237,17 +383,23 @@ spec: description: The ARN of the Lambda function. type: string lastModified: - description: The date that the event source mapping was last updated or that its state changed. + description: |- + The date that the event source mapping was last updated or that its state + changed. format: date-time type: string lastProcessingResult: description: The result of the last Lambda invocation of your function. type: string state: - description: 'The state of the event source mapping. It can be one of the following: Creating, Enabling, Enabled, Disabling, Disabled, Updating, or Deleting.' + description: |- + The state of the event source mapping. It can be one of the following: Creating, + Enabling, Enabled, Disabling, Disabled, Updating, or Deleting. type: string stateTransitionReason: - description: Indicates whether a user or Lambda made the last change to the event source mapping. + description: |- + Indicates whether a user or Lambda made the last change to the event source + mapping. type: string uuid: description: The identifier of the event source mapping. 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 1be62c530..38a1f6bef 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.9.2 + controller-gen.kubebuilder.io/version: v0.14.0 name: functions.lambda.services.k8s.aws spec: group: lambda.services.k8s.aws @@ -19,10 +19,19 @@ spec: description: Function is the Schema for the Functions API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -30,7 +39,10 @@ spec: description: FunctionSpec defines the desired state of Function. properties: architectures: - description: The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is x86_64. + description: |- + The instruction set architecture that the function supports. Enter a string + array with one of the valid values (arm64 or x86_64). The default value is + x86_64. items: type: string type: array @@ -45,7 +57,9 @@ spec: description: Reference field for S3Bucket properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string @@ -60,10 +74,16 @@ spec: type: string type: object codeSigningConfigARN: - description: To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function. + description: |- + To enable code signing for this function, specify the ARN of a code-signing + configuration. A code-signing configuration includes a set of signing profiles, + which define the trusted publishers for this function. type: string deadLetterConfig: - description: A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead-letter queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq). + description: |- + A dead-letter queue configuration that specifies the queue or topic where + Lambda sends asynchronous events when they fail processing. For more information, + see Dead-letter queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq). properties: targetARN: type: string @@ -80,7 +100,9 @@ spec: type: object type: object ephemeralStorage: - description: The size of the function's /tmp directory in MB. The default value is 512, but can be any whole number between 512 and 10,240 MB. + description: |- + The size of the function's /tmp directory in MB. The default value is 512, + but can be any whole number between 512 and 10,240 MB. properties: size: format: int64 @@ -89,7 +111,9 @@ spec: fileSystemConfigs: description: Connection settings for an Amazon EFS file system. items: - description: Details about the connection between a Lambda function and an Amazon EFS file system (https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html). + description: |- + Details about the connection between a Lambda function and an Amazon EFS + file system (https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html). properties: arn: type: string @@ -98,10 +122,32 @@ spec: type: object type: array functionEventInvokeConfig: - description: "Configures options for asynchronous invocation on a function. \n - DestinationConfig A destination for events after they have been sent to a function for processing. \n 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. \n - MaximumEventAgeInSeconds The maximum age of a request that Lambda sends to a function for processing. \n - MaximumRetryAttempts The maximum number of times to retry when the function returns an error." + description: |- + 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. properties: destinationConfig: - description: A configuration object that specifies the destination of an event after Lambda processes it. + description: |- + A configuration object that specifies the destination of an event after Lambda + processes it. properties: onFailure: description: A destination for events that failed processing. @@ -128,10 +174,17 @@ spec: type: string type: object handler: - description: The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see Lambda programming model (https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html). + description: |- + The name of the method within your code that Lambda calls to run your function. + Handler is required if the deployment package is a .zip file archive. The + format includes the file name. It can also include namespaces and other qualifiers, + depending on the runtime. For more information, see Lambda programming model + (https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html). type: string imageConfig: - description: Container image configuration values (https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings) that override the values in the container image Dockerfile. + description: |- + Container image configuration values (https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings) + that override the values in the container image Dockerfile. properties: command: items: @@ -145,32 +198,62 @@ spec: type: string type: object kmsKeyARN: - description: The ARN of the Key Management Service (KMS) key that's used to encrypt your function's environment variables. If it's not provided, Lambda uses a default service key. + description: |- + The ARN of the Key Management Service (KMS) key that's used to encrypt your + function's environment variables. If it's not provided, Lambda uses a default + service key. type: string kmsKeyRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string type: object type: object layers: - description: A list of function layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) to add to the function's execution environment. Specify each layer by its ARN, including the version. + description: |- + A list of function layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) + to add to the function's execution environment. Specify each layer by its + ARN, including the version. items: type: string type: array memorySize: - description: The amount of memory available to the function (https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console) at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB. + description: |- + The amount of memory available to the function (https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console) + at runtime. Increasing the function memory also increases its CPU allocation. + The default value is 128 MB. The value can be any multiple of 1 MB. format: int64 type: integer name: - description: "The name of the Lambda function. \n Name formats \n * Function name – my-function. \n * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function. \n * Partial ARN – 123456789012:function:my-function. \n The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." + description: |- + 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. type: string packageType: - description: The type of deployment package. Set to Image for container image and set to Zip for .zip file archive. + description: |- + The type of deployment package. Set to Image for container image and set + to Zip for .zip file archive. type: string publish: description: Set to true to publish the first version of the function during creation. @@ -183,20 +266,26 @@ spec: description: The Amazon Resource Name (ARN) of the function's execution role. type: string roleRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string type: object type: object runtime: - description: The identifier of the function's runtime (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. + description: |- + The identifier of the function's runtime (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). + Runtime is required if the deployment package is a .zip file archive. type: string snapStart: - description: The function's SnapStart (https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) setting. + description: |- + The function's SnapStart (https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) + setting. properties: applyOn: type: string @@ -204,20 +293,32 @@ spec: tags: additionalProperties: type: string - description: A list of tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function. + description: |- + A list of tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) + to apply to the function. type: object timeout: - description: The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see Lambda execution environment (https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html). + description: |- + The amount of time (in seconds) that Lambda allows a function to run before + stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. + For more information, see Lambda execution environment (https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html). format: int64 type: integer tracingConfig: - description: Set Mode to Active to sample and trace a subset of incoming requests with X-Ray (https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html). + description: |- + Set Mode to Active to sample and trace a subset of incoming requests with + X-Ray (https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html). properties: mode: type: string type: object vpcConfig: - description: For network connectivity to Amazon Web Services resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see Configuring a Lambda function to access resources in a VPC (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). + description: |- + For network connectivity to Amazon Web Services resources in a VPC, specify + a list of security groups and subnets in the VPC. When you connect a function + to a VPC, it can access resources and the internet only through that VPC. + For more information, see Configuring a Lambda function to access resources + in a VPC (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). properties: securityGroupIDs: items: @@ -226,10 +327,12 @@ spec: securityGroupRefs: description: Reference field for SecurityGroupIDs items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string @@ -243,10 +346,12 @@ spec: subnetRefs: description: Reference field for SubnetIDs items: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string @@ -262,13 +367,26 @@ spec: description: FunctionStatus defines the observed state of Function properties: ackResourceMetadata: - description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource properties: arn: - description: 'ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR''s Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270' + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270 type: string ownerAccountID: - description: OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. type: string region: description: Region is the AWS region in which the resource exists or will exist. @@ -285,9 +403,16 @@ spec: format: int64 type: integer conditions: - description: All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource items: - description: Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. @@ -322,7 +447,9 @@ spec: type: string type: object imageConfig: - description: Configuration values that override the container image Dockerfile settings. For more information, see Container image settings (https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms). + description: |- + Configuration values that override the container image Dockerfile settings. + For more information, see Container image settings (https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms). properties: command: items: @@ -337,10 +464,14 @@ spec: type: object type: object lastModified: - description: The date and time that the function was last updated, in ISO-8601 format (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD). + description: |- + The date and time that the function was last updated, in ISO-8601 format + (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD). type: string lastUpdateStatus: - description: The status of the last update that was performed on the function. This is first set to Successful after function creation completes. + description: |- + The status of the last update that was performed on the function. This is + first set to Successful after function creation completes. type: string lastUpdateStatusReason: description: The reason for the last update that was performed on the function. @@ -377,13 +508,17 @@ spec: description: The ARN of the signing profile version. type: string state: - description: The current state of the function. When the state is Inactive, you can reactivate the function by invoking it. + description: |- + The current state of the function. When the state is Inactive, you can reactivate + the function by invoking it. type: string stateReason: description: The reason for the function's current state. type: string stateReasonCode: - description: The reason code for the function's current state. When the code is Creating, you can't invoke or modify the function. + description: |- + The reason code for the function's current state. When the code is Creating, + you can't invoke or modify the function. type: string version: description: The version of the Lambda function. 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 9f655ec16..d79a29fe9 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.9.2 + controller-gen.kubebuilder.io/version: v0.14.0 name: functionurlconfigs.lambda.services.k8s.aws spec: group: lambda.services.k8s.aws @@ -19,21 +19,40 @@ spec: description: FunctionURLConfig is the Schema for the FunctionURLConfigs API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: "FunctionUrlConfigSpec defines the desired state of FunctionUrlConfig. \n Details about a Lambda function URL." + description: |- + FunctionUrlConfigSpec defines the desired state of FunctionUrlConfig. + + + Details about a Lambda function URL. properties: authType: - description: The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + description: |- + The type of authentication that your function URL uses. Set to AWS_IAM if + you want to restrict access to authenticated IAM users only. Set to NONE + if you want to bypass IAM authentication to create a public endpoint. For + more information, see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). type: string cors: - description: The cross-origin resource sharing (CORS) (https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) settings for your function URL. + description: |- + The cross-origin resource sharing (CORS) (https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) + settings for your function URL. properties: allowCredentials: type: boolean @@ -58,13 +77,32 @@ spec: type: integer type: object functionName: - description: "The name of the Lambda function. \n Name formats \n * Function name – my-function. \n * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function. \n * Partial ARN – 123456789012:function:my-function. \n The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length." + description: |- + 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. type: string functionRef: - description: "AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + 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" properties: from: - description: AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) properties: name: type: string @@ -80,13 +118,26 @@ spec: description: FunctionURLConfigStatus defines the observed state of FunctionURLConfig properties: ackResourceMetadata: - description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource properties: arn: - description: 'ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR''s Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270' + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270 type: string ownerAccountID: - description: OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. type: string region: description: Region is the AWS region in which the resource exists or will exist. @@ -96,9 +147,16 @@ spec: - region type: object conditions: - description: All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource items: - description: Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. @@ -122,7 +180,9 @@ spec: type: object type: array creationTime: - description: When the function URL was created, in ISO-8601 format (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD). + description: |- + When the function URL was created, in ISO-8601 format (https://www.w3.org/TR/NOTE-datetime) + (YYYY-MM-DDThh:mm:ss.sTZD). type: string functionARN: description: The Amazon Resource Name (ARN) of your function. diff --git a/crd-catalog/aws/amazon-vpc-resource-controller-k8s/vpcresources.k8s.aws/v1alpha1/cninodes.yaml b/crd-catalog/aws/amazon-vpc-resource-controller-k8s/vpcresources.k8s.aws/v1alpha1/cninodes.yaml index e94aa081f..6002a0927 100644 --- a/crd-catalog/aws/amazon-vpc-resource-controller-k8s/vpcresources.k8s.aws/v1alpha1/cninodes.yaml +++ b/crd-catalog/aws/amazon-vpc-resource-controller-k8s/vpcresources.k8s.aws/v1alpha1/cninodes.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.9.0 name: cninodes.vpcresources.k8s.aws spec: group: vpcresources.k8s.aws @@ -54,9 +54,3 @@ spec: served: true storage: true subresources: {} -status: - acceptedNames: - kind: '' - plural: '' - conditions: [] - storedVersions: [] diff --git a/crd-catalog/aws/amazon-vpc-resource-controller-k8s/vpcresources.k8s.aws/v1beta1/securitygrouppolicies.yaml b/crd-catalog/aws/amazon-vpc-resource-controller-k8s/vpcresources.k8s.aws/v1beta1/securitygrouppolicies.yaml index 76cbd506e..e39ff331c 100644 --- a/crd-catalog/aws/amazon-vpc-resource-controller-k8s/vpcresources.k8s.aws/v1beta1/securitygrouppolicies.yaml +++ b/crd-catalog/aws/amazon-vpc-resource-controller-k8s/vpcresources.k8s.aws/v1beta1/securitygrouppolicies.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.2 + controller-gen.kubebuilder.io/version: v0.9.0 name: securitygrouppolicies.vpcresources.k8s.aws spec: group: vpcresources.k8s.aws @@ -112,9 +112,3 @@ spec: served: true storage: true subresources: {} -status: - acceptedNames: - kind: '' - plural: '' - conditions: [] - storedVersions: [] diff --git a/crd-catalog/cert-manager/cert-manager/cert-manager.io/v1/clusterissuers.yaml b/crd-catalog/cert-manager/cert-manager/cert-manager.io/v1/clusterissuers.yaml index 44e714974..a5d448f87 100644 --- a/crd-catalog/cert-manager/cert-manager/cert-manager.io/v1/clusterissuers.yaml +++ b/crd-catalog/cert-manager/cert-manager/cert-manager.io/v1/clusterissuers.yaml @@ -1179,6 +1179,11 @@ spec: kubernetes: description: Kubernetes authenticates with Vault by passing the ServiceAccount token stored in the named Secret resource to the Vault server. properties: + audiences: + description: TokenAudiences is an optional list of extra audiences to include in the token passed to Vault. The default token consisting of the issuer's namespace and name is always included. + items: + type: string + type: array mountPath: description: The Vault mountPath here is the mount path to use when authenticating with Vault. For example, setting a value to `/v1/auth/foo`, will use the path `/v1/auth/foo/login` to authenticate with Vault. If unspecified, the default value "/v1/auth/kubernetes" will be used. type: string diff --git a/crd-catalog/cert-manager/cert-manager/cert-manager.io/v1/issuers.yaml b/crd-catalog/cert-manager/cert-manager/cert-manager.io/v1/issuers.yaml index 16e1fdedb..42a77c6be 100644 --- a/crd-catalog/cert-manager/cert-manager/cert-manager.io/v1/issuers.yaml +++ b/crd-catalog/cert-manager/cert-manager/cert-manager.io/v1/issuers.yaml @@ -1179,6 +1179,11 @@ spec: kubernetes: description: Kubernetes authenticates with Vault by passing the ServiceAccount token stored in the named Secret resource to the Vault server. properties: + audiences: + description: TokenAudiences is an optional list of extra audiences to include in the token passed to Vault. The default token consisting of the issuer's namespace and name is always included. + items: + type: string + type: array mountPath: description: The Vault mountPath here is the mount path to use when authenticating with Vault. For example, setting a value to `/v1/auth/foo`, will use the path `/v1/auth/foo/login` to authenticate with Vault. If unspecified, the default value "/v1/auth/kubernetes" will be used. type: string diff --git a/crd-catalog/cilium/cilium/cilium.io/v2/ciliumclusterwideenvoyconfigs.yaml b/crd-catalog/cilium/cilium/cilium.io/v2/ciliumclusterwideenvoyconfigs.yaml index e8022263f..6486c7b69 100644 --- a/crd-catalog/cilium/cilium/cilium.io/v2/ciliumclusterwideenvoyconfigs.yaml +++ b/crd-catalog/cilium/cilium/cilium.io/v2/ciliumclusterwideenvoyconfigs.yaml @@ -55,6 +55,44 @@ spec: - name type: object type: array + nodeSelector: + description: NodeSelector is a label selector that determines to which nodes this configuration applies. If nil, then this config applies to all nodes. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object resources: description: 'Envoy xDS resources, a list of the following Envoy resource types: type.googleapis.com/envoy.config.listener.v3.Listener, type.googleapis.com/envoy.config.route.v3.RouteConfiguration, type.googleapis.com/envoy.config.cluster.v3.Cluster, type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment, and type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret.' items: diff --git a/crd-catalog/cilium/cilium/cilium.io/v2/ciliumclusterwidenetworkpolicies.yaml b/crd-catalog/cilium/cilium/cilium.io/v2/ciliumclusterwidenetworkpolicies.yaml index c17edc05c..46066bc05 100644 --- a/crd-catalog/cilium/cilium/cilium.io/v2/ciliumclusterwidenetworkpolicies.yaml +++ b/crd-catalog/cilium/cilium/cilium.io/v2/ciliumclusterwidenetworkpolicies.yaml @@ -229,6 +229,47 @@ spec: type: object type: object type: array + toNodes: + description: ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array toPorts: description: "ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is allowed to connect to. \n Example: Any endpoint with the label \"role=frontend\" is allowed to initiate connections to destination port 8080/tcp" items: @@ -721,6 +762,47 @@ spec: type: object type: object type: array + toNodes: + description: ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array toPorts: description: "ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is not allowed to connect to. \n Example: Any endpoint with the label \"role=frontend\" is not allowed to initiate connections to destination port 8080/tcp" items: @@ -1007,6 +1089,47 @@ spec: - kube-apiserver type: string type: array + fromNodes: + description: FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array fromRequires: description: "FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. \n Example: Any Endpoint with the label \"team=A\" requires consuming endpoint to also carry the label \"team=A\"." items: @@ -1413,6 +1536,47 @@ spec: - kube-apiserver type: string type: array + fromNodes: + description: FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array fromRequires: description: "FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. \n Example: Any Endpoint with the label \"team=A\" requires consuming endpoint to also carry the label \"team=A\"." items: @@ -1767,6 +1931,47 @@ spec: type: object type: object type: array + toNodes: + description: ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array toPorts: description: "ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is allowed to connect to. \n Example: Any endpoint with the label \"role=frontend\" is allowed to initiate connections to destination port 8080/tcp" items: @@ -2259,6 +2464,47 @@ spec: type: object type: object type: array + toNodes: + description: ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array toPorts: description: "ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is not allowed to connect to. \n Example: Any endpoint with the label \"role=frontend\" is not allowed to initiate connections to destination port 8080/tcp" items: @@ -2545,6 +2791,47 @@ spec: - kube-apiserver type: string type: array + fromNodes: + description: FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array fromRequires: description: "FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. \n Example: Any Endpoint with the label \"team=A\" requires consuming endpoint to also carry the label \"team=A\"." items: @@ -2951,6 +3238,47 @@ spec: - kube-apiserver type: string type: array + fromNodes: + description: FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array fromRequires: description: "FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. \n Example: Any Endpoint with the label \"team=A\" requires consuming endpoint to also carry the label \"team=A\"." items: diff --git a/crd-catalog/cilium/cilium/cilium.io/v2/ciliumenvoyconfigs.yaml b/crd-catalog/cilium/cilium/cilium.io/v2/ciliumenvoyconfigs.yaml index 75f3d75eb..7513fbec0 100644 --- a/crd-catalog/cilium/cilium/cilium.io/v2/ciliumenvoyconfigs.yaml +++ b/crd-catalog/cilium/cilium/cilium.io/v2/ciliumenvoyconfigs.yaml @@ -55,6 +55,44 @@ spec: - name type: object type: array + nodeSelector: + description: NodeSelector is a label selector that determines to which nodes this configuration applies. If nil, then this config applies to all nodes. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object resources: description: 'Envoy xDS resources, a list of the following Envoy resource types: type.googleapis.com/envoy.config.listener.v3.Listener, type.googleapis.com/envoy.config.route.v3.RouteConfiguration, type.googleapis.com/envoy.config.cluster.v3.Cluster, type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment, and type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret.' items: diff --git a/crd-catalog/cilium/cilium/cilium.io/v2/ciliumnetworkpolicies.yaml b/crd-catalog/cilium/cilium/cilium.io/v2/ciliumnetworkpolicies.yaml index de848d5a4..36f66ecb4 100644 --- a/crd-catalog/cilium/cilium/cilium.io/v2/ciliumnetworkpolicies.yaml +++ b/crd-catalog/cilium/cilium/cilium.io/v2/ciliumnetworkpolicies.yaml @@ -234,6 +234,47 @@ spec: type: object type: object type: array + toNodes: + description: ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array toPorts: description: "ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is allowed to connect to. \n Example: Any endpoint with the label \"role=frontend\" is allowed to initiate connections to destination port 8080/tcp" items: @@ -726,6 +767,47 @@ spec: type: object type: object type: array + toNodes: + description: ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array toPorts: description: "ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is not allowed to connect to. \n Example: Any endpoint with the label \"role=frontend\" is not allowed to initiate connections to destination port 8080/tcp" items: @@ -1012,6 +1094,47 @@ spec: - kube-apiserver type: string type: array + fromNodes: + description: FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array fromRequires: description: "FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. \n Example: Any Endpoint with the label \"team=A\" requires consuming endpoint to also carry the label \"team=A\"." items: @@ -1418,6 +1541,47 @@ spec: - kube-apiserver type: string type: array + fromNodes: + description: FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array fromRequires: description: "FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. \n Example: Any Endpoint with the label \"team=A\" requires consuming endpoint to also carry the label \"team=A\"." items: @@ -1772,6 +1936,47 @@ spec: type: object type: object type: array + toNodes: + description: ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array toPorts: description: "ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is allowed to connect to. \n Example: Any endpoint with the label \"role=frontend\" is allowed to initiate connections to destination port 8080/tcp" items: @@ -2264,6 +2469,47 @@ spec: type: object type: object type: array + toNodes: + description: ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array toPorts: description: "ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is not allowed to connect to. \n Example: Any endpoint with the label \"role=frontend\" is not allowed to initiate connections to destination port 8080/tcp" items: @@ -2550,6 +2796,47 @@ spec: - kube-apiserver type: string type: array + fromNodes: + description: FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array fromRequires: description: "FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. \n Example: Any Endpoint with the label \"team=A\" requires consuming endpoint to also carry the label \"team=A\"." items: @@ -2956,6 +3243,47 @@ spec: - kube-apiserver type: string type: array + fromNodes: + description: FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + items: + description: EndpointSelector is a wrapper for k8s LabelSelector. + 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. + 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. + enum: + - In + - NotIn + - Exists + - 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. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + description: MatchLabelsValue represents the value from the MatchLabels {key,value} pair. + maxLength: 63 + pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ + 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. + type: object + type: object + type: array fromRequires: description: "FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. \n Example: Any Endpoint with the label \"team=A\" requires consuming endpoint to also carry the label \"team=A\"." items: 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 3bc23b5e1..ff8ff6793 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 @@ -2360,6 +2360,21 @@ spec: pattern: ^[0-9a-z_]*$ type: string type: object + synchronizeReplicas: + description: Configures the synchronization of the user defined physical replication slots + properties: + enabled: + default: true + description: When set to true, every replication slot that is on the primary is synchronized on each standby + type: boolean + excludePatterns: + description: List of regular expression patterns to match the names of replication slots to be excluded (by default empty) + items: + type: string + type: array + required: + - enabled + type: object updateInterval: default: 30 description: Standby will update the status of the local replication slots every `updateInterval` seconds (default 30). diff --git a/crd-catalog/datainfrahq/druid-operator/druid.apache.org/v1alpha1/druids.yaml b/crd-catalog/datainfrahq/druid-operator/druid.apache.org/v1alpha1/druids.yaml index e6e21713f..f8ebd1924 100644 --- a/crd-catalog/datainfrahq/druid-operator/druid.apache.org/v1alpha1/druids.yaml +++ b/crd-catalog/datainfrahq/druid-operator/druid.apache.org/v1alpha1/druids.yaml @@ -203,7 +203,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. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + 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/' type: object type: object runAsInit: @@ -1118,7 +1118,7 @@ spec: format: int32 type: integer grpc: - description: GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + description: GRPC specifies an action involving a GRPC port. properties: port: description: Port number of the gRPC service. Number must be in the range 1 to 65535. @@ -1142,7 +1142,7 @@ spec: description: HTTPHeader describes a custom header to be used in HTTP probes properties: name: - description: The header field name + description: The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. type: string value: description: The header field value @@ -1405,7 +1405,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. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + 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/' type: object type: object runAsInit: @@ -2229,14 +2229,14 @@ spec: 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. PeriodSeconds 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. + 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. It must be greater than zero format: int32 type: integer required: @@ -2250,7 +2250,7 @@ spec: description: selectPolicy is used to specify which policy should be used. If 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 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).' format: int32 type: integer type: object @@ -2263,14 +2263,14 @@ spec: 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. PeriodSeconds 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. + 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. It must be greater than zero format: int32 type: integer required: @@ -2284,7 +2284,7 @@ spec: description: selectPolicy is used to specify which policy should be used. If 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 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).' format: int32 type: integer type: object @@ -2420,13 +2420,13 @@ spec: description: describedObject specifies the descriptions of a object,such as kind,name apiVersion properties: apiVersion: - description: API version of the referent + description: apiVersion is the API version of the referent type: string kind: - description: 'Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'kind is the kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names' + description: 'name is the name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string required: - kind @@ -2631,13 +2631,13 @@ spec: description: scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics should be collected, as well as to actually change the replica count. properties: apiVersion: - description: API version of the referent + description: apiVersion is the API version of the referent type: string kind: - description: 'Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'kind is the kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: - description: 'Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names' + description: 'name is the name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string required: - kind @@ -2668,10 +2668,10 @@ spec: description: Ingress Kubernetes Native `Ingress` specification. properties: defaultBackend: - description: DefaultBackend is the backend that should handle requests that don't match any rule. If Rules are not specified, DefaultBackend must be specified. If DefaultBackend is not set, the handling of requests that do not match any of the rules will be up to the Ingress controller. + description: defaultBackend is the backend that should handle requests that don't match any rule. If Rules are not specified, DefaultBackend must be specified. If DefaultBackend is not set, the handling of requests that do not match any of the rules will be up to the Ingress controller. properties: resource: - description: Resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with "Service". + description: resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with "Service". 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. @@ -2688,19 +2688,19 @@ spec: type: object x-kubernetes-map-type: atomic service: - description: Service references a Service as a Backend. This is a mutually exclusive setting with "Resource". + description: service references a service as a backend. This is a mutually exclusive setting with "Resource". properties: name: - description: Name is the referenced service. The service must exist in the same namespace as the Ingress object. + description: name is the referenced service. The service must exist in the same namespace as the Ingress object. type: string port: - description: Port of the referenced service. A port name or port number is required for a IngressServiceBackend. + description: port of the referenced service. A port name or port number is required for a IngressServiceBackend. properties: name: - description: Name is the name of the port on the Service. This is a mutually exclusive setting with "Number". + description: name is the name of the port on the Service. This is a mutually exclusive setting with "Number". type: string number: - description: Number is the numerical port number (e.g. 80) on the Service. This is a mutually exclusive setting with "Name". + description: number is the numerical port number (e.g. 80) on the Service. This is a mutually exclusive setting with "Name". format: int32 type: integer type: object @@ -2709,29 +2709,29 @@ spec: type: object type: object 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, by a transitive connection (controller -> IngressClass -> Ingress resource). Although the `kubernetes.io/ingress.class` annotation (simple constant name) was never formally defined, it was widely supported by Ingress controllers to create a direct binding between Ingress controller and Ingress resources. Newly created Ingress resources should prefer using the field. However, even though the annotation is officially deprecated, for backwards compatibility reasons, ingress controllers should still honor that annotation if present. + 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, by a transitive connection (controller -> IngressClass -> Ingress resource). Although the `kubernetes.io/ingress.class` annotation (simple constant name) was never formally defined, it was widely supported by Ingress controllers to create a direct binding between Ingress controller and Ingress resources. Newly created Ingress resources should prefer using the field. However, even though the annotation is officially deprecated, for backwards compatibility reasons, ingress controllers should still honor that annotation if present. type: string rules: - description: A list of host rules used to configure the Ingress. If unspecified, or no rule matches, all traffic is sent to the default backend. + description: rules is a list of host rules used to configure the Ingress. If unspecified, or no rule matches, all traffic is sent to the default backend. items: description: IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue. properties: host: - description: "Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the \"host\" part of the URI as defined in RFC 3986: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the IP in the Spec of the parent Ingress. 2. The `:` delimiter is not respected because ports are not allowed. Currently the port of an Ingress is implicitly :80 for http and :443 for https. Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue. \n Host can be \"precise\" which is a domain name without the terminating dot of a network host (e.g. \"foo.bar.com\") or \"wildcard\", which is a domain name prefixed with a single wildcard label (e.g. \"*.foo.com\"). The wildcard character '*' must appear by itself as the first DNS label and matches only a single label. You cannot have a wildcard label by itself (e.g. Host == \"*\"). Requests will be matched against the Host field in the following way: 1. If Host is precise, the request matches this rule if the http host header is equal to Host. 2. If Host is a wildcard, then the request matches this rule if the http host header is to equal to the suffix (removing the first label) of the wildcard rule." + description: "host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the \"host\" part of the URI as defined in RFC 3986: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the IP in the Spec of the parent Ingress. 2. The `:` delimiter is not respected because ports are not allowed. Currently the port of an Ingress is implicitly :80 for http and :443 for https. Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue. \n host can be \"precise\" which is a domain name without the terminating dot of a network host (e.g. \"foo.bar.com\") or \"wildcard\", which is a domain name prefixed with a single wildcard label (e.g. \"*.foo.com\"). The wildcard character '*' must appear by itself as the first DNS label and matches only a single label. You cannot have a wildcard label by itself (e.g. Host == \"*\"). Requests will be matched against the Host field in the following way: 1. If host is precise, the request matches this rule if the http host header is equal to Host. 2. If host is a wildcard, then the request matches this rule if the http host header is to equal to the suffix (removing the first label) of the wildcard rule." type: string http: description: 'HTTPIngressRuleValue is a list of http selectors pointing to backends. In the example: http:///? -> backend where where parts of the url correspond to RFC 3986, this resource will be used to match against everything after the last ''/'' and before the first ''?'' or ''#''.' properties: paths: - description: A collection of paths that map requests to backends. + description: paths is a collection of paths that map requests to backends. items: description: HTTPIngressPath associates a path with a backend. Incoming urls matching the path are forwarded to the backend. properties: backend: - description: Backend defines the referenced service endpoint to which the traffic will be forwarded to. + description: backend defines the referenced service endpoint to which the traffic will be forwarded to. properties: resource: - description: Resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with "Service". + description: resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with "Service". 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. @@ -2748,19 +2748,19 @@ spec: type: object x-kubernetes-map-type: atomic service: - description: Service references a Service as a Backend. This is a mutually exclusive setting with "Resource". + description: service references a service as a backend. This is a mutually exclusive setting with "Resource". properties: name: - description: Name is the referenced service. The service must exist in the same namespace as the Ingress object. + description: name is the referenced service. The service must exist in the same namespace as the Ingress object. type: string port: - description: Port of the referenced service. A port name or port number is required for a IngressServiceBackend. + description: port of the referenced service. A port name or port number is required for a IngressServiceBackend. properties: name: - description: Name is the name of the port on the Service. This is a mutually exclusive setting with "Number". + description: name is the name of the port on the Service. This is a mutually exclusive setting with "Number". type: string number: - description: Number is the numerical port number (e.g. 80) on the Service. This is a mutually exclusive setting with "Name". + description: number is the numerical port number (e.g. 80) on the Service. This is a mutually exclusive setting with "Name". format: int32 type: integer type: object @@ -2769,10 +2769,10 @@ spec: type: object type: object path: - description: Path is matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a '/' and must be present when using PathType with value "Exact" or "Prefix". + description: path is matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a '/' and must be present when using PathType with value "Exact" or "Prefix". type: string pathType: - description: 'PathType determines the interpretation of the Path matching. PathType can be one of the following values: * Exact: Matches the URL path exactly. * Prefix: Matches based on a URL path prefix split by ''/''. Matching is done on a path element by element basis. A path element refers is the list of labels in the path split by the ''/'' separator. A request is a match for path p if every p is an element-wise prefix of p of the request path. Note that if the last element of the path is a substring of the last element in request path, it is not a match (e.g. /foo/bar matches /foo/bar/baz, but does not match /foo/barbaz). * ImplementationSpecific: Interpretation of the Path matching is up to the IngressClass. Implementations can treat this as a separate PathType or treat it identically to Prefix or Exact path types. Implementations are required to support all path types.' + description: 'pathType determines the interpretation of the path matching. PathType can be one of the following values: * Exact: Matches the URL path exactly. * Prefix: Matches based on a URL path prefix split by ''/''. Matching is done on a path element by element basis. A path element refers is the list of labels in the path split by the ''/'' separator. A request is a match for path p if every p is an element-wise prefix of p of the request path. Note that if the last element of the path is a substring of the last element in request path, it is not a match (e.g. /foo/bar matches /foo/bar/baz, but does not match /foo/barbaz). * ImplementationSpecific: Interpretation of the Path matching is up to the IngressClass. Implementations can treat this as a separate PathType or treat it identically to Prefix or Exact path types. Implementations are required to support all path types.' type: string required: - backend @@ -2787,18 +2787,18 @@ spec: type: array x-kubernetes-list-type: atomic tls: - description: TLS configuration. Currently the Ingress only supports a single TLS port, 443. If multiple members of this list specify different hosts, they will be multiplexed on the same port according to the hostname specified through the SNI TLS extension, if the ingress controller fulfilling the ingress supports SNI. + description: tls represents the TLS configuration. Currently the Ingress only supports a single TLS port, 443. If multiple members of this list specify different hosts, they will be multiplexed on the same port according to the hostname specified through the SNI TLS extension, if the ingress controller fulfilling the ingress supports SNI. items: - description: IngressTLS describes the transport layer security associated with an Ingress. + description: IngressTLS describes the transport layer security associated with an ingress. properties: hosts: - description: Hosts are 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 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. 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 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. type: string type: object type: array @@ -2843,7 +2843,7 @@ spec: description: HTTPHeader describes a custom header to be used in HTTP probes properties: name: - description: The header field name + description: The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. type: string value: description: The header field value @@ -2908,7 +2908,7 @@ spec: description: HTTPHeader describes a custom header to be used in HTTP probes properties: name: - description: The header field name + description: The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. type: string value: description: The header field value @@ -2967,7 +2967,7 @@ spec: format: int32 type: integer grpc: - description: GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + description: GRPC specifies an action involving a GRPC port. properties: port: description: Port number of the gRPC service. Number must be in the range 1 to 65535. @@ -2991,7 +2991,7 @@ spec: description: HTTPHeader describes a custom header to be used in HTTP probes properties: name: - description: The header field name + description: The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. type: string value: description: The header field value @@ -3191,7 +3191,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. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + 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/' type: object type: object selector: @@ -3264,7 +3264,7 @@ spec: 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'. items: - description: PersistentVolumeClaimCondition contails details about state of pvc + description: PersistentVolumeClaimCondition contains details about state of pvc properties: lastProbeTime: description: lastProbeTime is the time we probed the condition. @@ -3351,7 +3351,7 @@ spec: type: object x-kubernetes-map-type: atomic unhealthyPodEvictionPolicy: - description: "UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods should be considered for eviction. Current implementation considers healthy pods, as pods that have status.conditions item with type=\"Ready\",status=\"True\". \n Valid policies are IfHealthyBudget and AlwaysAllow. If no policy is specified, the default behavior will be used, which corresponds to the IfHealthyBudget policy. \n IfHealthyBudget policy means that running pods (status.phase=\"Running\"), but not yet healthy can be evicted only if the guarded application is not disrupted (status.currentHealthy is at least equal to status.desiredHealthy). Healthy pods will be subject to the PDB for eviction. \n AlwaysAllow policy means that all running pods (status.phase=\"Running\"), but not yet healthy are considered disrupted and can be evicted regardless of whether the criteria in a PDB is met. This means perspective running pods of a disrupted application might not get a chance to become healthy. Healthy pods will be subject to the PDB for eviction. \n Additional policies may be added in the future. Clients making eviction decisions should disallow eviction of unhealthy pods if they encounter an unrecognized policy in this field. \n This field is alpha-level. The eviction API uses this field when the feature gate PDBUnhealthyPodEvictionPolicy is enabled (disabled by default)." + description: "UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods should be considered for eviction. Current implementation considers healthy pods, as pods that have status.conditions item with type=\"Ready\",status=\"True\". \n Valid policies are IfHealthyBudget and AlwaysAllow. If no policy is specified, the default behavior will be used, which corresponds to the IfHealthyBudget policy. \n IfHealthyBudget policy means that running pods (status.phase=\"Running\"), but not yet healthy can be evicted only if the guarded application is not disrupted (status.currentHealthy is at least equal to status.desiredHealthy). Healthy pods will be subject to the PDB for eviction. \n AlwaysAllow policy means that all running pods (status.phase=\"Running\"), but not yet healthy are considered disrupted and can be evicted regardless of whether the criteria in a PDB is met. This means perspective running pods of a disrupted application might not get a chance to become healthy. Healthy pods will be subject to the PDB for eviction. \n Additional policies may be added in the future. Clients making eviction decisions should disallow eviction of unhealthy pods if they encounter an unrecognized policy in this field. \n This field is beta-level. The eviction API uses this field when the feature gate PDBUnhealthyPodEvictionPolicy is enabled (enabled by default)." type: string type: object podLabels: @@ -3410,7 +3410,7 @@ spec: format: int32 type: integer grpc: - description: GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + description: GRPC specifies an action involving a GRPC port. properties: port: description: Port number of the gRPC service. Number must be in the range 1 to 65535. @@ -3434,7 +3434,7 @@ spec: description: HTTPHeader describes a custom header to be used in HTTP probes properties: name: - description: The header field name + description: The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. type: string value: description: The header field value @@ -3534,7 +3534,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. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + 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/' type: object type: object runtime.properties: @@ -3888,7 +3888,7 @@ spec: format: int32 type: integer grpc: - description: GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + description: GRPC specifies an action involving a GRPC port. properties: port: description: Port number of the gRPC service. Number must be in the range 1 to 65535. @@ -3912,7 +3912,7 @@ spec: description: HTTPHeader describes a custom header to be used in HTTP probes properties: name: - description: The header field name + description: The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. type: string value: description: The header field value @@ -4037,7 +4037,7 @@ spec: 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. Keys that don't exist in the incoming pod labels will be ignored. A null or empty list means only match against labelSelector. + 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)." items: type: string type: array @@ -4198,7 +4198,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. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + 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/' type: object type: object selector: @@ -4271,7 +4271,7 @@ spec: 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'. items: - description: PersistentVolumeClaimCondition contails details about state of pvc + description: PersistentVolumeClaimCondition contains details about state of pvc properties: lastProbeTime: description: lastProbeTime is the time we probed the condition. @@ -4583,7 +4583,7 @@ spec: 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: http://kubernetes.io/docs/user-guide/volumes#emptydir' + 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' 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 @@ -4691,7 +4691,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. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + 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/' type: object type: object selector: @@ -5344,7 +5344,7 @@ spec: format: int32 type: integer grpc: - description: GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + description: GRPC specifies an action involving a GRPC port. properties: port: description: Port number of the gRPC service. Number must be in the range 1 to 65535. @@ -5368,7 +5368,7 @@ spec: description: HTTPHeader describes a custom header to be used in HTTP probes properties: name: - description: The header field name + description: The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. type: string value: description: The header field value @@ -5792,7 +5792,7 @@ spec: format: int32 type: integer grpc: - description: GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. + description: GRPC specifies an action involving a GRPC port. properties: port: description: Port number of the gRPC service. Number must be in the range 1 to 65535. @@ -5816,7 +5816,7 @@ spec: description: HTTPHeader describes a custom header to be used in HTTP probes properties: name: - description: The header field name + description: The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. type: string value: description: The header field value @@ -6030,7 +6030,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. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + 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/' type: object type: object selector: @@ -6103,7 +6103,7 @@ spec: 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'. items: - description: PersistentVolumeClaimCondition contails details about state of pvc + description: PersistentVolumeClaimCondition contains details about state of pvc properties: lastProbeTime: description: lastProbeTime is the time we probed the condition. @@ -6415,7 +6415,7 @@ spec: 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: http://kubernetes.io/docs/user-guide/volumes#emptydir' + 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' 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 @@ -6523,7 +6523,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. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + 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/' type: object type: object selector: diff --git a/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/components.yaml b/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/components.yaml index 1d82e7d26..f20d098cd 100644 --- a/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/components.yaml +++ b/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/components.yaml @@ -253,12 +253,30 @@ spec: description: Lookup and associcate other components with this component items: properties: + agent: + description: Agent can be the agent id or the name of the agent. Additionally, the special "self" value can be used to select resources without an agent. + type: string + cache: + description: Cache directives 'no-cache' (should not fetch from cache but can be cached) 'no-store' (should not cache) 'max-age=X' (cache for X duration) + type: string fieldSelector: type: string + id: + type: string labelSelector: type: string name: type: string + namespace: + type: string + statuses: + items: + type: string + type: array + types: + items: + type: string + type: array type: object type: array summary: diff --git a/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/topologies.yaml b/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/topologies.yaml index 49f4a4734..ee5ec0483 100644 --- a/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/topologies.yaml +++ b/crd-catalog/flanksource/canary-checker/canaries.flanksource.com/v1/topologies.yaml @@ -39,12 +39,30 @@ spec: x-kubernetes-preserve-unknown-fields: true selector: properties: + agent: + description: Agent can be the agent id or the name of the agent. Additionally, the special "self" value can be used to select resources without an agent. + type: string + cache: + description: Cache directives 'no-cache' (should not fetch from cache but can be cached) 'no-store' (should not cache) 'max-age=X' (cache for X duration) + type: string fieldSelector: type: string + id: + type: string labelSelector: type: string name: type: string + namespace: + type: string + statuses: + items: + type: string + type: array + types: + items: + type: string + type: array type: object type: object type: array @@ -270,12 +288,30 @@ spec: description: Lookup and associcate other components with this component items: properties: + agent: + description: Agent can be the agent id or the name of the agent. Additionally, the special "self" value can be used to select resources without an agent. + type: string + cache: + description: Cache directives 'no-cache' (should not fetch from cache but can be cached) 'no-store' (should not cache) 'max-age=X' (cache for X duration) + type: string fieldSelector: type: string + id: + type: string labelSelector: type: string name: type: string + namespace: + type: string + statuses: + items: + type: string + type: array + types: + items: + type: string + type: array type: object type: array summary: 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 b0ca77917..1a3e31baa 100644 --- a/crd-catalog/gravitational/teleport/resources.teleport.dev/v5/teleportroles.yaml +++ b/crd-catalog/gravitational/teleport/resources.teleport.dev/v5/teleportroles.yaml @@ -72,6 +72,23 @@ spec: type: string nullable: true type: array + db_permissions: + description: DatabasePermissions specifies a set of permissions that will be granted to the database user when using automatic database user provisioning. + items: + properties: + match: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: Match is a list of object labels that must be matched for the permission to be granted. + type: object + permissions: + description: Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ... + items: + type: string + nullable: true + type: array + type: object + type: array db_roles: description: DatabaseRoles is a list of databases roles for automatic user creation. items: @@ -455,6 +472,23 @@ spec: type: string nullable: true type: array + db_permissions: + description: DatabasePermissions specifies a set of permissions that will be granted to the database user when using automatic database user provisioning. + items: + properties: + match: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: Match is a list of object labels that must be matched for the permission to be granted. + type: object + permissions: + description: Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ... + items: + type: string + nullable: true + type: array + type: object + type: array db_roles: description: DatabaseRoles is a list of databases roles for automatic user creation. items: 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 9802b4f41..d20436acd 100644 --- a/crd-catalog/gravitational/teleport/resources.teleport.dev/v6/teleportroles.yaml +++ b/crd-catalog/gravitational/teleport/resources.teleport.dev/v6/teleportroles.yaml @@ -72,6 +72,23 @@ spec: type: string nullable: true type: array + db_permissions: + description: DatabasePermissions specifies a set of permissions that will be granted to the database user when using automatic database user provisioning. + items: + properties: + match: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: Match is a list of object labels that must be matched for the permission to be granted. + type: object + permissions: + description: Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ... + items: + type: string + nullable: true + type: array + type: object + type: array db_roles: description: DatabaseRoles is a list of databases roles for automatic user creation. items: @@ -455,6 +472,23 @@ spec: type: string nullable: true type: array + db_permissions: + description: DatabasePermissions specifies a set of permissions that will be granted to the database user when using automatic database user provisioning. + items: + properties: + match: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: Match is a list of object labels that must be matched for the permission to be granted. + type: object + permissions: + description: Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ... + items: + type: string + nullable: true + type: array + type: object + type: array db_roles: description: DatabaseRoles is a list of databases roles for automatic user creation. items: diff --git a/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/hcpvaultsecretsapps.yaml b/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/hcpvaultsecretsapps.yaml index dcf46970a..0e14e9add 100644 --- a/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/hcpvaultsecretsapps.yaml +++ b/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/hcpvaultsecretsapps.yaml @@ -56,6 +56,82 @@ spec: default: false description: Overwrite the destination Secret if it exists and Create is true. This is useful when migrating to VSO from a previous secret deployment strategy. type: boolean + transformation: + description: Transformation provides configuration for transforming the secret data before it is stored in the Destination. + properties: + excludeRaw: + default: false + description: ExcludeRaw data from the destination Secret. Exclusion policy can be set globally by including 'exclude-raw` in the '--global-transformation-options' command line flag. If set, the command line flag always takes precedence over this configuration. + type: boolean + excludes: + description: Excludes contains regex patterns used to filter top-level source secret data fields for exclusion from the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied before any inclusion patterns. To exclude all source secret data fields, you can configure the single pattern ".*". + items: + type: string + type: array + includes: + description: Includes contains regex patterns used to filter top-level source secret data fields for inclusion in the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied last. + items: + type: string + type: array + resync: + default: true + description: Resync the Secret on updates to any configured TransformationRefs. + type: boolean + templates: + additionalProperties: + description: Template provides templating configuration. + properties: + name: + description: Name of the Template + type: string + text: + description: Text contains the Go text template format. The template references attributes from the data structure of the source secret. Refer to https://pkg.go.dev/text/template for more information. + type: string + required: + - text + type: object + description: Templates maps a template name to its Template. Templates are always included in the rendered K8s Secret, and take precedence over templates defined in a SecretTransformation. + type: object + transformationRefs: + description: TransformationRefs contain references to template configuration from SecretTransformation. + items: + description: TransformationRef contains the configuration for accessing templates from an SecretTransformation resource. TransformationRefs can be shared across all syncable secret custom resources. + properties: + ignoreExcludes: + description: IgnoreExcludes controls whether to use the SecretTransformation's Excludes data key filters. + type: boolean + ignoreIncludes: + description: IgnoreIncludes controls whether to use the SecretTransformation's Includes data key filters. + type: boolean + name: + description: Name of the SecretTransformation resource. + type: string + namespace: + description: Namespace of the SecretTransformation resource. + type: string + templateRefs: + description: TemplateRefs map to a Template found in this TransformationRef. If empty, then all templates from the SecretTransformation will be rendered to the K8s Secret. + items: + description: TemplateRef points to templating text that is stored in a SecretTransformation custom resource. + properties: + keyOverride: + description: KeyOverride to the rendered template in the Destination secret. If Key is empty, then the Key from reference spec will be used. Set this to override the Key set from the reference spec. + type: string + name: + description: Name of the Template in SecretTransformationSpec.Templates. the rendered secret data. + type: string + required: + - name + type: object + type: array + required: + - name + type: object + type: array + required: + - excludeRaw + - resync + type: object type: description: Type of Kubernetes Secret. Requires Create to be set to true. Defaults to Opaque. type: string diff --git a/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/vaultdynamicsecrets.yaml b/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/vaultdynamicsecrets.yaml index f707a15d4..1842e5db4 100644 --- a/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/vaultdynamicsecrets.yaml +++ b/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/vaultdynamicsecrets.yaml @@ -56,6 +56,82 @@ spec: default: false description: Overwrite the destination Secret if it exists and Create is true. This is useful when migrating to VSO from a previous secret deployment strategy. type: boolean + transformation: + description: Transformation provides configuration for transforming the secret data before it is stored in the Destination. + properties: + excludeRaw: + default: false + description: ExcludeRaw data from the destination Secret. Exclusion policy can be set globally by including 'exclude-raw` in the '--global-transformation-options' command line flag. If set, the command line flag always takes precedence over this configuration. + type: boolean + excludes: + description: Excludes contains regex patterns used to filter top-level source secret data fields for exclusion from the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied before any inclusion patterns. To exclude all source secret data fields, you can configure the single pattern ".*". + items: + type: string + type: array + includes: + description: Includes contains regex patterns used to filter top-level source secret data fields for inclusion in the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied last. + items: + type: string + type: array + resync: + default: true + description: Resync the Secret on updates to any configured TransformationRefs. + type: boolean + templates: + additionalProperties: + description: Template provides templating configuration. + properties: + name: + description: Name of the Template + type: string + text: + description: Text contains the Go text template format. The template references attributes from the data structure of the source secret. Refer to https://pkg.go.dev/text/template for more information. + type: string + required: + - text + type: object + description: Templates maps a template name to its Template. Templates are always included in the rendered K8s Secret, and take precedence over templates defined in a SecretTransformation. + type: object + transformationRefs: + description: TransformationRefs contain references to template configuration from SecretTransformation. + items: + description: TransformationRef contains the configuration for accessing templates from an SecretTransformation resource. TransformationRefs can be shared across all syncable secret custom resources. + properties: + ignoreExcludes: + description: IgnoreExcludes controls whether to use the SecretTransformation's Excludes data key filters. + type: boolean + ignoreIncludes: + description: IgnoreIncludes controls whether to use the SecretTransformation's Includes data key filters. + type: boolean + name: + description: Name of the SecretTransformation resource. + type: string + namespace: + description: Namespace of the SecretTransformation resource. + type: string + templateRefs: + description: TemplateRefs map to a Template found in this TransformationRef. If empty, then all templates from the SecretTransformation will be rendered to the K8s Secret. + items: + description: TemplateRef points to templating text that is stored in a SecretTransformation custom resource. + properties: + keyOverride: + description: KeyOverride to the rendered template in the Destination secret. If Key is empty, then the Key from reference spec will be used. Set this to override the Key set from the reference spec. + type: string + name: + description: Name of the Template in SecretTransformationSpec.Templates. the rendered secret data. + type: string + required: + - name + type: object + type: array + required: + - name + type: object + type: array + required: + - excludeRaw + - resync + type: object type: description: Type of Kubernetes Secret. Requires Create to be set to true. Defaults to Opaque. type: string diff --git a/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/vaultpkisecrets.yaml b/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/vaultpkisecrets.yaml index 789ccfe37..1f5dbd9ee 100644 --- a/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/vaultpkisecrets.yaml +++ b/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/vaultpkisecrets.yaml @@ -64,6 +64,82 @@ spec: default: false description: Overwrite the destination Secret if it exists and Create is true. This is useful when migrating to VSO from a previous secret deployment strategy. type: boolean + transformation: + description: Transformation provides configuration for transforming the secret data before it is stored in the Destination. + properties: + excludeRaw: + default: false + description: ExcludeRaw data from the destination Secret. Exclusion policy can be set globally by including 'exclude-raw` in the '--global-transformation-options' command line flag. If set, the command line flag always takes precedence over this configuration. + type: boolean + excludes: + description: Excludes contains regex patterns used to filter top-level source secret data fields for exclusion from the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied before any inclusion patterns. To exclude all source secret data fields, you can configure the single pattern ".*". + items: + type: string + type: array + includes: + description: Includes contains regex patterns used to filter top-level source secret data fields for inclusion in the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied last. + items: + type: string + type: array + resync: + default: true + description: Resync the Secret on updates to any configured TransformationRefs. + type: boolean + templates: + additionalProperties: + description: Template provides templating configuration. + properties: + name: + description: Name of the Template + type: string + text: + description: Text contains the Go text template format. The template references attributes from the data structure of the source secret. Refer to https://pkg.go.dev/text/template for more information. + type: string + required: + - text + type: object + description: Templates maps a template name to its Template. Templates are always included in the rendered K8s Secret, and take precedence over templates defined in a SecretTransformation. + type: object + transformationRefs: + description: TransformationRefs contain references to template configuration from SecretTransformation. + items: + description: TransformationRef contains the configuration for accessing templates from an SecretTransformation resource. TransformationRefs can be shared across all syncable secret custom resources. + properties: + ignoreExcludes: + description: IgnoreExcludes controls whether to use the SecretTransformation's Excludes data key filters. + type: boolean + ignoreIncludes: + description: IgnoreIncludes controls whether to use the SecretTransformation's Includes data key filters. + type: boolean + name: + description: Name of the SecretTransformation resource. + type: string + namespace: + description: Namespace of the SecretTransformation resource. + type: string + templateRefs: + description: TemplateRefs map to a Template found in this TransformationRef. If empty, then all templates from the SecretTransformation will be rendered to the K8s Secret. + items: + description: TemplateRef points to templating text that is stored in a SecretTransformation custom resource. + properties: + keyOverride: + description: KeyOverride to the rendered template in the Destination secret. If Key is empty, then the Key from reference spec will be used. Set this to override the Key set from the reference spec. + type: string + name: + description: Name of the Template in SecretTransformationSpec.Templates. the rendered secret data. + type: string + required: + - name + type: object + type: array + required: + - name + type: object + type: array + required: + - excludeRaw + - resync + type: object type: description: Type of Kubernetes Secret. Requires Create to be set to true. Defaults to Opaque. type: string diff --git a/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/vaultstaticsecrets.yaml b/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/vaultstaticsecrets.yaml index ffe0f632c..1d1ff090d 100644 --- a/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/vaultstaticsecrets.yaml +++ b/crd-catalog/hashicorp/vault-secrets-operator/secrets.hashicorp.com/v1beta1/vaultstaticsecrets.yaml @@ -53,6 +53,82 @@ spec: default: false description: Overwrite the destination Secret if it exists and Create is true. This is useful when migrating to VSO from a previous secret deployment strategy. type: boolean + transformation: + description: Transformation provides configuration for transforming the secret data before it is stored in the Destination. + properties: + excludeRaw: + default: false + description: ExcludeRaw data from the destination Secret. Exclusion policy can be set globally by including 'exclude-raw` in the '--global-transformation-options' command line flag. If set, the command line flag always takes precedence over this configuration. + type: boolean + excludes: + description: Excludes contains regex patterns used to filter top-level source secret data fields for exclusion from the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied before any inclusion patterns. To exclude all source secret data fields, you can configure the single pattern ".*". + items: + type: string + type: array + includes: + description: Includes contains regex patterns used to filter top-level source secret data fields for inclusion in the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied last. + items: + type: string + type: array + resync: + default: true + description: Resync the Secret on updates to any configured TransformationRefs. + type: boolean + templates: + additionalProperties: + description: Template provides templating configuration. + properties: + name: + description: Name of the Template + type: string + text: + description: Text contains the Go text template format. The template references attributes from the data structure of the source secret. Refer to https://pkg.go.dev/text/template for more information. + type: string + required: + - text + type: object + description: Templates maps a template name to its Template. Templates are always included in the rendered K8s Secret, and take precedence over templates defined in a SecretTransformation. + type: object + transformationRefs: + description: TransformationRefs contain references to template configuration from SecretTransformation. + items: + description: TransformationRef contains the configuration for accessing templates from an SecretTransformation resource. TransformationRefs can be shared across all syncable secret custom resources. + properties: + ignoreExcludes: + description: IgnoreExcludes controls whether to use the SecretTransformation's Excludes data key filters. + type: boolean + ignoreIncludes: + description: IgnoreIncludes controls whether to use the SecretTransformation's Includes data key filters. + type: boolean + name: + description: Name of the SecretTransformation resource. + type: string + namespace: + description: Namespace of the SecretTransformation resource. + type: string + templateRefs: + description: TemplateRefs map to a Template found in this TransformationRef. If empty, then all templates from the SecretTransformation will be rendered to the K8s Secret. + items: + description: TemplateRef points to templating text that is stored in a SecretTransformation custom resource. + properties: + keyOverride: + description: KeyOverride to the rendered template in the Destination secret. If Key is empty, then the Key from reference spec will be used. Set this to override the Key set from the reference spec. + type: string + name: + description: Name of the Template in SecretTransformationSpec.Templates. the rendered secret data. + type: string + required: + - name + type: object + type: array + required: + - name + type: object + type: array + required: + - excludeRaw + - resync + type: object type: description: Type of Kubernetes Secret. Requires Create to be set to true. Defaults to Opaque. type: string diff --git a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/hazelcasts.yaml b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/hazelcasts.yaml index 27d36dcdb..aee6a81c5 100644 --- a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/hazelcasts.yaml +++ b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/hazelcasts.yaml @@ -83,7 +83,7 @@ spec: agent: default: repository: docker.io/hazelcast/platform-operator-agent - version: 0.1.22 + version: 0.1.23 description: B&R Agent configurations properties: repository: @@ -113,7 +113,7 @@ spec: type: object type: object version: - default: 0.1.22 + default: 0.1.23 description: Version of Hazelcast Platform Operator Agent. type: string type: object @@ -1322,7 +1322,7 @@ spec: type: string type: object version: - default: 5.3.2 + default: 5.3.5 description: Version of Hazelcast Platform. type: string type: object diff --git a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/managementcenters.yaml b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/managementcenters.yaml index 3163db1c6..c59705560 100644 --- a/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/managementcenters.yaml +++ b/crd-catalog/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/managementcenters.yaml @@ -849,7 +849,7 @@ spec: type: object type: object version: - default: 5.3.2 + default: 5.3.3 description: Version of Management Center. type: string type: object 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 2e64e21c4..fb1958c65 100644 --- a/crd-catalog/kiali/kiali-operator/kiali.io/v1alpha1/kialis.yaml +++ b/crd-catalog/kiali/kiali-operator/kiali.io/v1alpha1/kialis.yaml @@ -1360,6 +1360,13 @@ spec: port: description: The port that the server will bind to in order to receive console and API requests. type: integer + profiler: + description: Controls the internal profiler used to debug the internals of Kiali + properties: + enabled: + description: When 'true', the profiler will be enabled and accessible at /debug/pprof/ on the Kiali endpoint. + type: boolean + type: object web_fqdn: description: Defines the public domain where Kiali is being served. This is the 'domain' part of the URL (usually it's a fully-qualified domain name). For example, `kiali.example.org`. When empty, Kiali will try to guess this value from HTTP headers. On non-OpenShift clusters, you must populate this value if you want to enable cross-linking between Kiali instances in a multi-cluster setup. type: string diff --git a/crd-catalog/kiegroup/kogito-serverless-operator/sonataflow.org/v1alpha08/sonataflowplatforms.yaml b/crd-catalog/kiegroup/kogito-serverless-operator/sonataflow.org/v1alpha08/sonataflowplatforms.yaml index 9ca750bf8..df05179b6 100644 --- a/crd-catalog/kiegroup/kogito-serverless-operator/sonataflow.org/v1alpha08/sonataflowplatforms.yaml +++ b/crd-catalog/kiegroup/kogito-serverless-operator/sonataflow.org/v1alpha08/sonataflowplatforms.yaml @@ -310,13 +310,13 @@ spec: type: string type: object services: - description: 'Services attributes for deploying supporting applications like Data Index. Only workflows with the proper annotation will be configured to use these service(s). `sonataflow.org/profile: prod`' + description: 'Services attributes for deploying supporting applications like Data Index & Job Service. Only workflows without the `sonataflow.org/profile: dev` annotation will be configured to use these service(s). Setting this will override the use of any cluster-scoped services that might be defined via `SonataFlowClusterPlatform`.' properties: dataIndex: - description: Deploys the Data Index service for use by "prod" profile workflows. + description: 'Deploys the Data Index service for use by workflows without the `sonataflow.org/profile: dev` annotation.' properties: enabled: - description: Determines whether "prod" profile workflows should be configured to use this service + description: 'Determines whether workflows without the `sonataflow.org/profile: dev` annotation should be configured to use this service' type: boolean persistence: description: Persists service to a datasource of choice. Ephemeral by default. @@ -4622,10 +4622,10 @@ spec: type: object type: object jobService: - description: Deploys the Job service for use by "prod" profile workflows. + description: 'Deploys the Job service for use by workflows without the `sonataflow.org/profile: dev` annotation.' properties: enabled: - description: Determines whether "prod" profile workflows should be configured to use this service + description: 'Determines whether workflows without the `sonataflow.org/profile: dev` annotation should be configured to use this service' type: boolean persistence: description: Persists service to a datasource of choice. Ephemeral by default. @@ -8941,6 +8941,44 @@ spec: - kubernetes - openshift type: string + clusterPlatformRef: + description: ClusterPlatformRef information related to the (optional) active SonataFlowClusterPlatform + properties: + name: + description: Name of the active SonataFlowClusterPlatform + type: string + platformRef: + description: PlatformRef displays which SonataFlowPlatform has been referenced by the active SonataFlowClusterPlatform + properties: + name: + description: Name of the SonataFlowPlatform + type: string + namespace: + description: Namespace of the SonataFlowPlatform + type: string + required: + - name + - namespace + type: object + services: + description: Services displays which cluster-wide services are being used by this SonataFlowPlatform + properties: + dataIndexRef: + description: DataIndexRef displays information on the cluster-wide Data Index service + properties: + url: + description: Url displays the base url of a cluster-wide service + type: string + type: object + jobServiceRef: + description: JobServiceRef displays information on the cluster-wide Job Service + properties: + url: + description: Url displays the base url of a cluster-wide service + type: string + type: object + type: object + type: object conditions: description: The latest available observations of a resource's current state. items: 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 80e8d7781..4f4089f15 100644 --- a/crd-catalog/knative/operator/operator.knative.dev/v1beta1/knativeservings.yaml +++ b/crd-catalog/knative/operator/operator.knative.dev/v1beta1/knativeservings.yaml @@ -774,6 +774,17 @@ spec: description: A valid non-negative integer target port number. type: integer type: object + tls: + properties: + credentialName: + description: TLS certificate name. + format: string + type: string + mode: + description: TLS mode can be SIMPLE, MUTUAL, ISTIO_MUTUAL. + format: string + type: string + type: object type: object type: array type: object @@ -812,6 +823,17 @@ spec: description: A valid non-negative integer target port number. type: integer type: object + tls: + properties: + credentialName: + description: TLS certificate name. + format: string + type: string + mode: + description: TLS mode can be SIMPLE, MUTUAL, ISTIO_MUTUAL. + format: string + type: string + type: object type: object type: array type: object 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 2d5ed480e..06ca85416 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 @@ -4981,6 +4981,21 @@ spec: additionalProperties: type: string type: object + pdb: + properties: + maxUnavailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + minAvailable: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + unhealthyPodEvictionPolicy: + type: string + type: object podPriorityClassName: type: string port: diff --git a/crd-catalog/kubernetes-sigs/cluster-api-provider-ibmcloud/infrastructure.cluster.x-k8s.io/v1beta1/ibmvpcmachinetemplates.yaml b/crd-catalog/kubernetes-sigs/cluster-api-provider-ibmcloud/infrastructure.cluster.x-k8s.io/v1beta1/ibmvpcmachinetemplates.yaml index 08bb52e3e..6a2aea9e2 100644 --- a/crd-catalog/kubernetes-sigs/cluster-api-provider-ibmcloud/infrastructure.cluster.x-k8s.io/v1beta1/ibmvpcmachinetemplates.yaml +++ b/crd-catalog/kubernetes-sigs/cluster-api-provider-ibmcloud/infrastructure.cluster.x-k8s.io/v1beta1/ibmvpcmachinetemplates.yaml @@ -112,6 +112,9 @@ spec: required: - template type: object + status: + description: IBMVPCMachineTemplateStatus defines the observed state of IBMVPCMachineTemplate. + type: object type: object served: true storage: false diff --git a/crd-catalog/kubernetes-sigs/cluster-api-provider-ibmcloud/infrastructure.cluster.x-k8s.io/v1beta2/ibmvpcmachinetemplates.yaml b/crd-catalog/kubernetes-sigs/cluster-api-provider-ibmcloud/infrastructure.cluster.x-k8s.io/v1beta2/ibmvpcmachinetemplates.yaml index 4a795adfd..24781cf2f 100644 --- a/crd-catalog/kubernetes-sigs/cluster-api-provider-ibmcloud/infrastructure.cluster.x-k8s.io/v1beta2/ibmvpcmachinetemplates.yaml +++ b/crd-catalog/kubernetes-sigs/cluster-api-provider-ibmcloud/infrastructure.cluster.x-k8s.io/v1beta2/ibmvpcmachinetemplates.yaml @@ -124,6 +124,21 @@ spec: required: - template type: object + status: + description: IBMVPCMachineTemplateStatus defines the observed state of IBMVPCMachineTemplate. + properties: + capacity: + 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: 'Capacity defines the resource capacity for this machine. This value is used for autoscaling from zero operations as defined in: https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20210310-opt-in-autoscaling-from-zero.md' + type: object + type: object type: object served: true storage: true + subresources: + status: {} diff --git a/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1/gatewayclasses.yaml b/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1/gatewayclasses.yaml index 9661eab2d..bc2d334f2 100644 --- a/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1/gatewayclasses.yaml +++ b/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1/gatewayclasses.yaml @@ -253,25 +253,6 @@ spec: description: |- SupportedFeature is used to describe distinct features that are covered by conformance tests. - enum: - - Gateway - - GatewayPort8080 - - GatewayStaticAddresses - - HTTPRoute - - HTTPRouteDestinationPortMatching - - HTTPRouteHostRewrite - - HTTPRouteMethodMatching - - HTTPRoutePathRedirect - - HTTPRoutePathRewrite - - HTTPRoutePortRedirect - - HTTPRouteQueryParamMatching - - HTTPRouteRequestMirror - - HTTPRouteRequestMultipleMirrors - - HTTPRouteResponseHeaderModification - - HTTPRouteSchemeRedirect - - Mesh - - ReferenceGrant - - TLSRoute type: string maxItems: 64 type: array diff --git a/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1beta1/gatewayclasses.yaml b/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1beta1/gatewayclasses.yaml index e37559146..6165dd959 100644 --- a/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1beta1/gatewayclasses.yaml +++ b/crd-catalog/kubernetes-sigs/gateway-api/gateway.networking.k8s.io/v1beta1/gatewayclasses.yaml @@ -253,25 +253,6 @@ spec: description: |- SupportedFeature is used to describe distinct features that are covered by conformance tests. - enum: - - Gateway - - GatewayPort8080 - - GatewayStaticAddresses - - HTTPRoute - - HTTPRouteDestinationPortMatching - - HTTPRouteHostRewrite - - HTTPRouteMethodMatching - - HTTPRoutePathRedirect - - HTTPRoutePathRewrite - - HTTPRoutePortRedirect - - HTTPRouteQueryParamMatching - - HTTPRouteRequestMirror - - HTTPRouteRequestMultipleMirrors - - HTTPRouteResponseHeaderModification - - HTTPRouteSchemeRedirect - - Mesh - - ReferenceGrant - - TLSRoute type: string maxItems: 64 type: array diff --git a/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testexecutions.yaml b/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testexecutions.yaml index 6315aa29a..0df7b8e89 100644 --- a/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testexecutions.yaml +++ b/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testexecutions.yaml @@ -46,6 +46,7 @@ spec: enum: - append - override + - replace type: string artifactRequest: description: artifact request body with test artifacts @@ -384,6 +385,7 @@ spec: enum: - append - override + - replace type: string artifactRequest: description: artifact request body with test artifacts diff --git a/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testsuiteexecutions.yaml b/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testsuiteexecutions.yaml index f41dbef9b..5b805de18 100644 --- a/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testsuiteexecutions.yaml +++ b/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v1/testsuiteexecutions.yaml @@ -267,6 +267,7 @@ spec: enum: - append - override + - replace type: string artifactRequest: description: artifact request body with test artifacts @@ -769,6 +770,7 @@ spec: enum: - append - override + - replace type: string artifactRequest: description: artifact request body with test artifacts diff --git a/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v3/tests.yaml b/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v3/tests.yaml index fe926b056..22f13a18b 100644 --- a/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v3/tests.yaml +++ b/crd-catalog/kubeshop/testkube-operator/tests.testkube.io/v3/tests.yaml @@ -132,6 +132,7 @@ spec: enum: - append - override + - replace type: string artifactRequest: description: artifact request body with test artifacts diff --git a/crd-catalog/longhorn/longhorn/longhorn.io/v1beta2/instancemanagers.yaml b/crd-catalog/longhorn/longhorn/longhorn.io/v1beta2/instancemanagers.yaml index 5aa0324c9..828b356d2 100644 --- a/crd-catalog/longhorn/longhorn/longhorn.io/v1beta2/instancemanagers.yaml +++ b/crd-catalog/longhorn/longhorn/longhorn.io/v1beta2/instancemanagers.yaml @@ -96,6 +96,7 @@ spec: conditions: additionalProperties: type: boolean + nullable: true type: object endpoint: type: string @@ -138,6 +139,7 @@ spec: conditions: additionalProperties: type: boolean + nullable: true type: object endpoint: type: string @@ -180,6 +182,7 @@ spec: conditions: additionalProperties: type: boolean + nullable: true type: object endpoint: type: string diff --git a/crd-catalog/mariadb-operator/mariadb-operator/mariadb.mmontes.io/v1alpha1/connections.yaml b/crd-catalog/mariadb-operator/mariadb-operator/mariadb.mmontes.io/v1alpha1/connections.yaml index ef52b9341..ad924e392 100644 --- a/crd-catalog/mariadb-operator/mariadb-operator/mariadb.mmontes.io/v1alpha1/connections.yaml +++ b/crd-catalog/mariadb-operator/mariadb-operator/mariadb.mmontes.io/v1alpha1/connections.yaml @@ -25,9 +25,6 @@ spec: - jsonPath: .spec.secretName name: Secret type: string - - jsonPath: .spec.mariaDbRef.name - name: MariaDB - type: string - jsonPath: .metadata.creationTimestamp name: Age type: date @@ -48,7 +45,7 @@ spec: description: ConnectionSpec defines the desired state of Connection properties: database: - description: Database to use for configuring the Connection. + description: Database to use when configuring the Connection. type: string healthCheck: description: HealthCheck to be used in the Connection. @@ -60,8 +57,11 @@ spec: description: RetryInterval is the intervañ used to perform health check retries. type: string type: object + host: + description: Host to connect to. If not provided, it defaults to the MariaDB host or to the MaxScale host. + type: string mariaDbRef: - description: MariaDBRef is a reference to a MariaDB object. + description: MariaDBRef is a reference to the MariaDB to connect to. Either MariaDBRef or MaxScaleRef must be provided. properties: apiVersion: description: API version of the referent. @@ -90,6 +90,32 @@ spec: type: boolean type: object x-kubernetes-map-type: atomic + maxScaleRef: + description: MaxScaleRef is a reference to the MaxScale to connect to. Either MariaDBRef or MaxScaleRef must be provided. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' + type: string + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + resourceVersion: + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + type: string + uid: + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + type: string + type: object + x-kubernetes-map-type: atomic params: additionalProperties: type: string @@ -111,6 +137,10 @@ spec: - key type: object x-kubernetes-map-type: atomic + port: + description: Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener. + format: int32 + type: integer secretName: description: SecretName to be used in the Connection. type: string @@ -156,7 +186,6 @@ spec: description: Username to use for configuring the Connection. type: string required: - - mariaDbRef - passwordSecretKeyRef - username type: object diff --git a/crd-catalog/mariadb-operator/mariadb-operator/mariadb.mmontes.io/v1alpha1/mariadbs.yaml b/crd-catalog/mariadb-operator/mariadb-operator/mariadb.mmontes.io/v1alpha1/mariadbs.yaml index ce570b311..3608a08f9 100644 --- a/crd-catalog/mariadb-operator/mariadb-operator/mariadb.mmontes.io/v1alpha1/mariadbs.yaml +++ b/crd-catalog/mariadb-operator/mariadb-operator/mariadb.mmontes.io/v1alpha1/mariadbs.yaml @@ -1595,6 +1595,10 @@ spec: type: string description: Params to be used in the Connection. type: object + port: + description: Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener. + format: int32 + type: integer secretName: description: SecretName to be used in the Connection. type: string @@ -4100,6 +4104,10 @@ spec: adminUsername: description: AdminUsername is an admin username to call the admin REST API. It is defaulted if not provided. type: string + clientMaxConnections: + description: ClientMaxConnections defines the maximum number of connections that the client can establish. If HA is enabled, make sure to increase this value, as more MaxScale replicas implies more connections. It defaults to 30 times the number of MaxScale replicas. + format: int32 + type: integer clientPasswordSecretKeyRef: description: ClientPasswordSecretKeyRef is Secret key reference to the password to connect to MaxScale. It is defaulted if not provided. properties: @@ -4125,6 +4133,10 @@ spec: generate: description: Generate defies whether the operator should generate users and grants for MaxScale to work. It only supports MariaDBs specified via spec.mariaDbRef. type: boolean + monitorMaxConnections: + description: MonitorMaxConnections defines the maximum number of connections that the monitor can establish. If HA is enabled, make sure to increase this value, as more MaxScale replicas implies more connections. It defaults to 30 times the number of MaxScale replicas. + format: int32 + type: integer monitorPasswordSecretKeyRef: description: MonitorPasswordSecretKeyRef is Secret key reference to the password used by MaxScale monitor to connect to MariaDB server. It is defaulted if not provided. properties: @@ -4144,6 +4156,10 @@ spec: monitorUsername: description: MonitorUsername is the user used by MaxScale monitor to connect to MariaDB server. It is defaulted if not provided. type: string + serverMaxConnections: + description: ServerMaxConnections defines the maximum number of connections that the server can establish. If HA is enabled, make sure to increase this value, as more MaxScale replicas implies more connections. It defaults to 30 times the number of MaxScale replicas. + format: int32 + type: integer serverPasswordSecretKeyRef: description: ServerPasswordSecretKeyRef is Secret key reference to the password used by MaxScale to connect to MariaDB server. It is defaulted if not provided. properties: @@ -4163,6 +4179,10 @@ spec: serverUsername: description: ServerUsername is the user used by MaxScale to connect to MariaDB server. It is defaulted if not provided. type: string + syncMaxConnections: + description: SyncMaxConnections defines the maximum number of connections that the sync can establish. If HA is enabled, make sure to increase this value, as more MaxScale replicas implies more connections. It defaults to 30 times the number of MaxScale replicas. + format: int32 + type: integer syncPasswordSecretKeyRef: description: SyncPasswordSecretKeyRef is Secret key reference to the password used by MaxScale config to connect to MariaDB server. It is defaulted when HA is enabled. properties: @@ -4342,6 +4362,70 @@ spec: type: string type: object type: object + connection: + description: Connection provides a template to define the Connection for MaxScale. + properties: + healthCheck: + description: HealthCheck to be used in the Connection. + properties: + interval: + description: Interval used to perform health checks. + type: string + retryInterval: + description: RetryInterval is the intervañ used to perform health check retries. + type: string + type: object + params: + additionalProperties: + type: string + description: Params to be used in the Connection. + type: object + port: + description: Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener. + format: int32 + type: integer + secretName: + description: SecretName to be used in the Connection. + type: string + secretTemplate: + description: SecretTemplate to be used in the Connection. + properties: + annotations: + additionalProperties: + type: string + description: Annotations to be added to the Secret object. + type: object + databaseKey: + description: DatabaseKey to be used in the Secret. + type: string + format: + description: Format to be used in the Secret. + type: string + hostKey: + description: HostKey to be used in the Secret. + type: string + key: + description: Key to be used in the Secret. + type: string + labels: + additionalProperties: + type: string + description: Labels to be added to the Secret object. + type: object + passwordKey: + description: PasswordKey to be used in the Secret. + type: string + portKey: + description: PortKey to be used in the Secret. + type: string + usernameKey: + description: UsernameKey to be used in the Secret. + type: string + type: object + serviceName: + description: ServiceName to be used in the Connection. + type: string + type: object enabled: description: Enabled is a flag to enable Metrics type: boolean @@ -7884,6 +7968,10 @@ spec: type: string description: Params to be used in the Connection. type: object + port: + description: Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener. + format: int32 + type: integer secretName: description: SecretName to be used in the Connection. type: string @@ -8213,6 +8301,10 @@ spec: type: string description: Params to be used in the Connection. type: object + port: + description: Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener. + format: int32 + type: integer secretName: description: SecretName to be used in the Connection. type: string diff --git a/crd-catalog/mariadb-operator/mariadb-operator/mariadb.mmontes.io/v1alpha1/users.yaml b/crd-catalog/mariadb-operator/mariadb-operator/mariadb.mmontes.io/v1alpha1/users.yaml index f23d6ddd7..d651d0961 100644 --- a/crd-catalog/mariadb-operator/mariadb-operator/mariadb.mmontes.io/v1alpha1/users.yaml +++ b/crd-catalog/mariadb-operator/mariadb-operator/mariadb.mmontes.io/v1alpha1/users.yaml @@ -83,7 +83,7 @@ spec: x-kubernetes-map-type: atomic maxUserConnections: default: 10 - description: MaxUserConnections defines the maximum number of connections that the User can have. + description: MaxUserConnections defines the maximum number of connections that the User can establish. format: int32 type: integer name: diff --git a/crd-catalog/netobserv/network-observability-operator/flows.netobserv.io/v1beta1/flowcollectors.yaml b/crd-catalog/netobserv/network-observability-operator/flows.netobserv.io/v1beta1/flowcollectors.yaml index 01962a1e7..d7ad6375b 100644 --- a/crd-catalog/netobserv/network-observability-operator/flows.netobserv.io/v1beta1/flowcollectors.yaml +++ b/crd-catalog/netobserv/network-observability-operator/flows.netobserv.io/v1beta1/flowcollectors.yaml @@ -40,7 +40,7 @@ spec: metadata: type: object spec: - description: 'Defines the desired state of the FlowCollector resource.

*: the mention of "unsupported", or "deprecated" for a feature throughout this document means that this feature is not officially supported by Red Hat. It might have been, for instance, contributed by the community and accepted without a formal agreement for maintenance. The product maintainers might provide some support for these features as a best effort only.' + description: 'Defines the desired state of the FlowCollector resource.

*: the mention of "unsupported", or "deprecated" for a feature throughout this document means that this feature is not officially supported by Red Hat. It might have been, for example, contributed by the community and accepted without a formal agreement for maintenance. The product maintainers might provide some support for these features as a best effort only.' properties: agent: description: Agent configuration for flows extraction. 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 e38be4b38..813f55750 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 @@ -40,7 +40,7 @@ spec: metadata: type: object spec: - description: 'Defines the desired state of the FlowCollector resource.

*: the mention of "unsupported", or "deprecated" for a feature throughout this document means that this feature is not officially supported by Red Hat. It might have been, for instance, contributed by the community and accepted without a formal agreement for maintenance. The product maintainers might provide some support for these features as a best effort only.' + description: 'Defines the desired state of the FlowCollector resource.

*: the mention of "unsupported", or "deprecated" for a feature throughout this document means that this feature is not officially supported by Red Hat. It might have been, for example, contributed by the community and accepted without a formal agreement for maintenance. The product maintainers might provide some support for these features as a best effort only.' properties: agent: description: Agent configuration for flows extraction. diff --git a/crd-catalog/open-policy-agent/gatekeeper/externaldata.gatekeeper.sh/v1alpha1/providers.yaml b/crd-catalog/open-policy-agent/gatekeeper/externaldata.gatekeeper.sh/v1alpha1/providers.yaml index f9540006d..274c6df65 100644 --- a/crd-catalog/open-policy-agent/gatekeeper/externaldata.gatekeeper.sh/v1alpha1/providers.yaml +++ b/crd-catalog/open-policy-agent/gatekeeper/externaldata.gatekeeper.sh/v1alpha1/providers.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.3 + controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: yes name: providers.externaldata.gatekeeper.sh diff --git a/crd-catalog/open-policy-agent/gatekeeper/externaldata.gatekeeper.sh/v1beta1/providers.yaml b/crd-catalog/open-policy-agent/gatekeeper/externaldata.gatekeeper.sh/v1beta1/providers.yaml index fa00f393a..6a0f42047 100644 --- a/crd-catalog/open-policy-agent/gatekeeper/externaldata.gatekeeper.sh/v1beta1/providers.yaml +++ b/crd-catalog/open-policy-agent/gatekeeper/externaldata.gatekeeper.sh/v1beta1/providers.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.3 + controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: yes name: providers.externaldata.gatekeeper.sh diff --git a/crd-catalog/open-policy-agent/gatekeeper/templates.gatekeeper.sh/v1/constrainttemplates.yaml b/crd-catalog/open-policy-agent/gatekeeper/templates.gatekeeper.sh/v1/constrainttemplates.yaml index ac8e409d1..8121c03b7 100644 --- a/crd-catalog/open-policy-agent/gatekeeper/templates.gatekeeper.sh/v1/constrainttemplates.yaml +++ b/crd-catalog/open-policy-agent/gatekeeper/templates.gatekeeper.sh/v1/constrainttemplates.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.3 + controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: yes name: constrainttemplates.templates.gatekeeper.sh diff --git a/crd-catalog/open-policy-agent/gatekeeper/templates.gatekeeper.sh/v1alpha1/constrainttemplates.yaml b/crd-catalog/open-policy-agent/gatekeeper/templates.gatekeeper.sh/v1alpha1/constrainttemplates.yaml index fa8a59fde..98b5f50bd 100644 --- a/crd-catalog/open-policy-agent/gatekeeper/templates.gatekeeper.sh/v1alpha1/constrainttemplates.yaml +++ b/crd-catalog/open-policy-agent/gatekeeper/templates.gatekeeper.sh/v1alpha1/constrainttemplates.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.3 + controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: yes name: constrainttemplates.templates.gatekeeper.sh diff --git a/crd-catalog/open-policy-agent/gatekeeper/templates.gatekeeper.sh/v1beta1/constrainttemplates.yaml b/crd-catalog/open-policy-agent/gatekeeper/templates.gatekeeper.sh/v1beta1/constrainttemplates.yaml index 92155560d..95c9cac1a 100644 --- a/crd-catalog/open-policy-agent/gatekeeper/templates.gatekeeper.sh/v1beta1/constrainttemplates.yaml +++ b/crd-catalog/open-policy-agent/gatekeeper/templates.gatekeeper.sh/v1beta1/constrainttemplates.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.3 + controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: yes name: constrainttemplates.templates.gatekeeper.sh diff --git a/crd-catalog/openshift/api/operator.openshift.io/v1/clustercsidrivers.yaml b/crd-catalog/openshift/api/operator.openshift.io/v1/clustercsidrivers.yaml index 44c98b4c3..69af4bcfb 100644 --- a/crd-catalog/openshift/api/operator.openshift.io/v1/clustercsidrivers.yaml +++ b/crd-catalog/openshift/api/operator.openshift.io/v1/clustercsidrivers.yaml @@ -46,6 +46,7 @@ spec: - vpc.block.csi.ibm.io - powervs.csi.ibm.com - secrets-store.csi.k8s.io + - smb.csi.k8s.io type: string type: object spec: diff --git a/crd-catalog/openshift/api/samples.operator.openshift.io/v1/configs.yaml b/crd-catalog/openshift/api/samples.operator.openshift.io/v1/configs.yaml index caabc8875..6d2bcb055 100644 --- a/crd-catalog/openshift/api/samples.operator.openshift.io/v1/configs.yaml +++ b/crd-catalog/openshift/api/samples.operator.openshift.io/v1/configs.yaml @@ -47,6 +47,19 @@ spec: samplesRegistry: description: samplesRegistry allows for the specification of which registry is accessed by the ImageStreams for their image content. Defaults on the content in https://github.com/openshift/library that are pulled into this github repository, but based on our pulling only ocp content it typically defaults to registry.redhat.io. type: string + skippedHelmCharts: + description: skippedHelmCharts specifies names of helm charts that should NOT be managed. Admins can use this to allow them to delete content they don’t want. They will still have to MANUALLY DELETE the content but the operator will not recreate(or update) anything listed here. Few examples of the name of helmcharts which can be skipped are 'redhat-redhat-perl-imagestreams','redhat-redhat-nodejs-imagestreams','redhat-nginx-imagestreams', 'redhat-redhat-ruby-imagestreams','redhat-redhat-python-imagestreams','redhat-redhat-php-imagestreams', 'redhat-httpd-imagestreams','redhat-redhat-dotnet-imagestreams'. Rest of the names can be obtained from openshift console --> helmcharts -->installed helmcharts. This will display the list of all the 12 helmcharts(of imagestreams)being installed by Samples Operator. The skippedHelmCharts must be a valid Kubernetes resource name. May contain only lowercase alphanumeric characters, hyphens and periods, and each period separated segment must begin and end with an alphanumeric character. It must be non-empty and at most 253 characters in length + items: + description: HelmChartName is a string alias that is used to represent the name of a helm chart. + maxLength: 253 + minLength: 1 + type: string + maxItems: 16 + type: array + x-kubernetes-list-type: set + x-kubernetes-validations: + - message: skippedHelmCharts must be a valid Kubernetes resource name. May contain only lowercase alphanumeric characters, hyphens and periods, and each period separated segment must begin and end with an alphanumeric character + rule: self.all(x, x.matches('^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$')) skippedImagestreams: description: skippedImagestreams specifies names of image streams that should NOT be created/updated. Admins can use this to allow them to delete content they don’t want. They will still have to manually delete the content but the operator will not recreate(or update) anything listed here. items: diff --git a/crd-catalog/openshift/hive/hive.openshift.io/v1/clusterdeployments.yaml b/crd-catalog/openshift/hive/hive.openshift.io/v1/clusterdeployments.yaml index ca826df71..00fb4afd5 100644 --- a/crd-catalog/openshift/hive/hive.openshift.io/v1/clusterdeployments.yaml +++ b/crd-catalog/openshift/hive/hive.openshift.io/v1/clusterdeployments.yaml @@ -60,7 +60,7 @@ spec: description: BaseDomain is the base domain to which the cluster should belong. type: string boundServiceAccountSigningKeySecretRef: - description: BoundServiceAccountSignkingKeySecretRef refers to a Secret that contains a 'bound-service-account-signing-key.key' data key pointing to the private key that will be used to sign ServiceAccount objects. Primarily used to provision AWS clusters to use Amazon's Security Token Service. + description: BoundServiceAccountSigningKeySecretRef refers to a Secret that contains a 'bound-service-account-signing-key.key' data key pointing to the private key that will be used to sign ServiceAccount objects. Primarily used to provision AWS clusters to use Amazon's Security Token Service. 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?' diff --git a/crd-catalog/openshift/hive/hive.openshift.io/v1/selectorsyncsets.yaml b/crd-catalog/openshift/hive/hive.openshift.io/v1/selectorsyncsets.yaml index b2ad4b1c5..90c9f2e73 100644 --- a/crd-catalog/openshift/hive/hive.openshift.io/v1/selectorsyncsets.yaml +++ b/crd-catalog/openshift/hive/hive.openshift.io/v1/selectorsyncsets.yaml @@ -70,6 +70,9 @@ spec: type: object type: object x-kubernetes-map-type: atomic + enableResourceTemplates: + description: 'EnableResourceTemplates, if True, causes hive to honor golang text/templates in Resources. While the standard syntax is supported, it won''t do you a whole lot of good as the parser does not pass a data object (i.e. there is no "dot" for you to use). This currently exists to expose a single function: {{ fromCDLabel "some.label/key" }} will be substituted with the string value of ClusterDeployment.Labels["some.label/key"]. The empty string is interpolated if there are no labels, or if the indicated key does not exist. Note that this only works in values (not e.g. map keys) that are of type string.' + type: boolean patches: description: Patches is the list of patches to apply. items: diff --git a/crd-catalog/openshift/hive/hive.openshift.io/v1/syncsets.yaml b/crd-catalog/openshift/hive/hive.openshift.io/v1/syncsets.yaml index b29cbbb9c..7732fdc09 100644 --- a/crd-catalog/openshift/hive/hive.openshift.io/v1/syncsets.yaml +++ b/crd-catalog/openshift/hive/hive.openshift.io/v1/syncsets.yaml @@ -50,6 +50,9 @@ spec: type: object x-kubernetes-map-type: atomic type: array + enableResourceTemplates: + description: 'EnableResourceTemplates, if True, causes hive to honor golang text/templates in Resources. While the standard syntax is supported, it won''t do you a whole lot of good as the parser does not pass a data object (i.e. there is no "dot" for you to use). This currently exists to expose a single function: {{ fromCDLabel "some.label/key" }} will be substituted with the string value of ClusterDeployment.Labels["some.label/key"]. The empty string is interpolated if there are no labels, or if the indicated key does not exist. Note that this only works in values (not e.g. map keys) that are of type string.' + type: boolean patches: description: Patches is the list of patches to apply. items: diff --git a/crd-catalog/solo-io/gloo/gloo.solo.io/v1/settings.yaml b/crd-catalog/solo-io/gloo/gloo.solo.io/v1/settings.yaml index bb23bb7f8..7d5aac783 100644 --- a/crd-catalog/solo-io/gloo/gloo.solo.io/v1/settings.yaml +++ b/crd-catalog/solo-io/gloo/gloo.solo.io/v1/settings.yaml @@ -628,6 +628,12 @@ spec: replaceInvalidRoutes: type: boolean type: object + istioOptions: + properties: + appendXForwardedHost: + nullable: true + type: boolean + type: object logTransformationRequestResponseInfo: nullable: true type: boolean diff --git a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/ingressroutes.yaml b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/ingressroutes.yaml index bf220d7dd..b04cf35a7 100644 --- a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/ingressroutes.yaml +++ b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/ingressroutes.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ingressroutes.traefik.io spec: group: traefik.io @@ -19,10 +19,19 @@ spec: description: IngressRoute is the CRD implementation of a Traefik HTTP Router. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -30,7 +39,11 @@ spec: description: IngressRouteSpec defines the desired state of IngressRoute. properties: entryPoints: - description: 'EntryPoints defines the list of entry point names to bind to. Entry points have to be configured in the static configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/entrypoints/ Default: all.' + description: |- + EntryPoints defines the list of entry point names to bind to. + Entry points have to be configured in the static configuration. + More info: https://doc.traefik.io/traefik/v3.0/routing/entrypoints/ + Default: all. items: type: string type: array @@ -40,15 +53,21 @@ spec: description: Route holds the HTTP route configuration. properties: kind: - description: Kind defines the kind of the route. Rule is the only supported kind. + description: |- + Kind defines the kind of the route. + Rule is the only supported kind. enum: - Rule type: string match: - description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#rule' + description: |- + Match defines the router's rule. + More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#rule type: string middlewares: - description: 'Middlewares defines the list of references to Middleware resources. More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-middleware' + description: |- + Middlewares defines the list of references to Middleware resources. + More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-middleware items: description: MiddlewareRef is a reference to a Middleware resource. properties: @@ -63,10 +82,14 @@ spec: type: object type: array priority: - description: 'Priority defines the router''s priority. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#priority' + description: |- + Priority defines the router's priority. + More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#priority type: integer services: - description: Services defines the list of Service. It can contain any combination of TraefikService and/or reference to a Kubernetes Service. + description: |- + Services defines the list of Service. + It can contain any combination of TraefikService and/or reference to a Kubernetes Service. items: description: Service defines an upstream HTTP service to proxy traffic to. properties: @@ -77,38 +100,60 @@ spec: - TraefikService type: string name: - description: Name defines the name of the referenced Kubernetes Service or TraefikService. The differentiation between the two is specified in the Kind field. + description: |- + Name defines the name of the referenced Kubernetes Service or TraefikService. + The differentiation between the two is specified in the Kind field. type: string namespace: description: Namespace defines the namespace of the referenced Kubernetes Service or TraefikService. type: string nativeLB: - description: NativeLB controls, when creating the load-balancer, whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. The Kubernetes Service itself does load-balance to the pods. By default, NativeLB is false. + description: |- + NativeLB controls, when creating the load-balancer, + whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. + The Kubernetes Service itself does load-balance to the pods. + By default, NativeLB is false. type: boolean passHostHeader: - description: PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true. + description: |- + PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. + By default, passHostHeader is true. type: boolean port: anyOf: - type: integer - type: string - description: Port defines the port of a Kubernetes Service. This can be a reference to a named port. + description: |- + Port defines the port of a Kubernetes Service. + This can be a reference to a named port. x-kubernetes-int-or-string: true responseForwarding: description: ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client. properties: flushInterval: - description: 'FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. A negative value means to flush immediately after each write to the client. This configuration is ignored when ReverseProxy recognizes a response as a streaming response; for such responses, writes are flushed to the client immediately. Default: 100ms' + description: |- + FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. + A negative value means to flush immediately after each write to the client. + This configuration is ignored when ReverseProxy recognizes a response as a streaming response; + for such responses, writes are flushed to the client immediately. + Default: 100ms type: string type: object scheme: - description: Scheme defines the scheme to use for the request to the upstream Kubernetes Service. It defaults to https when Kubernetes Service port is 443, http otherwise. + description: |- + Scheme defines the scheme to use for the request to the upstream Kubernetes Service. + It defaults to https when Kubernetes Service port is 443, http otherwise. type: string serversTransport: - description: ServersTransport defines the name of ServersTransport resource to use. It allows to configure the transport between Traefik and your servers. Can only be used on a Kubernetes Service. + description: |- + ServersTransport defines the name of ServersTransport resource to use. + It allows to configure the transport between Traefik and your servers. + Can only be used on a Kubernetes Service. type: string sticky: - description: 'Sticky defines the sticky sessions configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions' + description: |- + Sticky defines the sticky sessions configuration. + More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -117,13 +162,18 @@ spec: description: HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript. type: boolean maxAge: - description: MaxAge indicates the number of seconds until the cookie expires. When set to a negative number, the cookie expires immediately. When set to zero, the cookie never expires. + description: |- + MaxAge indicates the number of seconds until the cookie expires. + When set to a negative number, the cookie expires immediately. + When set to zero, the cookie never expires. type: integer name: description: Name defines the Cookie name. type: string sameSite: - description: 'SameSite defines the same site policy. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite' + description: |- + SameSite defines the same site policy. + More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite type: string secure: description: Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS). @@ -131,28 +181,44 @@ spec: type: object type: object strategy: - description: Strategy defines the load balancing strategy between the servers. RoundRobin is the only supported value at the moment. + description: |- + Strategy defines the load balancing strategy between the servers. + RoundRobin is the only supported value at the moment. type: string weight: - description: Weight defines the weight and should only be specified when Name references a TraefikService object (and to be precise, one that embeds a Weighted Round Robin). + description: |- + Weight defines the weight and should only be specified when Name references a TraefikService object + (and to be precise, one that embeds a Weighted Round Robin). type: integer required: - name type: object type: array + syntax: + description: |- + Syntax defines the router's rule syntax. + More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#rulesyntax + type: string required: - kind - match type: object type: array tls: - description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#tls' + description: |- + TLS defines the TLS configuration. + More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#tls properties: certResolver: - description: 'CertResolver defines the name of the certificate resolver to use. Cert resolvers have to be configured in the static configuration. More info: https://doc.traefik.io/traefik/v3.0/https/acme/#certificate-resolvers' + description: |- + CertResolver defines the name of the certificate resolver to use. + Cert resolvers have to be configured in the static configuration. + More info: https://doc.traefik.io/traefik/v3.0/https/acme/#certificate-resolvers type: string domains: - description: 'Domains defines the list of domains that will be used to issue certificates. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#domains' + description: |- + Domains defines the list of domains that will be used to issue certificates. + More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#domains items: description: Domain holds a domain name with SANs. properties: @@ -167,13 +233,20 @@ spec: type: object type: array options: - description: 'Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. If not defined, the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options' + description: |- + Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. + If not defined, the `default` TLSOption is used. + More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options properties: name: - description: 'Name defines the name of the referenced TLSOption. More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsoption' + description: |- + Name defines the name of the referenced TLSOption. + More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsoption type: string namespace: - description: 'Namespace defines the namespace of the referenced TLSOption. More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsoption' + description: |- + Namespace defines the namespace of the referenced TLSOption. + More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsoption type: string required: - name @@ -182,13 +255,19 @@ spec: description: SecretName is the name of the referenced Kubernetes Secret to specify the certificate details. type: string store: - description: Store defines the reference to the TLSStore, that will be used to store certificates. Please note that only `default` TLSStore can be used. + description: |- + Store defines the reference to the TLSStore, that will be used to store certificates. + Please note that only `default` TLSStore can be used. properties: name: - description: 'Name defines the name of the referenced TLSStore. More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsstore' + description: |- + Name defines the name of the referenced TLSStore. + More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsstore type: string namespace: - description: 'Namespace defines the namespace of the referenced TLSStore. More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsstore' + description: |- + Namespace defines the namespace of the referenced TLSStore. + More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsstore type: string required: - name diff --git a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/ingressroutetcps.yaml b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/ingressroutetcps.yaml index 2ab211e63..d229cdb7d 100644 --- a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/ingressroutetcps.yaml +++ b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/ingressroutetcps.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ingressroutetcps.traefik.io spec: group: traefik.io @@ -19,10 +19,19 @@ spec: description: IngressRouteTCP is the CRD implementation of a Traefik TCP Router. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -30,7 +39,11 @@ spec: description: IngressRouteTCPSpec defines the desired state of IngressRouteTCP. properties: entryPoints: - description: 'EntryPoints defines the list of entry point names to bind to. Entry points have to be configured in the static configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/entrypoints/ Default: all.' + description: |- + EntryPoints defines the list of entry point names to bind to. + Entry points have to be configured in the static configuration. + More info: https://doc.traefik.io/traefik/v3.0/routing/entrypoints/ + Default: all. items: type: string type: array @@ -40,7 +53,9 @@ spec: description: RouteTCP holds the TCP route configuration. properties: match: - description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#rule_1' + description: |- + Match defines the router's rule. + More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#rule_1 type: string middlewares: description: Middlewares defines the list of references to MiddlewareTCP resources. @@ -58,7 +73,9 @@ spec: type: object type: array priority: - description: 'Priority defines the router''s priority. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#priority_1' + description: |- + Priority defines the router's priority. + More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#priority_1 type: integer services: description: Services defines the list of TCP services. @@ -72,24 +89,44 @@ spec: description: Namespace defines the namespace of the referenced Kubernetes Service. type: string nativeLB: - description: NativeLB controls, when creating the load-balancer, whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. The Kubernetes Service itself does load-balance to the pods. By default, NativeLB is false. + description: |- + NativeLB controls, when creating the load-balancer, + whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. + The Kubernetes Service itself does load-balance to the pods. + By default, NativeLB is false. type: boolean port: anyOf: - type: integer - type: string - description: Port defines the port of a Kubernetes Service. This can be a reference to a named port. + description: |- + Port defines the port of a Kubernetes Service. + This can be a reference to a named port. x-kubernetes-int-or-string: true proxyProtocol: - description: 'ProxyProtocol defines the PROXY protocol configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#proxy-protocol' + description: |- + ProxyProtocol defines the PROXY protocol configuration. + More info: https://doc.traefik.io/traefik/v3.0/routing/services/#proxy-protocol properties: version: description: Version defines the PROXY Protocol version to use. type: integer type: object serversTransport: - description: ServersTransport defines the name of ServersTransportTCP resource to use. It allows to configure the transport between Traefik and your servers. Can only be used on a Kubernetes Service. + description: |- + ServersTransport defines the name of ServersTransportTCP resource to use. + It allows to configure the transport between Traefik and your servers. + Can only be used on a Kubernetes Service. type: string + terminationDelay: + description: |- + TerminationDelay defines the deadline that the proxy sets, after one of its connected peers indicates + it has closed the writing capability of its connection, to close the reading capability as well, + hence fully terminating the connection. + It is a duration in milliseconds, defaulting to 100. + A negative value means an infinite deadline (i.e. the reading capability is never closed). + Deprecated: TerminationDelay is not supported APIVersion traefik.io/v1, please use ServersTransport to configure the TerminationDelay instead. + type: integer tls: description: TLS determines whether to use TLS when dialing with the backend. type: boolean @@ -101,18 +138,30 @@ spec: - port type: object type: array + syntax: + description: |- + Syntax defines the router's rule syntax. + More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#rulesyntax_1 + type: string required: - match type: object type: array tls: - description: 'TLS defines the TLS configuration on a layer 4 / TCP Route. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#tls_1' + description: |- + TLS defines the TLS configuration on a layer 4 / TCP Route. + More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#tls_1 properties: certResolver: - description: 'CertResolver defines the name of the certificate resolver to use. Cert resolvers have to be configured in the static configuration. More info: https://doc.traefik.io/traefik/v3.0/https/acme/#certificate-resolvers' + description: |- + CertResolver defines the name of the certificate resolver to use. + Cert resolvers have to be configured in the static configuration. + More info: https://doc.traefik.io/traefik/v3.0/https/acme/#certificate-resolvers type: string domains: - description: 'Domains defines the list of domains that will be used to issue certificates. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#domains' + description: |- + Domains defines the list of domains that will be used to issue certificates. + More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#domains items: description: Domain holds a domain name with SANs. properties: @@ -127,7 +176,10 @@ spec: type: object type: array options: - description: 'Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. If not defined, the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options' + description: |- + Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. + If not defined, the `default` TLSOption is used. + More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options properties: name: description: Name defines the name of the referenced Traefik resource. @@ -145,7 +197,9 @@ spec: description: SecretName is the name of the referenced Kubernetes Secret to specify the certificate details. type: string store: - description: Store defines the reference to the TLSStore, that will be used to store certificates. Please note that only `default` TLSStore can be used. + description: |- + Store defines the reference to the TLSStore, that will be used to store certificates. + Please note that only `default` TLSStore can be used. properties: name: description: Name defines the name of the referenced Traefik resource. diff --git a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/ingressrouteudps.yaml b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/ingressrouteudps.yaml index df3e60540..be9b99160 100644 --- a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/ingressrouteudps.yaml +++ b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/ingressrouteudps.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ingressrouteudps.traefik.io spec: group: traefik.io @@ -19,10 +19,19 @@ spec: description: IngressRouteUDP is a CRD implementation of a Traefik UDP Router. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -30,7 +39,11 @@ spec: description: IngressRouteUDPSpec defines the desired state of a IngressRouteUDP. properties: entryPoints: - description: 'EntryPoints defines the list of entry point names to bind to. Entry points have to be configured in the static configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/entrypoints/ Default: all.' + description: |- + EntryPoints defines the list of entry point names to bind to. + Entry points have to be configured in the static configuration. + More info: https://doc.traefik.io/traefik/v3.0/routing/entrypoints/ + Default: all. items: type: string type: array @@ -51,13 +64,19 @@ spec: description: Namespace defines the namespace of the referenced Kubernetes Service. type: string nativeLB: - description: NativeLB controls, when creating the load-balancer, whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. The Kubernetes Service itself does load-balance to the pods. By default, NativeLB is false. + description: |- + NativeLB controls, when creating the load-balancer, + whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. + The Kubernetes Service itself does load-balance to the pods. + By default, NativeLB is false. type: boolean port: anyOf: - type: integer - type: string - description: Port defines the port of a Kubernetes Service. This can be a reference to a named port. + description: |- + Port defines the port of a Kubernetes Service. + This can be a reference to a named port. x-kubernetes-int-or-string: true weight: description: Weight defines the weight used when balancing requests between multiple Kubernetes Service. diff --git a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/middlewares.yaml b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/middlewares.yaml index c565bde91..ecb6f49d9 100644 --- a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/middlewares.yaml +++ b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/middlewares.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: middlewares.traefik.io spec: group: traefik.io @@ -16,13 +16,24 @@ spec: - name: v1alpha1 schema: openAPIV3Schema: - description: 'Middleware is the CRD implementation of a Traefik Middleware. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/overview/' + description: |- + Middleware is the CRD implementation of a Traefik Middleware. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/overview/ properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -30,53 +41,86 @@ spec: description: MiddlewareSpec defines the desired state of a Middleware. properties: addPrefix: - description: 'AddPrefix holds the add prefix middleware configuration. This middleware updates the path of a request before forwarding it. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/addprefix/' + description: |- + AddPrefix holds the add prefix middleware configuration. + This middleware updates the path of a request before forwarding it. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/addprefix/ properties: prefix: - description: Prefix is the string to add before the current path in the requested URL. It should include a leading slash (/). + description: |- + Prefix is the string to add before the current path in the requested URL. + It should include a leading slash (/). type: string type: object basicAuth: - description: 'BasicAuth holds the basic auth middleware configuration. This middleware restricts access to your services to known users. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/basicauth/' + description: |- + BasicAuth holds the basic auth middleware configuration. + This middleware restricts access to your services to known users. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/basicauth/ properties: headerField: - description: 'HeaderField defines a header field to store the authenticated user. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/basicauth/#headerfield' + description: |- + HeaderField defines a header field to store the authenticated user. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/basicauth/#headerfield type: string realm: - description: 'Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme. Default: traefik.' + description: |- + Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme. + Default: traefik. type: string removeHeader: - description: 'RemoveHeader sets the removeHeader option to true to remove the authorization header before forwarding the request to your service. Default: false.' + description: |- + RemoveHeader sets the removeHeader option to true to remove the authorization header before forwarding the request to your service. + Default: false. type: boolean secret: description: Secret is the name of the referenced Kubernetes Secret containing user credentials. type: string type: object buffering: - description: 'Buffering holds the buffering middleware configuration. This middleware retries or limits the size of requests that can be forwarded to backends. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/buffering/#maxrequestbodybytes' + description: |- + Buffering holds the buffering middleware configuration. + This middleware retries or limits the size of requests that can be forwarded to backends. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/buffering/#maxrequestbodybytes properties: maxRequestBodyBytes: - description: 'MaxRequestBodyBytes defines the maximum allowed body size for the request (in bytes). If the request exceeds the allowed size, it is not forwarded to the service, and the client gets a 413 (Request Entity Too Large) response. Default: 0 (no maximum).' + description: |- + MaxRequestBodyBytes defines the maximum allowed body size for the request (in bytes). + If the request exceeds the allowed size, it is not forwarded to the service, and the client gets a 413 (Request Entity Too Large) response. + Default: 0 (no maximum). format: int64 type: integer maxResponseBodyBytes: - description: 'MaxResponseBodyBytes defines the maximum allowed response size from the service (in bytes). If the response exceeds the allowed size, it is not forwarded to the client. The client gets a 500 (Internal Server Error) response instead. Default: 0 (no maximum).' + description: |- + MaxResponseBodyBytes defines the maximum allowed response size from the service (in bytes). + If the response exceeds the allowed size, it is not forwarded to the client. The client gets a 500 (Internal Server Error) response instead. + Default: 0 (no maximum). format: int64 type: integer memRequestBodyBytes: - description: 'MemRequestBodyBytes defines the threshold (in bytes) from which the request will be buffered on disk instead of in memory. Default: 1048576 (1Mi).' + description: |- + MemRequestBodyBytes defines the threshold (in bytes) from which the request will be buffered on disk instead of in memory. + Default: 1048576 (1Mi). format: int64 type: integer memResponseBodyBytes: - description: 'MemResponseBodyBytes defines the threshold (in bytes) from which the response will be buffered on disk instead of in memory. Default: 1048576 (1Mi).' + description: |- + MemResponseBodyBytes defines the threshold (in bytes) from which the response will be buffered on disk instead of in memory. + Default: 1048576 (1Mi). format: int64 type: integer retryExpression: - description: 'RetryExpression defines the retry conditions. It is a logical combination of functions with operators AND (&&) and OR (||). More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/buffering/#retryexpression' + description: |- + RetryExpression defines the retry conditions. + It is a logical combination of functions with operators AND (&&) and OR (||). + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/buffering/#retryexpression type: string type: object chain: - description: 'Chain holds the configuration of the chain middleware. This middleware enables to define reusable combinations of other pieces of middleware. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/chain/' + description: |- + Chain holds the configuration of the chain middleware. + This middleware enables to define reusable combinations of other pieces of middleware. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/chain/ properties: middlewares: description: Middlewares is the list of MiddlewareRef which composes the chain. @@ -120,10 +164,15 @@ spec: x-kubernetes-int-or-string: true type: object compress: - description: 'Compress holds the compress middleware configuration. This middleware compresses responses before sending them to the client, using gzip compression. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/compress/' + description: |- + Compress holds the compress middleware configuration. + This middleware compresses responses before sending them to the client, using gzip compression. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/compress/ properties: excludedContentTypes: - description: ExcludedContentTypes defines the list of content types to compare the Content-Type header of the incoming requests and responses before compressing. `application/grpc` is always excluded. + description: |- + ExcludedContentTypes defines the list of content types to compare the Content-Type header of the incoming requests and responses before compressing. + `application/grpc` is always excluded. items: type: string type: array @@ -133,20 +182,38 @@ spec: type: string type: array minResponseBodyBytes: - description: 'MinResponseBodyBytes defines the minimum amount of bytes a response body must have to be compressed. Default: 1024.' + description: |- + MinResponseBodyBytes defines the minimum amount of bytes a response body must have to be compressed. + Default: 1024. type: integer type: object contentType: - description: ContentType holds the content-type middleware configuration. This middleware sets the `Content-Type` header value to the media type detected from the response content, when it is not set by the backend. + description: |- + ContentType holds the content-type middleware configuration. + This middleware exists to enable the correct behavior until at least the default one can be changed in a future version. + properties: + autoDetect: + description: |- + AutoDetect specifies whether to let the `Content-Type` header, if it has not been set by the backend, + be automatically set to a value derived from the contents of the response. + Deprecated: AutoDetect option is deprecated, Content-Type middleware is only meant to be used to enable the content-type detection, please remove any usage of this option. + type: boolean type: object digestAuth: - description: 'DigestAuth holds the digest auth middleware configuration. This middleware restricts access to your services to known users. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/digestauth/' + description: |- + DigestAuth holds the digest auth middleware configuration. + This middleware restricts access to your services to known users. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/digestauth/ properties: headerField: - description: 'HeaderField defines a header field to store the authenticated user. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/basicauth/#headerfield' + description: |- + HeaderField defines a header field to store the authenticated user. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/basicauth/#headerfield type: string realm: - description: 'Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme. Default: traefik.' + description: |- + Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme. + Default: traefik. type: string removeHeader: description: RemoveHeader defines whether to remove the authorization header before forwarding the request to the backend. @@ -156,13 +223,20 @@ spec: type: string type: object errors: - description: 'ErrorPage holds the custom error middleware configuration. This middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/errorpages/' + description: |- + ErrorPage holds the custom error middleware configuration. + This middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/errorpages/ properties: query: - description: Query defines the URL for the error page (hosted by service). The {status} variable can be used in order to insert the status code in the URL. + description: |- + Query defines the URL for the error page (hosted by service). + The {status} variable can be used in order to insert the status code in the URL. type: string service: - description: 'Service defines the reference to a Kubernetes Service that will serve the error page. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/errorpages/#service' + description: |- + Service defines the reference to a Kubernetes Service that will serve the error page. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/errorpages/#service properties: kind: description: Kind defines the kind of the Service. @@ -171,38 +245,60 @@ spec: - TraefikService type: string name: - description: Name defines the name of the referenced Kubernetes Service or TraefikService. The differentiation between the two is specified in the Kind field. + description: |- + Name defines the name of the referenced Kubernetes Service or TraefikService. + The differentiation between the two is specified in the Kind field. type: string namespace: description: Namespace defines the namespace of the referenced Kubernetes Service or TraefikService. type: string nativeLB: - description: NativeLB controls, when creating the load-balancer, whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. The Kubernetes Service itself does load-balance to the pods. By default, NativeLB is false. + description: |- + NativeLB controls, when creating the load-balancer, + whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. + The Kubernetes Service itself does load-balance to the pods. + By default, NativeLB is false. type: boolean passHostHeader: - description: PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true. + description: |- + PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. + By default, passHostHeader is true. type: boolean port: anyOf: - type: integer - type: string - description: Port defines the port of a Kubernetes Service. This can be a reference to a named port. + description: |- + Port defines the port of a Kubernetes Service. + This can be a reference to a named port. x-kubernetes-int-or-string: true responseForwarding: description: ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client. properties: flushInterval: - description: 'FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. A negative value means to flush immediately after each write to the client. This configuration is ignored when ReverseProxy recognizes a response as a streaming response; for such responses, writes are flushed to the client immediately. Default: 100ms' + description: |- + FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. + A negative value means to flush immediately after each write to the client. + This configuration is ignored when ReverseProxy recognizes a response as a streaming response; + for such responses, writes are flushed to the client immediately. + Default: 100ms type: string type: object scheme: - description: Scheme defines the scheme to use for the request to the upstream Kubernetes Service. It defaults to https when Kubernetes Service port is 443, http otherwise. + description: |- + Scheme defines the scheme to use for the request to the upstream Kubernetes Service. + It defaults to https when Kubernetes Service port is 443, http otherwise. type: string serversTransport: - description: ServersTransport defines the name of ServersTransport resource to use. It allows to configure the transport between Traefik and your servers. Can only be used on a Kubernetes Service. + description: |- + ServersTransport defines the name of ServersTransport resource to use. + It allows to configure the transport between Traefik and your servers. + Can only be used on a Kubernetes Service. type: string sticky: - description: 'Sticky defines the sticky sessions configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions' + description: |- + Sticky defines the sticky sessions configuration. + More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -211,13 +307,18 @@ spec: description: HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript. type: boolean maxAge: - description: MaxAge indicates the number of seconds until the cookie expires. When set to a negative number, the cookie expires immediately. When set to zero, the cookie never expires. + description: |- + MaxAge indicates the number of seconds until the cookie expires. + When set to a negative number, the cookie expires immediately. + When set to zero, the cookie never expires. type: integer name: description: Name defines the Cookie name. type: string sameSite: - description: 'SameSite defines the same site policy. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite' + description: |- + SameSite defines the same site policy. + More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite type: string secure: description: Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS). @@ -225,22 +326,34 @@ spec: type: object type: object strategy: - description: Strategy defines the load balancing strategy between the servers. RoundRobin is the only supported value at the moment. + description: |- + Strategy defines the load balancing strategy between the servers. + RoundRobin is the only supported value at the moment. type: string weight: - description: Weight defines the weight and should only be specified when Name references a TraefikService object (and to be precise, one that embeds a Weighted Round Robin). + description: |- + Weight defines the weight and should only be specified when Name references a TraefikService object + (and to be precise, one that embeds a Weighted Round Robin). type: integer required: - name type: object status: - description: Status defines which status or range of statuses should result in an error page. It can be either a status code as a number (500), as multiple comma-separated numbers (500,502), as ranges by separating two codes with a dash (500-599), or a combination of the two (404,418,500-599). + description: |- + Status defines which status or range of statuses should result in an error page. + It can be either a status code as a number (500), + as multiple comma-separated numbers (500,502), + as ranges by separating two codes with a dash (500-599), + or a combination of the two (404,418,500-599). items: type: string type: array type: object forwardAuth: - description: 'ForwardAuth holds the forward auth middleware configuration. This middleware delegates the request authentication to a Service. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/forwardauth/' + description: |- + ForwardAuth holds the forward auth middleware configuration. + This middleware delegates the request authentication to a Service. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/forwardauth/ properties: addAuthCookiesToResponse: description: AddAuthCookiesToResponse defines the list of cookies to copy from the authentication server response to the response. @@ -251,7 +364,9 @@ spec: description: Address defines the authentication server address. type: string authRequestHeaders: - description: AuthRequestHeaders defines the list of the headers to copy from the request to the authentication server. If not set or empty then all request headers are passed. + description: |- + AuthRequestHeaders defines the list of the headers to copy from the request to the authentication server. + If not set or empty then all request headers are passed. items: type: string type: array @@ -261,16 +376,25 @@ spec: type: string type: array authResponseHeadersRegex: - description: 'AuthResponseHeadersRegex defines the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/forwardauth/#authresponseheadersregex' + description: |- + AuthResponseHeadersRegex defines the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/forwardauth/#authresponseheadersregex type: string tls: description: TLS defines the configuration used to secure the connection to the authentication server. properties: + caOptional: + description: 'Deprecated: TLS client authentication is a server side option (see https://github.com/golang/go/blob/740a490f71d026bb7d2d13cb8fa2d6d6e0572b70/src/crypto/tls/common.go#L634).' + type: boolean caSecret: - description: CASecret is the name of the referenced Kubernetes Secret containing the CA to validate the server certificate. The CA certificate is extracted from key `tls.ca` or `ca.crt`. + description: |- + CASecret is the name of the referenced Kubernetes Secret containing the CA to validate the server certificate. + The CA certificate is extracted from key `tls.ca` or `ca.crt`. type: string certSecret: - description: CertSecret is the name of the referenced Kubernetes Secret containing the client certificate. The client certificate is extracted from the keys `tls.crt` and `tls.key`. + description: |- + CertSecret is the name of the referenced Kubernetes Secret containing the client certificate. + The client certificate is extracted from the keys `tls.crt` and `tls.key`. type: string insecureSkipVerify: description: InsecureSkipVerify defines whether the server certificates should be validated. @@ -281,16 +405,23 @@ spec: type: boolean type: object grpcWeb: - description: GrpcWeb holds the gRPC web middleware configuration. This middleware converts a gRPC web request to an HTTP/2 gRPC request. + description: |- + GrpcWeb holds the gRPC web middleware configuration. + This middleware converts a gRPC web request to an HTTP/2 gRPC request. properties: allowOrigins: - description: AllowOrigins is a list of allowable origins. Can also be a wildcard origin "*". + description: |- + AllowOrigins is a list of allowable origins. + Can also be a wildcard origin "*". items: type: string type: array type: object headers: - description: 'Headers holds the headers middleware configuration. This middleware manages the requests and responses headers. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/headers/#customrequestheaders' + description: |- + Headers holds the headers middleware configuration. + This middleware manages the requests and responses headers. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/headers/#customrequestheaders properties: accessControlAllowCredentials: description: AccessControlAllowCredentials defines whether the request can include user credentials. @@ -342,10 +473,14 @@ spec: description: ContentTypeNosniff defines whether to add the X-Content-Type-Options header with the nosniff value. type: boolean customBrowserXSSValue: - description: CustomBrowserXSSValue defines the X-XSS-Protection header value. This overrides the BrowserXssFilter option. + description: |- + CustomBrowserXSSValue defines the X-XSS-Protection header value. + This overrides the BrowserXssFilter option. type: string customFrameOptionsValue: - description: CustomFrameOptionsValue defines the X-Frame-Options header value. This overrides the FrameDeny option. + description: |- + CustomFrameOptionsValue defines the X-Frame-Options header value. + This overrides the FrameDeny option. type: string customRequestHeaders: additionalProperties: @@ -357,6 +492,9 @@ spec: type: string description: CustomResponseHeaders defines the header names and values to apply to the response. type: object + featurePolicy: + description: 'Deprecated: FeaturePolicy option is deprecated, please use PermissionsPolicy instead.' + type: string forceSTSHeader: description: ForceSTSHeader defines whether to add the STS header even when the connection is HTTP. type: boolean @@ -369,22 +507,44 @@ spec: type: string type: array isDevelopment: - description: IsDevelopment defines whether to mitigate the unwanted effects of the AllowedHosts, SSL, and STS options when developing. Usually testing takes place using HTTP, not HTTPS, and on localhost, not your production domain. If you would like your development environment to mimic production with complete Host blocking, SSL redirects, and STS headers, leave this as false. + description: |- + IsDevelopment defines whether to mitigate the unwanted effects of the AllowedHosts, SSL, and STS options when developing. + Usually testing takes place using HTTP, not HTTPS, and on localhost, not your production domain. + If you would like your development environment to mimic production with complete Host blocking, SSL redirects, + and STS headers, leave this as false. type: boolean permissionsPolicy: - description: PermissionsPolicy defines the Permissions-Policy header value. This allows sites to control browser features. + description: |- + PermissionsPolicy defines the Permissions-Policy header value. + This allows sites to control browser features. type: string publicKey: description: PublicKey is the public key that implements HPKP to prevent MITM attacks with forged certificates. type: string referrerPolicy: - description: ReferrerPolicy defines the Referrer-Policy header value. This allows sites to control whether browsers forward the Referer header to other sites. + description: |- + ReferrerPolicy defines the Referrer-Policy header value. + This allows sites to control whether browsers forward the Referer header to other sites. + type: string + sslForceHost: + description: 'Deprecated: SSLForceHost option is deprecated, please use RedirectRegex instead.' + type: boolean + sslHost: + description: 'Deprecated: SSLHost option is deprecated, please use RedirectRegex instead.' type: string sslProxyHeaders: additionalProperties: type: string - description: 'SSLProxyHeaders defines the header keys with associated values that would indicate a valid HTTPS request. It can be useful when using other proxies (example: "X-Forwarded-Proto": "https").' + description: |- + SSLProxyHeaders defines the header keys with associated values that would indicate a valid HTTPS request. + It can be useful when using other proxies (example: "X-Forwarded-Proto": "https"). type: object + sslRedirect: + description: 'Deprecated: SSLRedirect option is deprecated, please use EntryPoint redirection or RedirectScheme instead.' + type: boolean + sslTemporaryRedirect: + description: 'Deprecated: SSLTemporaryRedirect option is deprecated, please use EntryPoint redirection or RedirectScheme instead.' + type: boolean stsIncludeSubdomains: description: STSIncludeSubdomains defines whether the includeSubDomains directive is appended to the Strict-Transport-Security header. type: boolean @@ -392,22 +552,35 @@ spec: description: STSPreload defines whether the preload flag is appended to the Strict-Transport-Security header. type: boolean stsSeconds: - description: STSSeconds defines the max-age of the Strict-Transport-Security header. If set to 0, the header is not set. + description: |- + STSSeconds defines the max-age of the Strict-Transport-Security header. + If set to 0, the header is not set. format: int64 type: integer type: object inFlightReq: - description: 'InFlightReq holds the in-flight request middleware configuration. This middleware limits the number of requests being processed and served concurrently. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/inflightreq/' + description: |- + InFlightReq holds the in-flight request middleware configuration. + This middleware limits the number of requests being processed and served concurrently. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/inflightreq/ properties: amount: - description: Amount defines the maximum amount of allowed simultaneous in-flight request. The middleware responds with HTTP 429 Too Many Requests if there are already amount requests in progress (based on the same sourceCriterion strategy). + description: |- + Amount defines the maximum amount of allowed simultaneous in-flight request. + The middleware responds with HTTP 429 Too Many Requests if there are already amount requests in progress (based on the same sourceCriterion strategy). format: int64 type: integer sourceCriterion: - description: 'SourceCriterion defines what criterion is used to group requests as originating from a common source. If several strategies are defined at the same time, an error will be raised. If none are set, the default is to use the requestHost. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/inflightreq/#sourcecriterion' + description: |- + SourceCriterion defines what criterion is used to group requests as originating from a common source. + If several strategies are defined at the same time, an error will be raised. + If none are set, the default is to use the requestHost. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/inflightreq/#sourcecriterion properties: ipStrategy: - description: 'IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/ipallowlist/#ipstrategy' + description: |- + IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/ipallowlist/#ipstrategy properties: depth: description: Depth tells Traefik to use the X-Forwarded-For header and take the IP located at the depth position (starting from the right). @@ -427,10 +600,15 @@ spec: type: object type: object ipAllowList: - description: 'IPAllowList holds the IP allowlist middleware configuration. This middleware accepts / refuses requests based on the client IP. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/ipallowlist/' + description: |- + IPAllowList holds the IP allowlist middleware configuration. + This middleware accepts / refuses requests based on the client IP. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/ipallowlist/ properties: ipStrategy: - description: 'IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/ipallowlist/#ipstrategy' + description: |- + IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/ipallowlist/#ipstrategy properties: depth: description: Depth tells Traefik to use the X-Forwarded-For header and take the IP located at the depth position (starting from the right). @@ -442,7 +620,9 @@ spec: type: array type: object rejectStatusCode: - description: RejectStatusCode defines the HTTP status code used for refused requests. If not set, the default is 403 (Forbidden). + description: |- + RejectStatusCode defines the HTTP status code used for refused requests. + If not set, the default is 403 (Forbidden). type: integer sourceRange: description: SourceRange defines the set of allowed IPs (or ranges of allowed IPs by using CIDR notation). @@ -454,7 +634,9 @@ spec: description: 'Deprecated: please use IPAllowList instead.' properties: ipStrategy: - description: 'IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/ipallowlist/#ipstrategy' + description: |- + IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/ipallowlist/#ipstrategy properties: depth: description: Depth tells Traefik to use the X-Forwarded-For header and take the IP located at the depth position (starting from the right). @@ -472,7 +654,10 @@ spec: type: array type: object passTLSClientCert: - description: 'PassTLSClientCert holds the pass TLS client cert middleware configuration. This middleware adds the selected data from the passed client TLS certificate to a header. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/passtlsclientcert/' + description: |- + PassTLSClientCert holds the pass TLS client cert middleware configuration. + This middleware adds the selected data from the passed client TLS certificate to a header. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/passtlsclientcert/ properties: info: description: Info selects the specific client certificate details you want to add to the X-Forwarded-Tls-Client-Cert-Info header. @@ -550,30 +735,48 @@ spec: plugin: additionalProperties: x-kubernetes-preserve-unknown-fields: true - description: 'Plugin defines the middleware plugin configuration. More info: https://doc.traefik.io/traefik/plugins/' + description: |- + Plugin defines the middleware plugin configuration. + More info: https://doc.traefik.io/traefik/plugins/ type: object rateLimit: - description: 'RateLimit holds the rate limit configuration. This middleware ensures that services will receive a fair amount of requests, and allows one to define what fair is. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/ratelimit/' + description: |- + RateLimit holds the rate limit configuration. + This middleware ensures that services will receive a fair amount of requests, and allows one to define what fair is. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/ratelimit/ properties: average: - description: Average is the maximum rate, by default in requests/s, allowed for the given source. It defaults to 0, which means no rate limiting. The rate is actually defined by dividing Average by Period. So for a rate below 1req/s, one needs to define a Period larger than a second. + description: |- + Average is the maximum rate, by default in requests/s, allowed for the given source. + It defaults to 0, which means no rate limiting. + The rate is actually defined by dividing Average by Period. So for a rate below 1req/s, + one needs to define a Period larger than a second. format: int64 type: integer burst: - description: Burst is the maximum number of requests allowed to arrive in the same arbitrarily small period of time. It defaults to 1. + description: |- + Burst is the maximum number of requests allowed to arrive in the same arbitrarily small period of time. + It defaults to 1. format: int64 type: integer period: anyOf: - type: integer - type: string - description: 'Period, in combination with Average, defines the actual maximum rate, such as: r = Average / Period. It defaults to a second.' + description: |- + Period, in combination with Average, defines the actual maximum rate, such as: + r = Average / Period. It defaults to a second. x-kubernetes-int-or-string: true sourceCriterion: - description: SourceCriterion defines what criterion is used to group requests as originating from a common source. If several strategies are defined at the same time, an error will be raised. If none are set, the default is to use the request's remote address field (as an ipStrategy). + description: |- + SourceCriterion defines what criterion is used to group requests as originating from a common source. + If several strategies are defined at the same time, an error will be raised. + If none are set, the default is to use the request's remote address field (as an ipStrategy). properties: ipStrategy: - description: 'IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/ipallowlist/#ipstrategy' + description: |- + IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/ipallowlist/#ipstrategy properties: depth: description: Depth tells Traefik to use the X-Forwarded-For header and take the IP located at the depth position (starting from the right). @@ -593,7 +796,10 @@ spec: type: object type: object redirectRegex: - description: 'RedirectRegex holds the redirect regex middleware configuration. This middleware redirects a request using regex matching and replacement. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/redirectregex/#regex' + description: |- + RedirectRegex holds the redirect regex middleware configuration. + This middleware redirects a request using regex matching and replacement. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/redirectregex/#regex properties: permanent: description: Permanent defines whether the redirection is permanent (301). @@ -606,7 +812,10 @@ spec: type: string type: object redirectScheme: - description: 'RedirectScheme holds the redirect scheme middleware configuration. This middleware redirects requests from a scheme/port to another. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/redirectscheme/' + description: |- + RedirectScheme holds the redirect scheme middleware configuration. + This middleware redirects requests from a scheme/port to another. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/redirectscheme/ properties: permanent: description: Permanent defines whether the redirection is permanent (301). @@ -619,14 +828,20 @@ spec: type: string type: object replacePath: - description: 'ReplacePath holds the replace path middleware configuration. This middleware replaces the path of the request URL and store the original path in an X-Replaced-Path header. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/replacepath/' + description: |- + ReplacePath holds the replace path middleware configuration. + This middleware replaces the path of the request URL and store the original path in an X-Replaced-Path header. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/replacepath/ properties: path: description: Path defines the path to use as replacement in the request URL. type: string type: object replacePathRegex: - description: 'ReplacePathRegex holds the replace path regex middleware configuration. This middleware replaces the path of a URL using regex matching and replacement. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/replacepathregex/' + description: |- + ReplacePathRegex holds the replace path regex middleware configuration. + This middleware replaces the path of a URL using regex matching and replacement. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/replacepathregex/ properties: regex: description: Regex defines the regular expression used to match and capture the path from the request URL. @@ -636,7 +851,11 @@ spec: type: string type: object retry: - description: 'Retry holds the retry middleware configuration. This middleware reissues requests a given number of times to a backend server if that server does not reply. As soon as the server answers, the middleware stops retrying, regardless of the response status. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/retry/' + description: |- + Retry holds the retry middleware configuration. + This middleware reissues requests a given number of times to a backend server if that server does not reply. + As soon as the server answers, the middleware stops retrying, regardless of the response status. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/retry/ properties: attempts: description: Attempts defines how many times the request should be retried. @@ -645,12 +864,26 @@ spec: anyOf: - type: integer - type: string - description: InitialInterval defines the first wait time in the exponential backoff series. The maximum interval is calculated as twice the initialInterval. If unspecified, requests will be retried immediately. The value of initialInterval should be provided in seconds or as a valid duration format, see https://pkg.go.dev/time#ParseDuration. + description: |- + InitialInterval defines the first wait time in the exponential backoff series. + The maximum interval is calculated as twice the initialInterval. + If unspecified, requests will be retried immediately. + The value of initialInterval should be provided in seconds or as a valid duration format, + see https://pkg.go.dev/time#ParseDuration. x-kubernetes-int-or-string: true type: object stripPrefix: - description: 'StripPrefix holds the strip prefix middleware configuration. This middleware removes the specified prefixes from the URL path. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/stripprefix/' + description: |- + StripPrefix holds the strip prefix middleware configuration. + This middleware removes the specified prefixes from the URL path. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/stripprefix/ properties: + forceSlash: + description: |- + Deprecated: ForceSlash option is deprecated, please remove any usage of this option. + ForceSlash ensures that the resulting stripped path is not the empty string, by replacing it with / when necessary. + Default: true. + type: boolean prefixes: description: Prefixes defines the prefixes to strip from the request URL. items: @@ -658,7 +891,10 @@ spec: type: array type: object stripPrefixRegex: - description: 'StripPrefixRegex holds the strip prefix regex middleware configuration. This middleware removes the matching prefixes from the URL path. More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/stripprefixregex/' + description: |- + StripPrefixRegex holds the strip prefix regex middleware configuration. + This middleware removes the matching prefixes from the URL path. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/stripprefixregex/ properties: regex: description: Regex defines the regular expression to match the path prefix from the request URL. diff --git a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/middlewaretcps.yaml b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/middlewaretcps.yaml index 6fc9f7852..4f090cef8 100644 --- a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/middlewaretcps.yaml +++ b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/middlewaretcps.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: middlewaretcps.traefik.io spec: group: traefik.io @@ -16,13 +16,24 @@ spec: - name: v1alpha1 schema: openAPIV3Schema: - description: 'MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. More info: https://doc.traefik.io/traefik/v3.0/middlewares/overview/' + description: |- + MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/overview/ properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -33,12 +44,17 @@ spec: description: InFlightConn defines the InFlightConn middleware configuration. properties: amount: - description: Amount defines the maximum amount of allowed simultaneous connections. The middleware closes the connection if there are already amount connections opened. + description: |- + Amount defines the maximum amount of allowed simultaneous connections. + The middleware closes the connection if there are already amount connections opened. format: int64 type: integer type: object ipAllowList: - description: IPAllowList defines the IPAllowList middleware configuration. + description: |- + IPAllowList defines the IPAllowList middleware configuration. + This middleware accepts/refuses connections based on the client IP. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/tcp/ipallowlist/ properties: sourceRange: description: SourceRange defines the allowed IPs (or ranges of allowed IPs by using CIDR notation). @@ -47,7 +63,11 @@ spec: type: array type: object ipWhiteList: - description: 'IPWhiteList defines the IPWhiteList middleware configuration. Deprecated: please use IPAllowList instead.' + description: |- + IPWhiteList defines the IPWhiteList middleware configuration. + This middleware accepts/refuses connections based on the client IP. + Deprecated: please use IPAllowList instead. + More info: https://doc.traefik.io/traefik/v3.0/middlewares/tcp/ipwhitelist/ properties: sourceRange: description: SourceRange defines the allowed IPs (or ranges of allowed IPs by using CIDR notation). diff --git a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/serverstransports.yaml b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/serverstransports.yaml index be610fa1e..b6651caee 100644 --- a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/serverstransports.yaml +++ b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/serverstransports.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: serverstransports.traefik.io spec: group: traefik.io @@ -16,13 +16,26 @@ spec: - name: v1alpha1 schema: openAPIV3Schema: - description: 'ServersTransport is the CRD implementation of a ServersTransport. If no serversTransport is specified, the default@internal will be used. The default@internal serversTransport is created from the static configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#serverstransport_1' + description: |- + ServersTransport is the CRD implementation of a ServersTransport. + If no serversTransport is specified, the default@internal will be used. + The default@internal serversTransport is created from the static configuration. + More info: https://doc.traefik.io/traefik/v3.0/routing/services/#serverstransport_1 properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object diff --git a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/serverstransporttcps.yaml b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/serverstransporttcps.yaml index 21663128d..ceb68e0e7 100644 --- a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/serverstransporttcps.yaml +++ b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/serverstransporttcps.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: serverstransporttcps.traefik.io spec: group: traefik.io @@ -16,13 +16,26 @@ spec: - name: v1alpha1 schema: openAPIV3Schema: - description: 'ServersTransportTCP is the CRD implementation of a TCPServersTransport. If no tcpServersTransport is specified, a default one named default@internal will be used. The default@internal tcpServersTransport can be configured in the static configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#serverstransport_3' + description: |- + ServersTransportTCP is the CRD implementation of a TCPServersTransport. + If no tcpServersTransport is specified, a default one named default@internal will be used. + The default@internal tcpServersTransport can be configured in the static configuration. + More info: https://doc.traefik.io/traefik/v3.0/routing/services/#serverstransport_3 properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -59,7 +72,9 @@ spec: description: InsecureSkipVerify disables TLS certificate verification. type: boolean peerCertURI: - description: MaxIdleConnsPerHost controls the maximum idle (keep-alive) to keep per-host. PeerCertURI defines the peer cert URI used to match against SAN URI during the peer certificate verification. + description: |- + MaxIdleConnsPerHost controls the maximum idle (keep-alive) to keep per-host. + PeerCertURI defines the peer cert URI used to match against SAN URI during the peer certificate verification. type: string rootCAsSecrets: description: RootCAsSecrets defines a list of CA secret used to validate self-signed certificates. diff --git a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/tlsoptions.yaml b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/tlsoptions.yaml index 34724faa5..98a651cee 100644 --- a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/tlsoptions.yaml +++ b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/tlsoptions.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: tlsoptions.traefik.io spec: group: traefik.io @@ -16,13 +16,24 @@ spec: - name: v1alpha1 schema: openAPIV3Schema: - description: 'TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection. More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options' + description: |- + TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection. + More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -30,12 +41,16 @@ spec: description: TLSOptionSpec defines the desired state of a TLSOption. properties: alpnProtocols: - description: 'ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference. More info: https://doc.traefik.io/traefik/v3.0/https/tls/#alpn-protocols' + description: |- + ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference. + More info: https://doc.traefik.io/traefik/v3.0/https/tls/#alpn-protocols items: type: string type: array cipherSuites: - description: 'CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2. More info: https://doc.traefik.io/traefik/v3.0/https/tls/#cipher-suites' + description: |- + CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2. + More info: https://doc.traefik.io/traefik/v3.0/https/tls/#cipher-suites items: type: string type: array @@ -58,16 +73,30 @@ spec: type: array type: object curvePreferences: - description: 'CurvePreferences defines the preferred elliptic curves in a specific order. More info: https://doc.traefik.io/traefik/v3.0/https/tls/#curve-preferences' + description: |- + CurvePreferences defines the preferred elliptic curves in a specific order. + More info: https://doc.traefik.io/traefik/v3.0/https/tls/#curve-preferences items: type: string type: array maxVersion: - description: 'MaxVersion defines the maximum TLS version that Traefik will accept. Possible values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13. Default: None.' + description: |- + MaxVersion defines the maximum TLS version that Traefik will accept. + Possible values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13. + Default: None. type: string minVersion: - description: 'MinVersion defines the minimum TLS version that Traefik will accept. Possible values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13. Default: VersionTLS10.' + description: |- + MinVersion defines the minimum TLS version that Traefik will accept. + Possible values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13. + Default: VersionTLS10. type: string + preferServerCipherSuites: + description: |- + PreferServerCipherSuites defines whether the server chooses a cipher suite among his own instead of among the client's. + It is enabled automatically when minVersion or maxVersion is set. + Deprecated: https://github.com/golang/go/issues/45430 + type: boolean sniStrict: description: SniStrict defines whether Traefik allows connections from clients connections that do not specify a server_name extension. type: boolean diff --git a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/tlsstores.yaml b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/tlsstores.yaml index 46d58085c..6253215ee 100644 --- a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/tlsstores.yaml +++ b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/tlsstores.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: tlsstores.traefik.io spec: group: traefik.io @@ -16,13 +16,26 @@ spec: - name: v1alpha1 schema: openAPIV3Schema: - description: 'TLSStore is the CRD implementation of a Traefik TLS Store. For the time being, only the TLSStore named default is supported. This means that you cannot have two stores that are named default in different Kubernetes namespaces. More info: https://doc.traefik.io/traefik/v3.0/https/tls/#certificates-stores' + description: |- + TLSStore is the CRD implementation of a Traefik TLS Store. + For the time being, only the TLSStore named default is supported. + This means that you cannot have two stores that are named default in different Kubernetes namespaces. + More info: https://doc.traefik.io/traefik/v3.0/https/tls/#certificates-stores properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object diff --git a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/traefikservices.yaml b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/traefikservices.yaml index 69b4b5c27..596a54422 100644 --- a/crd-catalog/traefik/traefik/traefik.io/v1alpha1/traefikservices.yaml +++ b/crd-catalog/traefik/traefik/traefik.io/v1alpha1/traefikservices.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: traefikservices.traefik.io spec: group: traefik.io @@ -16,13 +16,27 @@ spec: - name: v1alpha1 schema: openAPIV3Schema: - description: 'TraefikService is the CRD implementation of a Traefik Service. TraefikService object allows to: - Apply weight to Services on load-balancing - Mirror traffic on services More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-traefikservice' + description: |- + TraefikService is the CRD implementation of a Traefik Service. + TraefikService object allows to: + - Apply weight to Services on load-balancing + - Mirror traffic on services + More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-traefikservice properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -39,7 +53,10 @@ spec: - TraefikService type: string maxBodySize: - description: MaxBodySize defines the maximum size allowed for the body of the request. If the body is larger, the request is not mirrored. Default value is -1, which means unlimited size. + description: |- + MaxBodySize defines the maximum size allowed for the body of the request. + If the body is larger, the request is not mirrored. + Default value is -1, which means unlimited size. format: int64 type: integer mirrors: @@ -54,41 +71,65 @@ spec: - TraefikService type: string name: - description: Name defines the name of the referenced Kubernetes Service or TraefikService. The differentiation between the two is specified in the Kind field. + description: |- + Name defines the name of the referenced Kubernetes Service or TraefikService. + The differentiation between the two is specified in the Kind field. type: string namespace: description: Namespace defines the namespace of the referenced Kubernetes Service or TraefikService. type: string nativeLB: - description: NativeLB controls, when creating the load-balancer, whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. The Kubernetes Service itself does load-balance to the pods. By default, NativeLB is false. + description: |- + NativeLB controls, when creating the load-balancer, + whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. + The Kubernetes Service itself does load-balance to the pods. + By default, NativeLB is false. type: boolean passHostHeader: - description: PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true. + description: |- + PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. + By default, passHostHeader is true. type: boolean percent: - description: 'Percent defines the part of the traffic to mirror. Supported values: 0 to 100.' + description: |- + Percent defines the part of the traffic to mirror. + Supported values: 0 to 100. type: integer port: anyOf: - type: integer - type: string - description: Port defines the port of a Kubernetes Service. This can be a reference to a named port. + description: |- + Port defines the port of a Kubernetes Service. + This can be a reference to a named port. x-kubernetes-int-or-string: true responseForwarding: description: ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client. properties: flushInterval: - description: 'FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. A negative value means to flush immediately after each write to the client. This configuration is ignored when ReverseProxy recognizes a response as a streaming response; for such responses, writes are flushed to the client immediately. Default: 100ms' + description: |- + FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. + A negative value means to flush immediately after each write to the client. + This configuration is ignored when ReverseProxy recognizes a response as a streaming response; + for such responses, writes are flushed to the client immediately. + Default: 100ms type: string type: object scheme: - description: Scheme defines the scheme to use for the request to the upstream Kubernetes Service. It defaults to https when Kubernetes Service port is 443, http otherwise. + description: |- + Scheme defines the scheme to use for the request to the upstream Kubernetes Service. + It defaults to https when Kubernetes Service port is 443, http otherwise. type: string serversTransport: - description: ServersTransport defines the name of ServersTransport resource to use. It allows to configure the transport between Traefik and your servers. Can only be used on a Kubernetes Service. + description: |- + ServersTransport defines the name of ServersTransport resource to use. + It allows to configure the transport between Traefik and your servers. + Can only be used on a Kubernetes Service. type: string sticky: - description: 'Sticky defines the sticky sessions configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions' + description: |- + Sticky defines the sticky sessions configuration. + More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -97,13 +138,18 @@ spec: description: HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript. type: boolean maxAge: - description: MaxAge indicates the number of seconds until the cookie expires. When set to a negative number, the cookie expires immediately. When set to zero, the cookie never expires. + description: |- + MaxAge indicates the number of seconds until the cookie expires. + When set to a negative number, the cookie expires immediately. + When set to zero, the cookie never expires. type: integer name: description: Name defines the Cookie name. type: string sameSite: - description: 'SameSite defines the same site policy. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite' + description: |- + SameSite defines the same site policy. + More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite type: string secure: description: Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS). @@ -111,48 +157,74 @@ spec: type: object type: object strategy: - description: Strategy defines the load balancing strategy between the servers. RoundRobin is the only supported value at the moment. + description: |- + Strategy defines the load balancing strategy between the servers. + RoundRobin is the only supported value at the moment. type: string weight: - description: Weight defines the weight and should only be specified when Name references a TraefikService object (and to be precise, one that embeds a Weighted Round Robin). + description: |- + Weight defines the weight and should only be specified when Name references a TraefikService object + (and to be precise, one that embeds a Weighted Round Robin). type: integer required: - name type: object type: array name: - description: Name defines the name of the referenced Kubernetes Service or TraefikService. The differentiation between the two is specified in the Kind field. + description: |- + Name defines the name of the referenced Kubernetes Service or TraefikService. + The differentiation between the two is specified in the Kind field. type: string namespace: description: Namespace defines the namespace of the referenced Kubernetes Service or TraefikService. type: string nativeLB: - description: NativeLB controls, when creating the load-balancer, whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. The Kubernetes Service itself does load-balance to the pods. By default, NativeLB is false. + description: |- + NativeLB controls, when creating the load-balancer, + whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. + The Kubernetes Service itself does load-balance to the pods. + By default, NativeLB is false. type: boolean passHostHeader: - description: PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true. + description: |- + PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. + By default, passHostHeader is true. type: boolean port: anyOf: - type: integer - type: string - description: Port defines the port of a Kubernetes Service. This can be a reference to a named port. + description: |- + Port defines the port of a Kubernetes Service. + This can be a reference to a named port. x-kubernetes-int-or-string: true responseForwarding: description: ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client. properties: flushInterval: - description: 'FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. A negative value means to flush immediately after each write to the client. This configuration is ignored when ReverseProxy recognizes a response as a streaming response; for such responses, writes are flushed to the client immediately. Default: 100ms' + description: |- + FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. + A negative value means to flush immediately after each write to the client. + This configuration is ignored when ReverseProxy recognizes a response as a streaming response; + for such responses, writes are flushed to the client immediately. + Default: 100ms type: string type: object scheme: - description: Scheme defines the scheme to use for the request to the upstream Kubernetes Service. It defaults to https when Kubernetes Service port is 443, http otherwise. + description: |- + Scheme defines the scheme to use for the request to the upstream Kubernetes Service. + It defaults to https when Kubernetes Service port is 443, http otherwise. type: string serversTransport: - description: ServersTransport defines the name of ServersTransport resource to use. It allows to configure the transport between Traefik and your servers. Can only be used on a Kubernetes Service. + description: |- + ServersTransport defines the name of ServersTransport resource to use. + It allows to configure the transport between Traefik and your servers. + Can only be used on a Kubernetes Service. type: string sticky: - description: 'Sticky defines the sticky sessions configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions' + description: |- + Sticky defines the sticky sessions configuration. + More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -161,13 +233,18 @@ spec: description: HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript. type: boolean maxAge: - description: MaxAge indicates the number of seconds until the cookie expires. When set to a negative number, the cookie expires immediately. When set to zero, the cookie never expires. + description: |- + MaxAge indicates the number of seconds until the cookie expires. + When set to a negative number, the cookie expires immediately. + When set to zero, the cookie never expires. type: integer name: description: Name defines the Cookie name. type: string sameSite: - description: 'SameSite defines the same site policy. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite' + description: |- + SameSite defines the same site policy. + More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite type: string secure: description: Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS). @@ -175,10 +252,14 @@ spec: type: object type: object strategy: - description: Strategy defines the load balancing strategy between the servers. RoundRobin is the only supported value at the moment. + description: |- + Strategy defines the load balancing strategy between the servers. + RoundRobin is the only supported value at the moment. type: string weight: - description: Weight defines the weight and should only be specified when Name references a TraefikService object (and to be precise, one that embeds a Weighted Round Robin). + description: |- + Weight defines the weight and should only be specified when Name references a TraefikService object + (and to be precise, one that embeds a Weighted Round Robin). type: integer required: - name @@ -198,38 +279,60 @@ spec: - TraefikService type: string name: - description: Name defines the name of the referenced Kubernetes Service or TraefikService. The differentiation between the two is specified in the Kind field. + description: |- + Name defines the name of the referenced Kubernetes Service or TraefikService. + The differentiation between the two is specified in the Kind field. type: string namespace: description: Namespace defines the namespace of the referenced Kubernetes Service or TraefikService. type: string nativeLB: - description: NativeLB controls, when creating the load-balancer, whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. The Kubernetes Service itself does load-balance to the pods. By default, NativeLB is false. + description: |- + NativeLB controls, when creating the load-balancer, + whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. + The Kubernetes Service itself does load-balance to the pods. + By default, NativeLB is false. type: boolean passHostHeader: - description: PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true. + description: |- + PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. + By default, passHostHeader is true. type: boolean port: anyOf: - type: integer - type: string - description: Port defines the port of a Kubernetes Service. This can be a reference to a named port. + description: |- + Port defines the port of a Kubernetes Service. + This can be a reference to a named port. x-kubernetes-int-or-string: true responseForwarding: description: ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client. properties: flushInterval: - description: 'FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. A negative value means to flush immediately after each write to the client. This configuration is ignored when ReverseProxy recognizes a response as a streaming response; for such responses, writes are flushed to the client immediately. Default: 100ms' + description: |- + FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. + A negative value means to flush immediately after each write to the client. + This configuration is ignored when ReverseProxy recognizes a response as a streaming response; + for such responses, writes are flushed to the client immediately. + Default: 100ms type: string type: object scheme: - description: Scheme defines the scheme to use for the request to the upstream Kubernetes Service. It defaults to https when Kubernetes Service port is 443, http otherwise. + description: |- + Scheme defines the scheme to use for the request to the upstream Kubernetes Service. + It defaults to https when Kubernetes Service port is 443, http otherwise. type: string serversTransport: - description: ServersTransport defines the name of ServersTransport resource to use. It allows to configure the transport between Traefik and your servers. Can only be used on a Kubernetes Service. + description: |- + ServersTransport defines the name of ServersTransport resource to use. + It allows to configure the transport between Traefik and your servers. + Can only be used on a Kubernetes Service. type: string sticky: - description: 'Sticky defines the sticky sessions configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions' + description: |- + Sticky defines the sticky sessions configuration. + More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -238,13 +341,18 @@ spec: description: HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript. type: boolean maxAge: - description: MaxAge indicates the number of seconds until the cookie expires. When set to a negative number, the cookie expires immediately. When set to zero, the cookie never expires. + description: |- + MaxAge indicates the number of seconds until the cookie expires. + When set to a negative number, the cookie expires immediately. + When set to zero, the cookie never expires. type: integer name: description: Name defines the Cookie name. type: string sameSite: - description: 'SameSite defines the same site policy. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite' + description: |- + SameSite defines the same site policy. + More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite type: string secure: description: Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS). @@ -252,17 +360,23 @@ spec: type: object type: object strategy: - description: Strategy defines the load balancing strategy between the servers. RoundRobin is the only supported value at the moment. + description: |- + Strategy defines the load balancing strategy between the servers. + RoundRobin is the only supported value at the moment. type: string weight: - description: Weight defines the weight and should only be specified when Name references a TraefikService object (and to be precise, one that embeds a Weighted Round Robin). + description: |- + Weight defines the weight and should only be specified when Name references a TraefikService object + (and to be precise, one that embeds a Weighted Round Robin). type: integer required: - name type: object type: array sticky: - description: 'Sticky defines whether sticky sessions are enabled. More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#stickiness-and-load-balancing' + description: |- + Sticky defines whether sticky sessions are enabled. + More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#stickiness-and-load-balancing properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -271,13 +385,18 @@ spec: description: HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript. type: boolean maxAge: - description: MaxAge indicates the number of seconds until the cookie expires. When set to a negative number, the cookie expires immediately. When set to zero, the cookie never expires. + description: |- + MaxAge indicates the number of seconds until the cookie expires. + When set to a negative number, the cookie expires immediately. + When set to zero, the cookie never expires. type: integer name: description: Name defines the Cookie name. type: string sameSite: - description: 'SameSite defines the same site policy. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite' + description: |- + SameSite defines the same site policy. + More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite type: string secure: description: Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS). 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 12ffd7f9e..f221d9095 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 @@ -2900,6 +2900,11 @@ spec: items: type: string type: array + tfVarsFiles: + description: TfVarsFiles loads all given .tfvars files. It copycats the -var-file functionality. + items: + type: string + type: array tfstate: description: TFStateSpec allows the user to set ForceUnlock properties: 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 c46f2d002..4b494dff3 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 @@ -79,19 +79,15 @@ spec: connection_pooler: properties: connection_pooler_default_cpu_limit: - default: '1' pattern: ^(\d+m|\d+(\.\d{1,3})?)$ type: string connection_pooler_default_cpu_request: - default: 500m pattern: ^(\d+m|\d+(\.\d{1,3})?)$ type: string connection_pooler_default_memory_limit: - default: 100Mi pattern: ^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$ type: string connection_pooler_default_memory_request: - default: 100Mi pattern: ^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$ type: string connection_pooler_image: @@ -495,19 +491,15 @@ spec: postgres_pod_resources: properties: default_cpu_limit: - default: '1' pattern: ^(\d+m|\d+(\.\d{1,3})?)$ type: string default_cpu_request: - default: 100m pattern: ^(\d+m|\d+(\.\d{1,3})?)$ type: string default_memory_limit: - default: 500Mi pattern: ^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$ type: string default_memory_request: - default: 100Mi pattern: ^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$ type: string max_cpu_request: @@ -517,11 +509,9 @@ spec: pattern: ^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$ type: string min_cpu_limit: - default: 250m pattern: ^(\d+m|\d+(\.\d{1,3})?)$ type: string min_memory_limit: - default: 250Mi pattern: ^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$ type: string type: object diff --git a/kube-custom-resources-rs/src/application_networking_k8s_aws/v1alpha1/serviceexports.rs b/kube-custom-resources-rs/src/application_networking_k8s_aws/v1alpha1/serviceexports.rs index b63b6d1fc..95b56da8b 100644 --- a/kube-custom-resources-rs/src/application_networking_k8s_aws/v1alpha1/serviceexports.rs +++ b/kube-custom-resources-rs/src/application_networking_k8s_aws/v1alpha1/serviceexports.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/aws/aws-application-networking-k8s/application-networking.k8s.aws/v1alpha1/serviceexports.yaml --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// status describes the current state of an exported service. Service configuration comes from the Service that had the same name and namespace as this ServiceExport. Populated by the multi-cluster service implementation's controller. diff --git a/kube-custom-resources-rs/src/apps_kubeblocks_io/v1alpha1/clusterdefinitions.rs b/kube-custom-resources-rs/src/apps_kubeblocks_io/v1alpha1/clusterdefinitions.rs index 981e68802..eea2a1f0f 100644 --- a/kube-custom-resources-rs/src/apps_kubeblocks_io/v1alpha1/clusterdefinitions.rs +++ b/kube-custom-resources-rs/src/apps_kubeblocks_io/v1alpha1/clusterdefinitions.rs @@ -5523,6 +5523,9 @@ pub struct ClusterDefinitionComponentDefsSystemAccountsPasswordConfig { /// numSymbols defines number of symbols. #[serde(default, skip_serializing_if = "Option::is_none", rename = "numSymbols")] pub num_symbols: Option, + /// seed specifies the seed used to generate the account's password. Cannot be updated. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub seed: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] diff --git a/kube-custom-resources-rs/src/binding_operators_coreos_com/v1alpha1/bindablekinds.rs b/kube-custom-resources-rs/src/binding_operators_coreos_com/v1alpha1/bindablekinds.rs index 661d5bb5b..1d850bc36 100644 --- a/kube-custom-resources-rs/src/binding_operators_coreos_com/v1alpha1/bindablekinds.rs +++ b/kube-custom-resources-rs/src/binding_operators_coreos_com/v1alpha1/bindablekinds.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/redhat-developer/service-binding-operator/binding.operators.coreos.com/v1alpha1/bindablekinds.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// BindableKindsStatus defines the observed state of BindableKinds diff --git a/kube-custom-resources-rs/src/bus_volcano_sh/v1alpha1/commands.rs b/kube-custom-resources-rs/src/bus_volcano_sh/v1alpha1/commands.rs index a73996d75..388e6395e 100644 --- a/kube-custom-resources-rs/src/bus_volcano_sh/v1alpha1/commands.rs +++ b/kube-custom-resources-rs/src/bus_volcano_sh/v1alpha1/commands.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/volcano-sh/volcano/bus.volcano.sh/v1alpha1/commands.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// TargetObject defines the target object of this command. diff --git a/kube-custom-resources-rs/src/camel_apache_org/v1/builds.rs b/kube-custom-resources-rs/src/camel_apache_org/v1/builds.rs index ec7d76b73..b683c1afd 100644 --- a/kube-custom-resources-rs/src/camel_apache_org/v1/builds.rs +++ b/kube-custom-resources-rs/src/camel_apache_org/v1/builds.rs @@ -359,15 +359,21 @@ pub struct BuildTasksBuilderMavenCaSecrets { pub optional: Option, } -/// MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. +/// MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BuildTasksBuilderMavenExtension { /// Maven Artifact #[serde(rename = "artifactId")] pub artifact_id: String, + /// Maven Classifier + #[serde(default, skip_serializing_if = "Option::is_none")] + pub classifier: Option, /// Maven Group #[serde(rename = "groupId")] pub group_id: String, + /// Maven Type + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, /// Maven Version #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, @@ -569,29 +575,41 @@ pub struct BuildTasksBuilderRuntimeCapabilities { pub dependencies: Option>, } -/// MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. +/// MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BuildTasksBuilderRuntimeCapabilitiesDependencies { /// Maven Artifact #[serde(rename = "artifactId")] pub artifact_id: String, + /// Maven Classifier + #[serde(default, skip_serializing_if = "Option::is_none")] + pub classifier: Option, /// Maven Group #[serde(rename = "groupId")] pub group_id: String, + /// Maven Type + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, /// Maven Version #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, } -/// MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. +/// MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BuildTasksBuilderRuntimeDependencies { /// Maven Artifact #[serde(rename = "artifactId")] pub artifact_id: String, + /// Maven Classifier + #[serde(default, skip_serializing_if = "Option::is_none")] + pub classifier: Option, /// Maven Group #[serde(rename = "groupId")] pub group_id: String, + /// Maven Type + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, /// Maven Version #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, @@ -1076,15 +1094,21 @@ pub struct BuildTasksPackageMavenCaSecrets { pub optional: Option, } -/// MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. +/// MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BuildTasksPackageMavenExtension { /// Maven Artifact #[serde(rename = "artifactId")] pub artifact_id: String, + /// Maven Classifier + #[serde(default, skip_serializing_if = "Option::is_none")] + pub classifier: Option, /// Maven Group #[serde(rename = "groupId")] pub group_id: String, + /// Maven Type + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, /// Maven Version #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, @@ -1286,29 +1310,41 @@ pub struct BuildTasksPackageRuntimeCapabilities { pub dependencies: Option>, } -/// MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. +/// MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BuildTasksPackageRuntimeCapabilitiesDependencies { /// Maven Artifact #[serde(rename = "artifactId")] pub artifact_id: String, + /// Maven Classifier + #[serde(default, skip_serializing_if = "Option::is_none")] + pub classifier: Option, /// Maven Group #[serde(rename = "groupId")] pub group_id: String, + /// Maven Type + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, /// Maven Version #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, } -/// MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. +/// MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct BuildTasksPackageRuntimeDependencies { /// Maven Artifact #[serde(rename = "artifactId")] pub artifact_id: String, + /// Maven Classifier + #[serde(default, skip_serializing_if = "Option::is_none")] + pub classifier: Option, /// Maven Group #[serde(rename = "groupId")] pub group_id: String, + /// Maven Type + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, /// Maven Version #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, diff --git a/kube-custom-resources-rs/src/camel_apache_org/v1/camelcatalogs.rs b/kube-custom-resources-rs/src/camel_apache_org/v1/camelcatalogs.rs index 3b292ae2a..c6d439417 100644 --- a/kube-custom-resources-rs/src/camel_apache_org/v1/camelcatalogs.rs +++ b/kube-custom-resources-rs/src/camel_apache_org/v1/camelcatalogs.rs @@ -27,6 +27,9 @@ pub struct CamelCatalogArtifacts { /// Maven Artifact #[serde(default, skip_serializing_if = "Option::is_none", rename = "artifactId")] pub artifact_id: Option, + /// Maven Classifier + #[serde(default, skip_serializing_if = "Option::is_none")] + pub classifier: Option, /// accepted data formats #[serde(default, skip_serializing_if = "Option::is_none")] pub dataformats: Option>, @@ -48,6 +51,9 @@ pub struct CamelCatalogArtifacts { /// accepted URI schemes #[serde(default, skip_serializing_if = "Option::is_none")] pub schemes: Option>, + /// Maven Type + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, /// Maven Version #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, @@ -59,12 +65,18 @@ pub struct CamelCatalogArtifactsDependencies { /// Maven Artifact #[serde(rename = "artifactId")] pub artifact_id: String, + /// Maven Classifier + #[serde(default, skip_serializing_if = "Option::is_none")] + pub classifier: Option, /// provide a list of artifacts to exclude for this dependency #[serde(default, skip_serializing_if = "Option::is_none")] pub exclusions: Option>, /// Maven Group #[serde(rename = "groupId")] pub group_id: String, + /// Maven Type + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, /// Maven Version #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, @@ -123,12 +135,18 @@ pub struct CamelCatalogArtifactsSchemesConsumerDependencies { /// Maven Artifact #[serde(rename = "artifactId")] pub artifact_id: String, + /// Maven Classifier + #[serde(default, skip_serializing_if = "Option::is_none")] + pub classifier: Option, /// provide a list of artifacts to exclude for this dependency #[serde(default, skip_serializing_if = "Option::is_none")] pub exclusions: Option>, /// Maven Group #[serde(rename = "groupId")] pub group_id: String, + /// Maven Type + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, /// Maven Version #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, @@ -159,12 +177,18 @@ pub struct CamelCatalogArtifactsSchemesProducerDependencies { /// Maven Artifact #[serde(rename = "artifactId")] pub artifact_id: String, + /// Maven Classifier + #[serde(default, skip_serializing_if = "Option::is_none")] + pub classifier: Option, /// provide a list of artifacts to exclude for this dependency #[serde(default, skip_serializing_if = "Option::is_none")] pub exclusions: Option>, /// Maven Group #[serde(rename = "groupId")] pub group_id: String, + /// Maven Type + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, /// Maven Version #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, @@ -187,6 +211,9 @@ pub struct CamelCatalogLoaders { /// Maven Artifact #[serde(default, skip_serializing_if = "Option::is_none", rename = "artifactId")] pub artifact_id: Option, + /// Maven Classifier + #[serde(default, skip_serializing_if = "Option::is_none")] + pub classifier: Option, /// a list of additional dependencies required beside the base one #[serde(default, skip_serializing_if = "Option::is_none")] pub dependencies: Option>, @@ -199,20 +226,29 @@ pub struct CamelCatalogLoaders { /// the metadata of the loader #[serde(default, skip_serializing_if = "Option::is_none")] pub metadata: Option>, + /// Maven Type + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, /// Maven Version #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, } -/// MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. +/// MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CamelCatalogLoadersDependencies { /// Maven Artifact #[serde(rename = "artifactId")] pub artifact_id: String, + /// Maven Classifier + #[serde(default, skip_serializing_if = "Option::is_none")] + pub classifier: Option, /// Maven Group #[serde(rename = "groupId")] pub group_id: String, + /// Maven Type + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, /// Maven Version #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, @@ -245,29 +281,41 @@ pub struct CamelCatalogRuntimeCapabilities { pub dependencies: Option>, } -/// MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. +/// MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CamelCatalogRuntimeCapabilitiesDependencies { /// Maven Artifact #[serde(rename = "artifactId")] pub artifact_id: String, + /// Maven Classifier + #[serde(default, skip_serializing_if = "Option::is_none")] + pub classifier: Option, /// Maven Group #[serde(rename = "groupId")] pub group_id: String, + /// Maven Type + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, /// Maven Version #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, } -/// MavenArtifact defines a GAV (Group:Artifact:Version) Maven artifact. +/// MavenArtifact defines a GAV (Group:Artifact:Type:Version:Classifier) Maven artifact. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CamelCatalogRuntimeDependencies { /// Maven Artifact #[serde(rename = "artifactId")] pub artifact_id: String, + /// Maven Classifier + #[serde(default, skip_serializing_if = "Option::is_none")] + pub classifier: Option, /// Maven Group #[serde(rename = "groupId")] pub group_id: String, + /// Maven Type + #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] + pub r#type: Option, /// Maven Version #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, diff --git a/kube-custom-resources-rs/src/cert_manager_io/v1/clusterissuers.rs b/kube-custom-resources-rs/src/cert_manager_io/v1/clusterissuers.rs index 648063f66..2c7962288 100644 --- a/kube-custom-resources-rs/src/cert_manager_io/v1/clusterissuers.rs +++ b/kube-custom-resources-rs/src/cert_manager_io/v1/clusterissuers.rs @@ -1159,6 +1159,9 @@ pub struct ClusterIssuerVaultAuthAppRoleSecretRef { /// Kubernetes authenticates with Vault by passing the ServiceAccount token stored in the named Secret resource to the Vault server. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ClusterIssuerVaultAuthKubernetes { + /// TokenAudiences is an optional list of extra audiences to include in the token passed to Vault. The default token consisting of the issuer's namespace and name is always included. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub audiences: Option>, /// The Vault mountPath here is the mount path to use when authenticating with Vault. For example, setting a value to `/v1/auth/foo`, will use the path `/v1/auth/foo/login` to authenticate with Vault. If unspecified, the default value "/v1/auth/kubernetes" will be used. #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPath")] pub mount_path: Option, diff --git a/kube-custom-resources-rs/src/cert_manager_io/v1/issuers.rs b/kube-custom-resources-rs/src/cert_manager_io/v1/issuers.rs index 08ee6ed21..35e9327ce 100644 --- a/kube-custom-resources-rs/src/cert_manager_io/v1/issuers.rs +++ b/kube-custom-resources-rs/src/cert_manager_io/v1/issuers.rs @@ -1160,6 +1160,9 @@ pub struct IssuerVaultAuthAppRoleSecretRef { /// Kubernetes authenticates with Vault by passing the ServiceAccount token stored in the named Secret resource to the Vault server. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct IssuerVaultAuthKubernetes { + /// TokenAudiences is an optional list of extra audiences to include in the token passed to Vault. The default token consisting of the issuer's namespace and name is always included. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub audiences: Option>, /// The Vault mountPath here is the mount path to use when authenticating with Vault. For example, setting a value to `/v1/auth/foo`, will use the path `/v1/auth/foo/login` to authenticate with Vault. If unspecified, the default value "/v1/auth/kubernetes" will be used. #[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPath")] pub mount_path: Option, diff --git a/kube-custom-resources-rs/src/cilium_io/v2/ciliumclusterwidenetworkpolicies.rs b/kube-custom-resources-rs/src/cilium_io/v2/ciliumclusterwidenetworkpolicies.rs index 78d1ecd4d..cda07d252 100644 --- a/kube-custom-resources-rs/src/cilium_io/v2/ciliumclusterwidenetworkpolicies.rs +++ b/kube-custom-resources-rs/src/cilium_io/v2/ciliumclusterwidenetworkpolicies.rs @@ -73,6 +73,9 @@ pub struct CiliumClusterwideNetworkPolicyEgress { /// Example: toGroups: - aws: securityGroupsIds: - 'sg-XXXXXXXXXXXXX' #[serde(default, skip_serializing_if = "Option::is_none", rename = "toGroups")] pub to_groups: Option>, + /// ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "toNodes")] + pub to_nodes: Option>, /// ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is allowed to connect to. /// Example: Any endpoint with the label "role=frontend" is allowed to initiate connections to destination port 8080/tcp #[serde(default, skip_serializing_if = "Option::is_none", rename = "toPorts")] @@ -209,6 +212,38 @@ pub struct CiliumClusterwideNetworkPolicyEgressToGroupsAws { pub security_groups_names: Option>, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumClusterwideNetworkPolicyEgressToNodes { + /// 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, PartialEq)] +pub struct CiliumClusterwideNetworkPolicyEgressToNodesMatchExpressions { + /// 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: CiliumClusterwideNetworkPolicyEgressToNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumClusterwideNetworkPolicyEgressToNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// PortRule is a list of ports/protocol combinations with optional Layer 7 rules which must be met. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumClusterwideNetworkPolicyEgressToPorts { @@ -595,6 +630,9 @@ pub struct CiliumClusterwideNetworkPolicyEgressDeny { /// Example: toGroups: - aws: securityGroupsIds: - 'sg-XXXXXXXXXXXXX' #[serde(default, skip_serializing_if = "Option::is_none", rename = "toGroups")] pub to_groups: Option>, + /// ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "toNodes")] + pub to_nodes: Option>, /// ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is not allowed to connect to. /// Example: Any endpoint with the label "role=frontend" is not allowed to initiate connections to destination port 8080/tcp #[serde(default, skip_serializing_if = "Option::is_none", rename = "toPorts")] @@ -702,6 +740,38 @@ pub struct CiliumClusterwideNetworkPolicyEgressDenyToGroupsAws { pub security_groups_names: Option>, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumClusterwideNetworkPolicyEgressDenyToNodes { + /// 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, PartialEq)] +pub struct CiliumClusterwideNetworkPolicyEgressDenyToNodesMatchExpressions { + /// 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: CiliumClusterwideNetworkPolicyEgressDenyToNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumClusterwideNetworkPolicyEgressDenyToNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// PortDenyRule is a list of ports/protocol that should be used for deny policies. This structure lacks the L7Rules since it's not supported in deny policies. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumClusterwideNetworkPolicyEgressDenyToPorts { @@ -884,6 +954,9 @@ pub struct CiliumClusterwideNetworkPolicyIngress { /// FromEntities is a list of special entities which the endpoint subject to the rule is allowed to receive connections from. Supported entities are `world`, `cluster` and `host` #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromEntities")] pub from_entities: Option>, + /// FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromNodes")] + pub from_nodes: Option>, /// FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. /// Example: Any Endpoint with the label "team=A" requires consuming endpoint to also carry the label "team=A". #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromRequires")] @@ -962,6 +1035,38 @@ pub enum CiliumClusterwideNetworkPolicyIngressFromEndpointsMatchExpressionsOpera DoesNotExist, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumClusterwideNetworkPolicyIngressFromNodes { + /// 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, PartialEq)] +pub struct CiliumClusterwideNetworkPolicyIngressFromNodesMatchExpressions { + /// 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: CiliumClusterwideNetworkPolicyIngressFromNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumClusterwideNetworkPolicyIngressFromNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// EndpointSelector is a wrapper for k8s LabelSelector. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumClusterwideNetworkPolicyIngressFromRequires { @@ -1305,6 +1410,9 @@ pub struct CiliumClusterwideNetworkPolicyIngressDeny { /// FromEntities is a list of special entities which the endpoint subject to the rule is allowed to receive connections from. Supported entities are `world`, `cluster` and `host` #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromEntities")] pub from_entities: Option>, + /// FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromNodes")] + pub from_nodes: Option>, /// FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. /// Example: Any Endpoint with the label "team=A" requires consuming endpoint to also carry the label "team=A". #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromRequires")] @@ -1365,6 +1473,38 @@ pub enum CiliumClusterwideNetworkPolicyIngressDenyFromEndpointsMatchExpressionsO DoesNotExist, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumClusterwideNetworkPolicyIngressDenyFromNodes { + /// 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, PartialEq)] +pub struct CiliumClusterwideNetworkPolicyIngressDenyFromNodesMatchExpressions { + /// 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: CiliumClusterwideNetworkPolicyIngressDenyFromNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumClusterwideNetworkPolicyIngressDenyFromNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// EndpointSelector is a wrapper for k8s LabelSelector. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumClusterwideNetworkPolicyIngressDenyFromRequires { @@ -1565,6 +1705,9 @@ pub struct CiliumClusterwideNetworkPolicysEgress { /// Example: toGroups: - aws: securityGroupsIds: - 'sg-XXXXXXXXXXXXX' #[serde(default, skip_serializing_if = "Option::is_none", rename = "toGroups")] pub to_groups: Option>, + /// ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "toNodes")] + pub to_nodes: Option>, /// ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is allowed to connect to. /// Example: Any endpoint with the label "role=frontend" is allowed to initiate connections to destination port 8080/tcp #[serde(default, skip_serializing_if = "Option::is_none", rename = "toPorts")] @@ -1701,6 +1844,38 @@ pub struct CiliumClusterwideNetworkPolicysEgressToGroupsAws { pub security_groups_names: Option>, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumClusterwideNetworkPolicysEgressToNodes { + /// 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, PartialEq)] +pub struct CiliumClusterwideNetworkPolicysEgressToNodesMatchExpressions { + /// 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: CiliumClusterwideNetworkPolicysEgressToNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumClusterwideNetworkPolicysEgressToNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// PortRule is a list of ports/protocol combinations with optional Layer 7 rules which must be met. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumClusterwideNetworkPolicysEgressToPorts { @@ -2087,6 +2262,9 @@ pub struct CiliumClusterwideNetworkPolicysEgressDeny { /// Example: toGroups: - aws: securityGroupsIds: - 'sg-XXXXXXXXXXXXX' #[serde(default, skip_serializing_if = "Option::is_none", rename = "toGroups")] pub to_groups: Option>, + /// ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "toNodes")] + pub to_nodes: Option>, /// ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is not allowed to connect to. /// Example: Any endpoint with the label "role=frontend" is not allowed to initiate connections to destination port 8080/tcp #[serde(default, skip_serializing_if = "Option::is_none", rename = "toPorts")] @@ -2194,6 +2372,38 @@ pub struct CiliumClusterwideNetworkPolicysEgressDenyToGroupsAws { pub security_groups_names: Option>, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumClusterwideNetworkPolicysEgressDenyToNodes { + /// 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, PartialEq)] +pub struct CiliumClusterwideNetworkPolicysEgressDenyToNodesMatchExpressions { + /// 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: CiliumClusterwideNetworkPolicysEgressDenyToNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumClusterwideNetworkPolicysEgressDenyToNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// PortDenyRule is a list of ports/protocol that should be used for deny policies. This structure lacks the L7Rules since it's not supported in deny policies. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumClusterwideNetworkPolicysEgressDenyToPorts { @@ -2376,6 +2586,9 @@ pub struct CiliumClusterwideNetworkPolicysIngress { /// FromEntities is a list of special entities which the endpoint subject to the rule is allowed to receive connections from. Supported entities are `world`, `cluster` and `host` #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromEntities")] pub from_entities: Option>, + /// FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromNodes")] + pub from_nodes: Option>, /// FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. /// Example: Any Endpoint with the label "team=A" requires consuming endpoint to also carry the label "team=A". #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromRequires")] @@ -2454,6 +2667,38 @@ pub enum CiliumClusterwideNetworkPolicysIngressFromEndpointsMatchExpressionsOper DoesNotExist, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumClusterwideNetworkPolicysIngressFromNodes { + /// 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, PartialEq)] +pub struct CiliumClusterwideNetworkPolicysIngressFromNodesMatchExpressions { + /// 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: CiliumClusterwideNetworkPolicysIngressFromNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumClusterwideNetworkPolicysIngressFromNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// EndpointSelector is a wrapper for k8s LabelSelector. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumClusterwideNetworkPolicysIngressFromRequires { @@ -2797,6 +3042,9 @@ pub struct CiliumClusterwideNetworkPolicysIngressDeny { /// FromEntities is a list of special entities which the endpoint subject to the rule is allowed to receive connections from. Supported entities are `world`, `cluster` and `host` #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromEntities")] pub from_entities: Option>, + /// FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromNodes")] + pub from_nodes: Option>, /// FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. /// Example: Any Endpoint with the label "team=A" requires consuming endpoint to also carry the label "team=A". #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromRequires")] @@ -2857,6 +3105,38 @@ pub enum CiliumClusterwideNetworkPolicysIngressDenyFromEndpointsMatchExpressions DoesNotExist, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumClusterwideNetworkPolicysIngressDenyFromNodes { + /// 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, PartialEq)] +pub struct CiliumClusterwideNetworkPolicysIngressDenyFromNodesMatchExpressions { + /// 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: CiliumClusterwideNetworkPolicysIngressDenyFromNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumClusterwideNetworkPolicysIngressDenyFromNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// EndpointSelector is a wrapper for k8s LabelSelector. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumClusterwideNetworkPolicysIngressDenyFromRequires { diff --git a/kube-custom-resources-rs/src/cilium_io/v2/ciliumendpoints.rs b/kube-custom-resources-rs/src/cilium_io/v2/ciliumendpoints.rs index 2734ddc6d..48894201f 100644 --- a/kube-custom-resources-rs/src/cilium_io/v2/ciliumendpoints.rs +++ b/kube-custom-resources-rs/src/cilium_io/v2/ciliumendpoints.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/cilium/cilium/cilium.io/v2/ciliumendpoints.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; diff --git a/kube-custom-resources-rs/src/cilium_io/v2/ciliumnetworkpolicies.rs b/kube-custom-resources-rs/src/cilium_io/v2/ciliumnetworkpolicies.rs index e74f8abda..6717c5a4f 100644 --- a/kube-custom-resources-rs/src/cilium_io/v2/ciliumnetworkpolicies.rs +++ b/kube-custom-resources-rs/src/cilium_io/v2/ciliumnetworkpolicies.rs @@ -74,6 +74,9 @@ pub struct CiliumNetworkPolicyEgress { /// Example: toGroups: - aws: securityGroupsIds: - 'sg-XXXXXXXXXXXXX' #[serde(default, skip_serializing_if = "Option::is_none", rename = "toGroups")] pub to_groups: Option>, + /// ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "toNodes")] + pub to_nodes: Option>, /// ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is allowed to connect to. /// Example: Any endpoint with the label "role=frontend" is allowed to initiate connections to destination port 8080/tcp #[serde(default, skip_serializing_if = "Option::is_none", rename = "toPorts")] @@ -210,6 +213,38 @@ pub struct CiliumNetworkPolicyEgressToGroupsAws { pub security_groups_names: Option>, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumNetworkPolicyEgressToNodes { + /// 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, PartialEq)] +pub struct CiliumNetworkPolicyEgressToNodesMatchExpressions { + /// 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: CiliumNetworkPolicyEgressToNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumNetworkPolicyEgressToNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// PortRule is a list of ports/protocol combinations with optional Layer 7 rules which must be met. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumNetworkPolicyEgressToPorts { @@ -596,6 +631,9 @@ pub struct CiliumNetworkPolicyEgressDeny { /// Example: toGroups: - aws: securityGroupsIds: - 'sg-XXXXXXXXXXXXX' #[serde(default, skip_serializing_if = "Option::is_none", rename = "toGroups")] pub to_groups: Option>, + /// ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "toNodes")] + pub to_nodes: Option>, /// ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is not allowed to connect to. /// Example: Any endpoint with the label "role=frontend" is not allowed to initiate connections to destination port 8080/tcp #[serde(default, skip_serializing_if = "Option::is_none", rename = "toPorts")] @@ -703,6 +741,38 @@ pub struct CiliumNetworkPolicyEgressDenyToGroupsAws { pub security_groups_names: Option>, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumNetworkPolicyEgressDenyToNodes { + /// 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, PartialEq)] +pub struct CiliumNetworkPolicyEgressDenyToNodesMatchExpressions { + /// 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: CiliumNetworkPolicyEgressDenyToNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumNetworkPolicyEgressDenyToNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// PortDenyRule is a list of ports/protocol that should be used for deny policies. This structure lacks the L7Rules since it's not supported in deny policies. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumNetworkPolicyEgressDenyToPorts { @@ -885,6 +955,9 @@ pub struct CiliumNetworkPolicyIngress { /// FromEntities is a list of special entities which the endpoint subject to the rule is allowed to receive connections from. Supported entities are `world`, `cluster` and `host` #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromEntities")] pub from_entities: Option>, + /// FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromNodes")] + pub from_nodes: Option>, /// FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. /// Example: Any Endpoint with the label "team=A" requires consuming endpoint to also carry the label "team=A". #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromRequires")] @@ -963,6 +1036,38 @@ pub enum CiliumNetworkPolicyIngressFromEndpointsMatchExpressionsOperator { DoesNotExist, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumNetworkPolicyIngressFromNodes { + /// 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, PartialEq)] +pub struct CiliumNetworkPolicyIngressFromNodesMatchExpressions { + /// 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: CiliumNetworkPolicyIngressFromNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumNetworkPolicyIngressFromNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// EndpointSelector is a wrapper for k8s LabelSelector. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumNetworkPolicyIngressFromRequires { @@ -1306,6 +1411,9 @@ pub struct CiliumNetworkPolicyIngressDeny { /// FromEntities is a list of special entities which the endpoint subject to the rule is allowed to receive connections from. Supported entities are `world`, `cluster` and `host` #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromEntities")] pub from_entities: Option>, + /// FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromNodes")] + pub from_nodes: Option>, /// FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. /// Example: Any Endpoint with the label "team=A" requires consuming endpoint to also carry the label "team=A". #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromRequires")] @@ -1366,6 +1474,38 @@ pub enum CiliumNetworkPolicyIngressDenyFromEndpointsMatchExpressionsOperator { DoesNotExist, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumNetworkPolicyIngressDenyFromNodes { + /// 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, PartialEq)] +pub struct CiliumNetworkPolicyIngressDenyFromNodesMatchExpressions { + /// 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: CiliumNetworkPolicyIngressDenyFromNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumNetworkPolicyIngressDenyFromNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// EndpointSelector is a wrapper for k8s LabelSelector. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumNetworkPolicyIngressDenyFromRequires { @@ -1566,6 +1706,9 @@ pub struct CiliumNetworkPolicysEgress { /// Example: toGroups: - aws: securityGroupsIds: - 'sg-XXXXXXXXXXXXX' #[serde(default, skip_serializing_if = "Option::is_none", rename = "toGroups")] pub to_groups: Option>, + /// ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "toNodes")] + pub to_nodes: Option>, /// ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is allowed to connect to. /// Example: Any endpoint with the label "role=frontend" is allowed to initiate connections to destination port 8080/tcp #[serde(default, skip_serializing_if = "Option::is_none", rename = "toPorts")] @@ -1702,6 +1845,38 @@ pub struct CiliumNetworkPolicysEgressToGroupsAws { pub security_groups_names: Option>, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumNetworkPolicysEgressToNodes { + /// 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, PartialEq)] +pub struct CiliumNetworkPolicysEgressToNodesMatchExpressions { + /// 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: CiliumNetworkPolicysEgressToNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumNetworkPolicysEgressToNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// PortRule is a list of ports/protocol combinations with optional Layer 7 rules which must be met. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumNetworkPolicysEgressToPorts { @@ -2088,6 +2263,9 @@ pub struct CiliumNetworkPolicysEgressDeny { /// Example: toGroups: - aws: securityGroupsIds: - 'sg-XXXXXXXXXXXXX' #[serde(default, skip_serializing_if = "Option::is_none", rename = "toGroups")] pub to_groups: Option>, + /// ToNodes is a list of nodes identified by an EndpointSelector to which endpoints subject to the rule is allowed to communicate. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "toNodes")] + pub to_nodes: Option>, /// ToPorts is a list of destination ports identified by port number and protocol which the endpoint subject to the rule is not allowed to connect to. /// Example: Any endpoint with the label "role=frontend" is not allowed to initiate connections to destination port 8080/tcp #[serde(default, skip_serializing_if = "Option::is_none", rename = "toPorts")] @@ -2195,6 +2373,38 @@ pub struct CiliumNetworkPolicysEgressDenyToGroupsAws { pub security_groups_names: Option>, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumNetworkPolicysEgressDenyToNodes { + /// 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, PartialEq)] +pub struct CiliumNetworkPolicysEgressDenyToNodesMatchExpressions { + /// 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: CiliumNetworkPolicysEgressDenyToNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumNetworkPolicysEgressDenyToNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// PortDenyRule is a list of ports/protocol that should be used for deny policies. This structure lacks the L7Rules since it's not supported in deny policies. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumNetworkPolicysEgressDenyToPorts { @@ -2377,6 +2587,9 @@ pub struct CiliumNetworkPolicysIngress { /// FromEntities is a list of special entities which the endpoint subject to the rule is allowed to receive connections from. Supported entities are `world`, `cluster` and `host` #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromEntities")] pub from_entities: Option>, + /// FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromNodes")] + pub from_nodes: Option>, /// FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. /// Example: Any Endpoint with the label "team=A" requires consuming endpoint to also carry the label "team=A". #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromRequires")] @@ -2455,6 +2668,38 @@ pub enum CiliumNetworkPolicysIngressFromEndpointsMatchExpressionsOperator { DoesNotExist, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumNetworkPolicysIngressFromNodes { + /// 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, PartialEq)] +pub struct CiliumNetworkPolicysIngressFromNodesMatchExpressions { + /// 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: CiliumNetworkPolicysIngressFromNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumNetworkPolicysIngressFromNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// EndpointSelector is a wrapper for k8s LabelSelector. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumNetworkPolicysIngressFromRequires { @@ -2798,6 +3043,9 @@ pub struct CiliumNetworkPolicysIngressDeny { /// FromEntities is a list of special entities which the endpoint subject to the rule is allowed to receive connections from. Supported entities are `world`, `cluster` and `host` #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromEntities")] pub from_entities: Option>, + /// FromNodes is a list of nodes identified by an EndpointSelector which are allowed to communicate with the endpoint subject to the rule. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromNodes")] + pub from_nodes: Option>, /// FromRequires is a list of additional constraints which must be met in order for the selected endpoints to be reachable. These additional constraints do no by itself grant access privileges and must always be accompanied with at least one matching FromEndpoints. /// Example: Any Endpoint with the label "team=A" requires consuming endpoint to also carry the label "team=A". #[serde(default, skip_serializing_if = "Option::is_none", rename = "fromRequires")] @@ -2858,6 +3106,38 @@ pub enum CiliumNetworkPolicysIngressDenyFromEndpointsMatchExpressionsOperator { DoesNotExist, } +/// EndpointSelector is a wrapper for k8s LabelSelector. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct CiliumNetworkPolicysIngressDenyFromNodes { + /// 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, PartialEq)] +pub struct CiliumNetworkPolicysIngressDenyFromNodesMatchExpressions { + /// 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: CiliumNetworkPolicysIngressDenyFromNodesMatchExpressionsOperator, + /// 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 selector requirement is a selector that contains values, a key, and an operator that relates the key and values. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub enum CiliumNetworkPolicysIngressDenyFromNodesMatchExpressionsOperator { + In, + NotIn, + Exists, + DoesNotExist, +} + /// EndpointSelector is a wrapper for k8s LabelSelector. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct CiliumNetworkPolicysIngressDenyFromRequires { diff --git a/kube-custom-resources-rs/src/cilium_io/v2alpha1/ciliumendpointslices.rs b/kube-custom-resources-rs/src/cilium_io/v2alpha1/ciliumendpointslices.rs index bb8d30fcb..7d365538d 100644 --- a/kube-custom-resources-rs/src/cilium_io/v2alpha1/ciliumendpointslices.rs +++ b/kube-custom-resources-rs/src/cilium_io/v2alpha1/ciliumendpointslices.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/cilium/cilium/cilium.io/v2alpha1/ciliumendpointslices.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// CoreCiliumEndpoint is slim version of status of CiliumEndpoint. diff --git a/kube-custom-resources-rs/src/config_grafana_com/v1/projectconfigs.rs b/kube-custom-resources-rs/src/config_grafana_com/v1/projectconfigs.rs index 1cb9fc019..8814aa53b 100644 --- a/kube-custom-resources-rs/src/config_grafana_com/v1/projectconfigs.rs +++ b/kube-custom-resources-rs/src/config_grafana_com/v1/projectconfigs.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/grafana/loki/config.grafana.com/v1/projectconfigs.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; diff --git a/kube-custom-resources-rs/src/config_karmada_io/v1alpha1/resourceinterpreterwebhookconfigurations.rs b/kube-custom-resources-rs/src/config_karmada_io/v1alpha1/resourceinterpreterwebhookconfigurations.rs index 30bf29802..c16fcd539 100644 --- a/kube-custom-resources-rs/src/config_karmada_io/v1alpha1/resourceinterpreterwebhookconfigurations.rs +++ b/kube-custom-resources-rs/src/config_karmada_io/v1alpha1/resourceinterpreterwebhookconfigurations.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/karmada-io/karmada/config.karmada.io/v1alpha1/resourceinterpreterwebhookconfigurations.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// ResourceInterpreterWebhook describes the webhook as well as the resources and operations it applies to. diff --git a/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/clustercollectedstatuses.rs b/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/clustercollectedstatuses.rs index 6261130c0..8c5087aef 100644 --- a/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/clustercollectedstatuses.rs +++ b/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/clustercollectedstatuses.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/kubewharf/kubeadmiral/core.kubeadmiral.io/v1alpha1/clustercollectedstatuses.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::HashMap; diff --git a/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/clusterpropagatedversions.rs b/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/clusterpropagatedversions.rs index 8eda53195..53cedfe7c 100644 --- a/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/clusterpropagatedversions.rs +++ b/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/clusterpropagatedversions.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/kubewharf/kubeadmiral/core.kubeadmiral.io/v1alpha1/clusterpropagatedversions.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// PropagatedVersionStatus defines the observed state of PropagatedVersion diff --git a/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/collectedstatuses.rs b/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/collectedstatuses.rs index 9460e5f75..194e7a146 100644 --- a/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/collectedstatuses.rs +++ b/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/collectedstatuses.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/kubewharf/kubeadmiral/core.kubeadmiral.io/v1alpha1/collectedstatuses.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::HashMap; diff --git a/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/propagatedversions.rs b/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/propagatedversions.rs index 985fc136e..30dae5122 100644 --- a/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/propagatedversions.rs +++ b/kube-custom-resources-rs/src/core_kubeadmiral_io/v1alpha1/propagatedversions.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/kubewharf/kubeadmiral/core.kubeadmiral.io/v1alpha1/propagatedversions.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// PropagatedVersionStatus defines the observed state of PropagatedVersion diff --git a/kube-custom-resources-rs/src/druid_apache_org/v1alpha1/druids.rs b/kube-custom-resources-rs/src/druid_apache_org/v1alpha1/druids.rs index 5caccea47..dbff02118 100644 --- a/kube-custom-resources-rs/src/druid_apache_org/v1alpha1/druids.rs +++ b/kube-custom-resources-rs/src/druid_apache_org/v1alpha1/druids.rs @@ -310,7 +310,7 @@ pub struct DruidAdditionalContainerResources { /// 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. 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>, } @@ -1109,7 +1109,7 @@ pub struct DruidLivenessProbe { /// 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. This is a beta field and requires enabling GRPCContainerProbe feature gate. + /// GRPC specifies an action involving a GRPC port. #[serde(default, skip_serializing_if = "Option::is_none")] pub grpc: Option, /// HTTPGet specifies the http request to perform. @@ -1143,7 +1143,7 @@ pub struct DruidLivenessProbeExec { pub command: Option>, } -/// GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. +/// GRPC specifies an action involving a GRPC port. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidLivenessProbeGrpc { /// Port number of the gRPC service. Number must be in the range 1 to 65535. @@ -1176,7 +1176,7 @@ pub struct DruidLivenessProbeHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidLivenessProbeHttpGetHttpHeaders { - /// The header field name + /// 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, @@ -1501,7 +1501,7 @@ pub struct DruidNodesAdditionalContainerResources { /// 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. 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>, } @@ -2287,7 +2287,7 @@ pub struct DruidNodesHpAutoscalerBehaviorScaleDown { /// 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, } @@ -2295,13 +2295,13 @@ pub struct DruidNodesHpAutoscalerBehaviorScaleDown { /// HPAScalingPolicy is a single policy which must hold true for a specified past interval. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesHpAutoscalerBehaviorScaleDownPolicies { - /// 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. + /// 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, } @@ -2314,7 +2314,7 @@ pub struct DruidNodesHpAutoscalerBehaviorScaleUp { /// 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, } @@ -2322,13 +2322,13 @@ pub struct DruidNodesHpAutoscalerBehaviorScaleUp { /// HPAScalingPolicy is a single policy which must hold true for a specified past interval. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesHpAutoscalerBehaviorScaleUpPolicies { - /// 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. + /// 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, } @@ -2457,12 +2457,12 @@ pub struct DruidNodesHpAutoscalerMetricsObject { /// describedObject specifies the descriptions of a object,such as kind,name apiVersion #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesHpAutoscalerMetricsObjectDescribedObject { - /// API version of the referent + /// apiVersion is the API version of the referent #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] pub api_version: Option, - /// Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + /// kind is the kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds pub kind: String, - /// Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names + /// name is the name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names pub name: String, } @@ -2604,12 +2604,12 @@ pub struct DruidNodesHpAutoscalerMetricsResourceTarget { /// scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics should be collected, as well as to actually change the replica count. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesHpAutoscalerScaleTargetRef { - /// API version of the referent + /// apiVersion is the API version of the referent #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] pub api_version: Option, - /// Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + /// kind is the kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds pub kind: String, - /// Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names + /// name is the name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names pub name: String, } @@ -2624,32 +2624,32 @@ pub struct DruidNodesImagePullSecrets { /// Ingress Kubernetes Native `Ingress` specification. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesIngress { - /// DefaultBackend is the backend that should handle requests that don't match any rule. If Rules are not specified, DefaultBackend must be specified. If DefaultBackend is not set, the handling of requests that do not match any of the rules will be up to the Ingress controller. + /// defaultBackend is the backend that should handle requests that don't match any rule. If Rules are not specified, DefaultBackend must be specified. If DefaultBackend is not set, the handling of requests that do not match any of the rules will be up to the Ingress controller. #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultBackend")] pub default_backend: 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, by a transitive connection (controller -> IngressClass -> Ingress resource). Although the `kubernetes.io/ingress.class` annotation (simple constant name) was never formally defined, it was widely supported by Ingress controllers to create a direct binding between Ingress controller and Ingress resources. Newly created Ingress resources should prefer using the field. However, even though the annotation is officially deprecated, for backwards compatibility reasons, ingress controllers should still honor that annotation if present. + /// 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, by a transitive connection (controller -> IngressClass -> Ingress resource). Although the `kubernetes.io/ingress.class` annotation (simple constant name) was never formally defined, it was widely supported by Ingress controllers to create a direct binding between Ingress controller and Ingress resources. Newly created Ingress resources should prefer using the field. However, even though the annotation is officially deprecated, for backwards compatibility reasons, ingress controllers should still honor that annotation if present. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ingressClassName")] pub ingress_class_name: Option, - /// A list of host rules used to configure the Ingress. If unspecified, or no rule matches, all traffic is sent to the default backend. + /// rules is a list of host rules used to configure the Ingress. If unspecified, or no rule matches, all traffic is sent to the default backend. #[serde(default, skip_serializing_if = "Option::is_none")] pub rules: Option>, - /// TLS configuration. Currently the Ingress only supports a single TLS port, 443. If multiple members of this list specify different hosts, they will be multiplexed on the same port according to the hostname specified through the SNI TLS extension, if the ingress controller fulfilling the ingress supports SNI. + /// tls represents the TLS configuration. Currently the Ingress only supports a single TLS port, 443. If multiple members of this list specify different hosts, they will be multiplexed on the same port according to the hostname specified through the SNI TLS extension, if the ingress controller fulfilling the ingress supports SNI. #[serde(default, skip_serializing_if = "Option::is_none")] pub tls: Option>, } -/// DefaultBackend is the backend that should handle requests that don't match any rule. If Rules are not specified, DefaultBackend must be specified. If DefaultBackend is not set, the handling of requests that do not match any of the rules will be up to the Ingress controller. +/// defaultBackend is the backend that should handle requests that don't match any rule. If Rules are not specified, DefaultBackend must be specified. If DefaultBackend is not set, the handling of requests that do not match any of the rules will be up to the Ingress controller. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesIngressDefaultBackend { - /// Resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with "Service". + /// resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with "Service". #[serde(default, skip_serializing_if = "Option::is_none")] pub resource: Option, - /// Service references a Service as a Backend. This is a mutually exclusive setting with "Resource". + /// service references a service as a backend. This is a mutually exclusive setting with "Resource". #[serde(default, skip_serializing_if = "Option::is_none")] pub service: Option, } -/// Resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with "Service". +/// resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with "Service". #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesIngressDefaultBackendResource { /// 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. @@ -2661,23 +2661,23 @@ pub struct DruidNodesIngressDefaultBackendResource { pub name: String, } -/// Service references a Service as a Backend. This is a mutually exclusive setting with "Resource". +/// service references a service as a backend. This is a mutually exclusive setting with "Resource". #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesIngressDefaultBackendService { - /// Name is the referenced service. The service must exist in the same namespace as the Ingress object. + /// name is the referenced service. The service must exist in the same namespace as the Ingress object. pub name: String, - /// Port of the referenced service. A port name or port number is required for a IngressServiceBackend. + /// port of the referenced service. A port name or port number is required for a IngressServiceBackend. #[serde(default, skip_serializing_if = "Option::is_none")] pub port: Option, } -/// Port of the referenced service. A port name or port number is required for a IngressServiceBackend. +/// port of the referenced service. A port name or port number is required for a IngressServiceBackend. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesIngressDefaultBackendServicePort { - /// Name is the name of the port on the Service. This is a mutually exclusive setting with "Number". + /// name is the name of the port on the Service. This is a mutually exclusive setting with "Number". #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, - /// Number is the numerical port number (e.g. 80) on the Service. This is a mutually exclusive setting with "Name". + /// number is the numerical port number (e.g. 80) on the Service. This is a mutually exclusive setting with "Name". #[serde(default, skip_serializing_if = "Option::is_none")] pub number: Option, } @@ -2685,8 +2685,8 @@ pub struct DruidNodesIngressDefaultBackendServicePort { /// IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesIngressRules { - /// Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in RFC 3986: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the IP in the Spec of the parent Ingress. 2. The `:` delimiter is not respected because ports are not allowed. Currently the port of an Ingress is implicitly :80 for http and :443 for https. Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue. - /// Host can be "precise" which is a domain name without the terminating dot of a network host (e.g. "foo.bar.com") or "wildcard", which is a domain name prefixed with a single wildcard label (e.g. "*.foo.com"). The wildcard character '*' must appear by itself as the first DNS label and matches only a single label. You cannot have a wildcard label by itself (e.g. Host == "*"). Requests will be matched against the Host field in the following way: 1. If Host is precise, the request matches this rule if the http host header is equal to Host. 2. If Host is a wildcard, then the request matches this rule if the http host header is to equal to the suffix (removing the first label) of the wildcard rule. + /// host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in RFC 3986: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the IP in the Spec of the parent Ingress. 2. The `:` delimiter is not respected because ports are not allowed. Currently the port of an Ingress is implicitly :80 for http and :443 for https. Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue. + /// host can be "precise" which is a domain name without the terminating dot of a network host (e.g. "foo.bar.com") or "wildcard", which is a domain name prefixed with a single wildcard label (e.g. "*.foo.com"). The wildcard character '*' must appear by itself as the first DNS label and matches only a single label. You cannot have a wildcard label by itself (e.g. Host == "*"). Requests will be matched against the Host field in the following way: 1. If host is precise, the request matches this rule if the http host header is equal to Host. 2. If host is a wildcard, then the request matches this rule if the http host header is to equal to the suffix (removing the first label) of the wildcard rule. #[serde(default, skip_serializing_if = "Option::is_none")] pub host: Option, /// HTTPIngressRuleValue is a list of http selectors pointing to backends. In the example: http:///? -> backend where where parts of the url correspond to RFC 3986, this resource will be used to match against everything after the last '/' and before the first '?' or '#'. @@ -2697,35 +2697,35 @@ pub struct DruidNodesIngressRules { /// HTTPIngressRuleValue is a list of http selectors pointing to backends. In the example: http:///? -> backend where where parts of the url correspond to RFC 3986, this resource will be used to match against everything after the last '/' and before the first '?' or '#'. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesIngressRulesHttp { - /// A collection of paths that map requests to backends. + /// paths is a collection of paths that map requests to backends. pub paths: Vec, } /// HTTPIngressPath associates a path with a backend. Incoming urls matching the path are forwarded to the backend. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesIngressRulesHttpPaths { - /// Backend defines the referenced service endpoint to which the traffic will be forwarded to. + /// backend defines the referenced service endpoint to which the traffic will be forwarded to. pub backend: DruidNodesIngressRulesHttpPathsBackend, - /// Path is matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a '/' and must be present when using PathType with value "Exact" or "Prefix". + /// path is matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a '/' and must be present when using PathType with value "Exact" or "Prefix". #[serde(default, skip_serializing_if = "Option::is_none")] pub path: Option, - /// PathType determines the interpretation of the Path matching. PathType can be one of the following values: * Exact: Matches the URL path exactly. * Prefix: Matches based on a URL path prefix split by '/'. Matching is done on a path element by element basis. A path element refers is the list of labels in the path split by the '/' separator. A request is a match for path p if every p is an element-wise prefix of p of the request path. Note that if the last element of the path is a substring of the last element in request path, it is not a match (e.g. /foo/bar matches /foo/bar/baz, but does not match /foo/barbaz). * ImplementationSpecific: Interpretation of the Path matching is up to the IngressClass. Implementations can treat this as a separate PathType or treat it identically to Prefix or Exact path types. Implementations are required to support all path types. + /// pathType determines the interpretation of the path matching. PathType can be one of the following values: * Exact: Matches the URL path exactly. * Prefix: Matches based on a URL path prefix split by '/'. Matching is done on a path element by element basis. A path element refers is the list of labels in the path split by the '/' separator. A request is a match for path p if every p is an element-wise prefix of p of the request path. Note that if the last element of the path is a substring of the last element in request path, it is not a match (e.g. /foo/bar matches /foo/bar/baz, but does not match /foo/barbaz). * ImplementationSpecific: Interpretation of the Path matching is up to the IngressClass. Implementations can treat this as a separate PathType or treat it identically to Prefix or Exact path types. Implementations are required to support all path types. #[serde(rename = "pathType")] pub path_type: String, } -/// Backend defines the referenced service endpoint to which the traffic will be forwarded to. +/// backend defines the referenced service endpoint to which the traffic will be forwarded to. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesIngressRulesHttpPathsBackend { - /// Resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with "Service". + /// resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with "Service". #[serde(default, skip_serializing_if = "Option::is_none")] pub resource: Option, - /// Service references a Service as a Backend. This is a mutually exclusive setting with "Resource". + /// service references a service as a backend. This is a mutually exclusive setting with "Resource". #[serde(default, skip_serializing_if = "Option::is_none")] pub service: Option, } -/// Resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with "Service". +/// resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with "Service". #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesIngressRulesHttpPathsBackendResource { /// 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. @@ -2737,34 +2737,34 @@ pub struct DruidNodesIngressRulesHttpPathsBackendResource { pub name: String, } -/// Service references a Service as a Backend. This is a mutually exclusive setting with "Resource". +/// service references a service as a backend. This is a mutually exclusive setting with "Resource". #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesIngressRulesHttpPathsBackendService { - /// Name is the referenced service. The service must exist in the same namespace as the Ingress object. + /// name is the referenced service. The service must exist in the same namespace as the Ingress object. pub name: String, - /// Port of the referenced service. A port name or port number is required for a IngressServiceBackend. + /// port of the referenced service. A port name or port number is required for a IngressServiceBackend. #[serde(default, skip_serializing_if = "Option::is_none")] pub port: Option, } -/// Port of the referenced service. A port name or port number is required for a IngressServiceBackend. +/// port of the referenced service. A port name or port number is required for a IngressServiceBackend. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesIngressRulesHttpPathsBackendServicePort { - /// Name is the name of the port on the Service. This is a mutually exclusive setting with "Number". + /// name is the name of the port on the Service. This is a mutually exclusive setting with "Number". #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, - /// Number is the numerical port number (e.g. 80) on the Service. This is a mutually exclusive setting with "Name". + /// number is the numerical port number (e.g. 80) on the Service. This is a mutually exclusive setting with "Name". #[serde(default, skip_serializing_if = "Option::is_none")] pub number: Option, } -/// IngressTLS describes the transport layer security associated with an Ingress. +/// IngressTLS describes the transport layer security associated with an ingress. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesIngressTls { - /// Hosts are 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, } @@ -2824,7 +2824,7 @@ pub struct DruidNodesLifecyclePostStartHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesLifecyclePostStartHttpGetHttpHeaders { - /// The header field name + /// 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, @@ -2884,7 +2884,7 @@ pub struct DruidNodesLifecyclePreStopHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesLifecyclePreStopHttpGetHttpHeaders { - /// The header field name + /// 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, @@ -2909,7 +2909,7 @@ pub struct DruidNodesLivenessProbe { /// 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. This is a beta field and requires enabling GRPCContainerProbe feature gate. + /// GRPC specifies an action involving a GRPC port. #[serde(default, skip_serializing_if = "Option::is_none")] pub grpc: Option, /// HTTPGet specifies the http request to perform. @@ -2943,7 +2943,7 @@ pub struct DruidNodesLivenessProbeExec { pub command: Option>, } -/// GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. +/// GRPC specifies an action involving a GRPC port. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesLivenessProbeGrpc { /// Port number of the gRPC service. Number must be in the range 1 to 65535. @@ -2976,7 +2976,7 @@ pub struct DruidNodesLivenessProbeHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesLivenessProbeHttpGetHttpHeaders { - /// The header field name + /// 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, @@ -3113,7 +3113,7 @@ pub struct DruidNodesPersistentVolumeClaimSpecResources { /// 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. 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>, } @@ -3171,7 +3171,7 @@ pub struct DruidNodesPersistentVolumeClaimStatus { pub resize_status: Option, } -/// PersistentVolumeClaimCondition contails details about state of pvc +/// PersistentVolumeClaimCondition contains details about state of pvc #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesPersistentVolumeClaimStatusConditions { /// lastProbeTime is the time we probed the condition. @@ -3209,7 +3209,7 @@ pub struct DruidNodesPodDisruptionBudgetSpec { /// IfHealthyBudget policy means that running pods (status.phase="Running"), but not yet healthy can be evicted only if the guarded application is not disrupted (status.currentHealthy is at least equal to status.desiredHealthy). Healthy pods will be subject to the PDB for eviction. /// AlwaysAllow policy means that all running pods (status.phase="Running"), but not yet healthy are considered disrupted and can be evicted regardless of whether the criteria in a PDB is met. This means perspective running pods of a disrupted application might not get a chance to become healthy. Healthy pods will be subject to the PDB for eviction. /// Additional policies may be added in the future. Clients making eviction decisions should disallow eviction of unhealthy pods if they encounter an unrecognized policy in this field. - /// This field is alpha-level. The eviction API uses this field when the feature gate PDBUnhealthyPodEvictionPolicy is enabled (disabled by default). + /// This field is beta-level. The eviction API uses this field when the feature gate PDBUnhealthyPodEvictionPolicy is enabled (enabled by default). #[serde(default, skip_serializing_if = "Option::is_none", rename = "unhealthyPodEvictionPolicy")] pub unhealthy_pod_eviction_policy: Option, } @@ -3266,7 +3266,7 @@ pub struct DruidNodesReadinessProbe { /// 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. This is a beta field and requires enabling GRPCContainerProbe feature gate. + /// GRPC specifies an action involving a GRPC port. #[serde(default, skip_serializing_if = "Option::is_none")] pub grpc: Option, /// HTTPGet specifies the http request to perform. @@ -3300,7 +3300,7 @@ pub struct DruidNodesReadinessProbeExec { pub command: Option>, } -/// GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. +/// GRPC specifies an action involving a GRPC port. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesReadinessProbeGrpc { /// Port number of the gRPC service. Number must be in the range 1 to 65535. @@ -3333,7 +3333,7 @@ pub struct DruidNodesReadinessProbeHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesReadinessProbeHttpGetHttpHeaders { - /// The header field name + /// 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, @@ -3360,7 +3360,7 @@ pub struct DruidNodesResources { /// 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. 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>, } @@ -3686,7 +3686,7 @@ pub struct DruidNodesStartUpProbe { /// 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. This is a beta field and requires enabling GRPCContainerProbe feature gate. + /// GRPC specifies an action involving a GRPC port. #[serde(default, skip_serializing_if = "Option::is_none")] pub grpc: Option, /// HTTPGet specifies the http request to perform. @@ -3720,7 +3720,7 @@ pub struct DruidNodesStartUpProbeExec { pub command: Option>, } -/// GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. +/// GRPC specifies an action involving a GRPC port. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesStartUpProbeGrpc { /// Port number of the gRPC service. Number must be in the range 1 to 65535. @@ -3753,7 +3753,7 @@ pub struct DruidNodesStartUpProbeHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesStartUpProbeHttpGetHttpHeaders { - /// The header field name + /// 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, @@ -3795,7 +3795,8 @@ pub struct DruidNodesTopologySpreadConstraints { /// 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. Keys that don't exist in the incoming pod labels will be ignored. A null or empty list means only match against labelSelector. + /// 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. @@ -3969,7 +3970,7 @@ pub struct DruidNodesVolumeClaimTemplatesSpecResources { /// 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. 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>, } @@ -4027,7 +4028,7 @@ pub struct DruidNodesVolumeClaimTemplatesStatus { pub resize_status: Option, } -/// PersistentVolumeClaimCondition contails details about state of pvc +/// PersistentVolumeClaimCondition contains details about state of pvc #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidNodesVolumeClaimTemplatesStatusConditions { /// lastProbeTime is the time we probed the condition. @@ -4390,7 +4391,7 @@ pub struct DruidNodesVolumesEmptyDir { /// 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: http://kubernetes.io/docs/user-guide/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, } @@ -4505,7 +4506,7 @@ pub struct DruidNodesVolumesEphemeralVolumeClaimTemplateSpecResources { /// 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. 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>, } @@ -5063,7 +5064,7 @@ pub struct DruidReadinessProbe { /// 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. This is a beta field and requires enabling GRPCContainerProbe feature gate. + /// GRPC specifies an action involving a GRPC port. #[serde(default, skip_serializing_if = "Option::is_none")] pub grpc: Option, /// HTTPGet specifies the http request to perform. @@ -5097,7 +5098,7 @@ pub struct DruidReadinessProbeExec { pub command: Option>, } -/// GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. +/// GRPC specifies an action involving a GRPC port. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidReadinessProbeGrpc { /// Port number of the gRPC service. Number must be in the range 1 to 65535. @@ -5130,7 +5131,7 @@ pub struct DruidReadinessProbeHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidReadinessProbeHttpGetHttpHeaders { - /// The header field name + /// 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, @@ -5460,7 +5461,7 @@ pub struct DruidStartUpProbe { /// 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. This is a beta field and requires enabling GRPCContainerProbe feature gate. + /// GRPC specifies an action involving a GRPC port. #[serde(default, skip_serializing_if = "Option::is_none")] pub grpc: Option, /// HTTPGet specifies the http request to perform. @@ -5494,7 +5495,7 @@ pub struct DruidStartUpProbeExec { pub command: Option>, } -/// GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. +/// GRPC specifies an action involving a GRPC port. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidStartUpProbeGrpc { /// Port number of the gRPC service. Number must be in the range 1 to 65535. @@ -5527,7 +5528,7 @@ pub struct DruidStartUpProbeHttpGet { /// HTTPHeader describes a custom header to be used in HTTP probes #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidStartUpProbeHttpGetHttpHeaders { - /// The header field name + /// 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, @@ -5687,7 +5688,7 @@ pub struct DruidVolumeClaimTemplatesSpecResources { /// 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. 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>, } @@ -5745,7 +5746,7 @@ pub struct DruidVolumeClaimTemplatesStatus { pub resize_status: Option, } -/// PersistentVolumeClaimCondition contails details about state of pvc +/// PersistentVolumeClaimCondition contains details about state of pvc #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct DruidVolumeClaimTemplatesStatusConditions { /// lastProbeTime is the time we probed the condition. @@ -6108,7 +6109,7 @@ pub struct DruidVolumesEmptyDir { /// 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: http://kubernetes.io/docs/user-guide/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, } @@ -6223,7 +6224,7 @@ pub struct DruidVolumesEphemeralVolumeClaimTemplateSpecResources { /// 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. 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>, } diff --git a/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/addons.rs b/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/addons.rs index 047933621..19e106dc5 100644 --- a/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/addons.rs +++ b/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/addons.rs @@ -6,78 +6,145 @@ use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; -/// AddonSpec defines the desired state of Addon. -/// An Amazon EKS add-on. For more information, see Amazon EKS add-ons (https://docs.aws.amazon.com/eks/latest/userguide/eks-add-ons.html) in the Amazon EKS User Guide. +/// AddonSpec defines the desired state of Addon. +/// +/// +/// An Amazon EKS add-on. For more information, see Amazon EKS add-ons (https://docs.aws.amazon.com/eks/latest/userguide/eks-add-ons.html) +/// in the Amazon EKS User Guide. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "eks.services.k8s.aws", version = "v1alpha1", kind = "Addon", plural = "addons")] #[kube(namespaced)] #[kube(status = "AddonStatus")] #[kube(schema = "disabled")] pub struct AddonSpec { - /// The version of the add-on. The version must match one of the versions returned by DescribeAddonVersions (https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html). + /// The version of the add-on. The version must match one of the versions returned + /// by DescribeAddonVersions (https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html). #[serde(default, skip_serializing_if = "Option::is_none", rename = "addonVersion")] pub addon_version: Option, - /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + /// A unique, case-sensitive identifier that you provide to ensure the idempotency + /// of the request. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clientRequestToken")] pub client_request_token: Option, /// The name of your cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterName")] pub cluster_name: Option, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterRef")] pub cluster_ref: Option, - /// The set of configuration values for the add-on that's created. The values that you provide are validated against the schema returned by DescribeAddonConfiguration. + /// The set of configuration values for the add-on that's created. The values + /// that you provide are validated against the schema returned by DescribeAddonConfiguration. #[serde(default, skip_serializing_if = "Option::is_none", rename = "configurationValues")] pub configuration_values: Option, - /// The name of the add-on. The name must match one of the names returned by DescribeAddonVersions. + /// The name of the add-on. The name must match one of the names returned by + /// DescribeAddonVersions. pub name: String, - /// How to resolve field value conflicts for an Amazon EKS add-on. Conflicts are handled based on the value you choose: - /// * None – If the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail. - /// * Overwrite – If the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value. - /// * Preserve – This is similar to the NONE option. If the self-managed version of the add-on is installed on your cluster Amazon EKS doesn't change the add-on resource properties. Creation of the add-on might fail if conflicts are detected. This option works differently during the update operation. For more information, see UpdateAddon (https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html). - /// If you don't currently have the self-managed version of the add-on installed on your cluster, the Amazon EKS add-on is installed. Amazon EKS sets all values to default values, regardless of the option that you specify. + /// How to resolve field value conflicts for an Amazon EKS add-on. Conflicts + /// are handled based on the value you choose: + /// + /// + /// * None – If the self-managed version of the add-on is installed on your + /// cluster, Amazon EKS doesn't change the value. Creation of the add-on might + /// fail. + /// + /// + /// * Overwrite – If the self-managed version of the add-on is installed + /// on your cluster and the Amazon EKS default value is different than the + /// existing value, Amazon EKS changes the value to the Amazon EKS default + /// value. + /// + /// + /// * Preserve – This is similar to the NONE option. If the self-managed + /// version of the add-on is installed on your cluster Amazon EKS doesn't + /// change the add-on resource properties. Creation of the add-on might fail + /// if conflicts are detected. This option works differently during the update + /// operation. For more information, see UpdateAddon (https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html). + /// + /// + /// If you don't currently have the self-managed version of the add-on installed + /// on your cluster, the Amazon EKS add-on is installed. Amazon EKS sets all + /// values to default values, regardless of the option that you specify. #[serde(default, skip_serializing_if = "Option::is_none", rename = "resolveConflicts")] pub resolve_conflicts: Option, - /// The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role. For more information, see Amazon EKS node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html) in the Amazon EKS User Guide. - /// To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider created for your cluster. For more information, see Enabling IAM roles for service accounts on your cluster (https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html) in the Amazon EKS User Guide. + /// The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's + /// service account. The role must be assigned the IAM permissions required by + /// the add-on. If you don't specify an existing IAM role, then the add-on uses + /// the permissions assigned to the node IAM role. For more information, see + /// Amazon EKS node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html) + /// in the Amazon EKS User Guide. + /// + /// + /// To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) + /// provider created for your cluster. For more information, see Enabling IAM + /// roles for service accounts on your cluster (https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html) + /// in the Amazon EKS User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountRoleARN")] pub service_account_role_arn: Option, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountRoleRef")] pub service_account_role_ref: Option, - /// Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources. + /// Metadata that assists with categorization and organization. Each tag consists + /// of a key and an optional value. You define both. Tags don't propagate to + /// any other cluster or Amazon Web Services resources. #[serde(default, skip_serializing_if = "Option::is_none")] pub tags: Option>, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AddonClusterRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AddonClusterRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AddonServiceAccountRoleRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AddonServiceAccountRoleRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -87,10 +154,15 @@ pub struct AddonServiceAccountRoleRefFrom { /// AddonStatus defines the observed state of Addon #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AddonStatus { - /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + /// that is used to contain resource sync state, account ownership, + /// constructed ARN for the resource #[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")] pub ack_resource_metadata: Option, - /// All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + /// All CRS managed by ACK have a common `Status.Conditions` member that + /// contains a collection of `ackv1alpha1.Condition` objects that describe + /// the various terminal states of the CR and its backend AWS service API + /// resource #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, /// The Unix epoch timestamp at object creation. @@ -116,20 +188,32 @@ pub struct AddonStatus { pub status: Option, } -/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource +/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member +/// that is used to contain resource sync state, account ownership, +/// constructed ARN for the resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AddonStatusAckResourceMetadata { - /// ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270 + /// ARN is the Amazon Resource Name for the resource. This is a + /// globally-unique identifier and is set only by the ACK service controller + /// once the controller has orchestrated the creation of the resource OR + /// when it has verified that an "adopted" resource (a resource where the + /// ARN annotation was set by the Kubernetes user on the CR) exists and + /// matches the supplied CR's Spec field values. + /// TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + /// https://github.com/aws/aws-controllers-k8s/issues/270 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, - /// OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + /// OwnerAccountID is the AWS Account ID of the account that owns the + /// backend AWS service API resource. #[serde(rename = "ownerAccountID")] pub owner_account_id: String, /// Region is the AWS region in which the resource exists or will exist. pub region: String, } -/// Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource +/// Condition is the common struct used by all CRDs managed by ACK service +/// controllers to indicate terminal states of the CR and its backend AWS +/// service API resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AddonStatusConditions { /// Last time the condition transitioned from one status to another. diff --git a/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/clusters.rs b/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/clusters.rs index 4645ba9f4..b36c466d7 100644 --- a/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/clusters.rs +++ b/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/clusters.rs @@ -6,8 +6,10 @@ use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; -/// ClusterSpec defines the desired state of Cluster. -/// An object representing an Amazon EKS cluster. +/// ClusterSpec defines the desired state of Cluster. +/// +/// +/// An object representing an Amazon EKS cluster. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "eks.services.k8s.aws", version = "v1alpha1", kind = "Cluster", plural = "clusters")] #[kube(namespaced)] @@ -17,7 +19,8 @@ pub struct ClusterSpec { /// The access configuration for the cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessConfig")] pub access_config: Option, - /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + /// A unique, case-sensitive identifier that you provide to ensure the idempotency + /// of the request. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clientRequestToken")] pub client_request_token: Option, /// The encryption configuration for the cluster. @@ -26,30 +29,64 @@ pub struct ClusterSpec { /// The Kubernetes network configuration for the cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "kubernetesNetworkConfig")] pub kubernetes_network_config: Option, - /// Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster control plane logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) in the Amazon EKS User Guide . - /// CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see CloudWatch Pricing (http://aws.amazon.com/cloudwatch/pricing/). + /// Enable or disable exporting the Kubernetes control plane logs for your cluster + /// to CloudWatch Logs. By default, cluster control plane logs aren't exported + /// to CloudWatch Logs. For more information, see Amazon EKS Cluster control + /// plane logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) + /// in the Amazon EKS User Guide . + /// + /// + /// CloudWatch Logs ingestion, archive storage, and data scanning rates apply + /// to exported control plane logs. For more information, see CloudWatch Pricing + /// (http://aws.amazon.com/cloudwatch/pricing/). #[serde(default, skip_serializing_if = "Option::is_none")] pub logging: Option, /// The unique name to give to your cluster. pub name: String, - /// An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services Outpost. Before creating a local cluster on an Outpost, review Local clusters for Amazon EKS on Amazon Web Services Outposts (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-local-cluster-overview.html) in the Amazon EKS User Guide. This object isn't available for creating Amazon EKS clusters on the Amazon Web Services cloud. + /// An object representing the configuration of your local Amazon EKS cluster + /// on an Amazon Web Services Outpost. Before creating a local cluster on an + /// Outpost, review Local clusters for Amazon EKS on Amazon Web Services Outposts + /// (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-local-cluster-overview.html) + /// in the Amazon EKS User Guide. This object isn't available for creating Amazon + /// EKS clusters on the Amazon Web Services cloud. #[serde(default, skip_serializing_if = "Option::is_none", rename = "outpostConfig")] pub outpost_config: Option, - /// The VPC configuration that's used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations (https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html) and Cluster Security Group Considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) in the Amazon EKS User Guide. You must specify at least two subnets. You can specify up to five security groups. However, we recommend that you use a dedicated security group for your cluster control plane. + /// The VPC configuration that's used by the cluster control plane. Amazon EKS + /// VPC resources have specific requirements to work properly with Kubernetes. + /// For more information, see Cluster VPC Considerations (https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html) + /// and Cluster Security Group Considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) + /// in the Amazon EKS User Guide. You must specify at least two subnets. You + /// can specify up to five security groups. However, we recommend that you use + /// a dedicated security group for your cluster control plane. #[serde(rename = "resourcesVPCConfig")] pub resources_vpc_config: ClusterResourcesVpcConfig, - /// The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to Amazon Web Services API operations on your behalf. For more information, see Amazon EKS Service IAM Role (https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html) in the Amazon EKS User Guide . + /// The Amazon Resource Name (ARN) of the IAM role that provides permissions + /// for the Kubernetes control plane to make calls to Amazon Web Services API + /// operations on your behalf. For more information, see Amazon EKS Service IAM + /// Role (https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html) + /// in the Amazon EKS User Guide . #[serde(default, skip_serializing_if = "Option::is_none", rename = "roleARN")] pub role_arn: Option, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "roleRef")] pub role_ref: Option, - /// Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources. + /// Metadata that assists with categorization and organization. Each tag consists + /// of a key and an optional value. You define both. Tags don't propagate to + /// any other cluster or Amazon Web Services resources. #[serde(default, skip_serializing_if = "Option::is_none")] pub tags: Option>, - /// The desired Kubernetes version for your cluster. If you don't specify a value here, the default version available in Amazon EKS is used. - /// The default version might not be the latest version available. + /// The desired Kubernetes version for your cluster. If you don't specify a value + /// here, the default version available in Amazon EKS is used. + /// + /// + /// The default version might not be the latest version available. #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, } @@ -89,15 +126,24 @@ pub struct ClusterKubernetesNetworkConfig { pub service_i_pv4_cidr: Option, } -/// Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster control plane logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) in the Amazon EKS User Guide . -/// CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see CloudWatch Pricing (http://aws.amazon.com/cloudwatch/pricing/). +/// Enable or disable exporting the Kubernetes control plane logs for your cluster +/// to CloudWatch Logs. By default, cluster control plane logs aren't exported +/// to CloudWatch Logs. For more information, see Amazon EKS Cluster control +/// plane logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) +/// in the Amazon EKS User Guide . +/// +/// +/// CloudWatch Logs ingestion, archive storage, and data scanning rates apply +/// to exported control plane logs. For more information, see CloudWatch Pricing +/// (http://aws.amazon.com/cloudwatch/pricing/). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterLogging { #[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterLogging")] pub cluster_logging: Option>, } -/// An object representing the enabled or disabled Kubernetes control plane logs for your cluster. +/// An object representing the enabled or disabled Kubernetes control plane logs +/// for your cluster. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterLoggingClusterLogging { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -106,26 +152,43 @@ pub struct ClusterLoggingClusterLogging { pub types: Option>, } -/// An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services Outpost. Before creating a local cluster on an Outpost, review Local clusters for Amazon EKS on Amazon Web Services Outposts (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-local-cluster-overview.html) in the Amazon EKS User Guide. This object isn't available for creating Amazon EKS clusters on the Amazon Web Services cloud. +/// An object representing the configuration of your local Amazon EKS cluster +/// on an Amazon Web Services Outpost. Before creating a local cluster on an +/// Outpost, review Local clusters for Amazon EKS on Amazon Web Services Outposts +/// (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-local-cluster-overview.html) +/// in the Amazon EKS User Guide. This object isn't available for creating Amazon +/// EKS clusters on the Amazon Web Services cloud. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterOutpostConfig { #[serde(default, skip_serializing_if = "Option::is_none", rename = "controlPlaneInstanceType")] pub control_plane_instance_type: Option, - /// The placement configuration for all the control plane instances of your local Amazon EKS cluster on an Amazon Web Services Outpost. For more information, see Capacity considerations (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-capacity-considerations.html) in the Amazon EKS User Guide. + /// The placement configuration for all the control plane instances of your local + /// Amazon EKS cluster on an Amazon Web Services Outpost. For more information, + /// see Capacity considerations (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-capacity-considerations.html) + /// in the Amazon EKS User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "controlPlanePlacement")] pub control_plane_placement: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "outpostARNs")] pub outpost_ar_ns: Option>, } -/// The placement configuration for all the control plane instances of your local Amazon EKS cluster on an Amazon Web Services Outpost. For more information, see Capacity considerations (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-capacity-considerations.html) in the Amazon EKS User Guide. +/// The placement configuration for all the control plane instances of your local +/// Amazon EKS cluster on an Amazon Web Services Outpost. For more information, +/// see Capacity considerations (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-capacity-considerations.html) +/// in the Amazon EKS User Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterOutpostConfigControlPlanePlacement { #[serde(default, skip_serializing_if = "Option::is_none", rename = "groupName")] pub group_name: Option, } -/// The VPC configuration that's used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations (https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html) and Cluster Security Group Considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) in the Amazon EKS User Guide. You must specify at least two subnets. You can specify up to five security groups. However, we recommend that you use a dedicated security group for your cluster control plane. +/// The VPC configuration that's used by the cluster control plane. Amazon EKS +/// VPC resources have specific requirements to work properly with Kubernetes. +/// For more information, see Cluster VPC Considerations (https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html) +/// and Cluster Security Group Considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) +/// in the Amazon EKS User Guide. You must specify at least two subnets. You +/// can specify up to five security groups. However, we recommend that you use +/// a dedicated security group for your cluster control plane. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterResourcesVpcConfig { #[serde(default, skip_serializing_if = "Option::is_none", rename = "endpointPrivateAccess")] @@ -146,48 +209,72 @@ pub struct ClusterResourcesVpcConfig { pub subnet_refs: Option>, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterResourcesVpcConfigSecurityGroupRefs { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterResourcesVpcConfigSecurityGroupRefsFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterResourcesVpcConfigSubnetRefs { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterResourcesVpcConfigSubnetRefsFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterRoleRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterRoleRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -197,13 +284,18 @@ pub struct ClusterRoleRefFrom { /// ClusterStatus defines the observed state of Cluster #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterStatus { - /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + /// that is used to contain resource sync state, account ownership, + /// constructed ARN for the resource #[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")] pub ack_resource_metadata: Option, /// The certificate-authority-data for your cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "certificateAuthority")] pub certificate_authority: Option, - /// All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + /// All CRS managed by ACK have a common `Status.Conditions` member that + /// contains a collection of `ackv1alpha1.Condition` objects that describe + /// the various terminal states of the CR and its backend AWS service API + /// resource #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, /// The configuration used to connect to a cluster for registration. @@ -215,16 +307,25 @@ pub struct ClusterStatus { /// The endpoint for your Kubernetes API server. #[serde(default, skip_serializing_if = "Option::is_none")] pub endpoint: Option, - /// An object representing the health of your local Amazon EKS cluster on an Amazon Web Services Outpost. This object isn't available for clusters on the Amazon Web Services cloud. + /// An object representing the health of your local Amazon EKS cluster on an + /// Amazon Web Services Outpost. This object isn't available for clusters on + /// the Amazon Web Services cloud. #[serde(default, skip_serializing_if = "Option::is_none")] pub health: Option, - /// The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. This property isn't available for an Amazon EKS cluster on the Amazon Web Services cloud. + /// The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. + /// This property isn't available for an Amazon EKS cluster on the Amazon Web + /// Services cloud. #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, /// The identity provider information for the cluster. #[serde(default, skip_serializing_if = "Option::is_none")] pub identity: Option, - /// The platform version of your Amazon EKS cluster. For more information about clusters deployed on the Amazon Web Services Cloud, see Platform versions (https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html) in the Amazon EKS User Guide . For more information about local clusters deployed on an Outpost, see Amazon EKS local cluster platform versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-platform-versions.html) in the Amazon EKS User Guide . + /// The platform version of your Amazon EKS cluster. For more information about + /// clusters deployed on the Amazon Web Services Cloud, see Platform versions + /// (https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html) + /// in the Amazon EKS User Guide . For more information about local clusters + /// deployed on an Outpost, see Amazon EKS local cluster platform versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-platform-versions.html) + /// in the Amazon EKS User Guide . #[serde(default, skip_serializing_if = "Option::is_none", rename = "platformVersion")] pub platform_version: Option, /// The current status of the cluster. @@ -232,13 +333,23 @@ pub struct ClusterStatus { pub status: Option, } -/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource +/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member +/// that is used to contain resource sync state, account ownership, +/// constructed ARN for the resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterStatusAckResourceMetadata { - /// ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270 + /// ARN is the Amazon Resource Name for the resource. This is a + /// globally-unique identifier and is set only by the ACK service controller + /// once the controller has orchestrated the creation of the resource OR + /// when it has verified that an "adopted" resource (a resource where the + /// ARN annotation was set by the Kubernetes user on the CR) exists and + /// matches the supplied CR's Spec field values. + /// TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + /// https://github.com/aws/aws-controllers-k8s/issues/270 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, - /// OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + /// OwnerAccountID is the AWS Account ID of the account that owns the + /// backend AWS service API resource. #[serde(rename = "ownerAccountID")] pub owner_account_id: String, /// Region is the AWS region in which the resource exists or will exist. @@ -252,7 +363,9 @@ pub struct ClusterStatusCertificateAuthority { pub data: Option, } -/// Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource +/// Condition is the common struct used by all CRDs managed by ACK service +/// controllers to indicate terminal states of the CR and its backend AWS +/// service API resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterStatusConditions { /// Last time the condition transitioned from one status to another. @@ -286,14 +399,18 @@ pub struct ClusterStatusConnectorConfig { pub role_arn: Option, } -/// An object representing the health of your local Amazon EKS cluster on an Amazon Web Services Outpost. This object isn't available for clusters on the Amazon Web Services cloud. +/// An object representing the health of your local Amazon EKS cluster on an +/// Amazon Web Services Outpost. This object isn't available for clusters on +/// the Amazon Web Services cloud. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterStatusHealth { #[serde(default, skip_serializing_if = "Option::is_none")] pub issues: Option>, } -/// An issue with your local Amazon EKS cluster on an Amazon Web Services Outpost. You can't use this API with an Amazon EKS cluster on the Amazon Web Services cloud. +/// An issue with your local Amazon EKS cluster on an Amazon Web Services Outpost. +/// You can't use this API with an Amazon EKS cluster on the Amazon Web Services +/// cloud. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterStatusHealthIssues { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -307,12 +424,14 @@ pub struct ClusterStatusHealthIssues { /// The identity provider information for the cluster. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterStatusIdentity { - /// An object representing the OpenID Connect (https://openid.net/connect/) (OIDC) identity provider information for the cluster. + /// An object representing the OpenID Connect (https://openid.net/connect/) (OIDC) + /// identity provider information for the cluster. #[serde(default, skip_serializing_if = "Option::is_none")] pub oidc: Option, } -/// An object representing the OpenID Connect (https://openid.net/connect/) (OIDC) identity provider information for the cluster. +/// An object representing the OpenID Connect (https://openid.net/connect/) (OIDC) +/// identity provider information for the cluster. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterStatusIdentityOidc { #[serde(default, skip_serializing_if = "Option::is_none")] diff --git a/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/fargateprofiles.rs b/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/fargateprofiles.rs index ba1626102..91db1bb3f 100644 --- a/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/fargateprofiles.rs +++ b/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/fargateprofiles.rs @@ -6,72 +6,115 @@ use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; -/// FargateProfileSpec defines the desired state of FargateProfile. -/// An object representing an Fargate profile. +/// FargateProfileSpec defines the desired state of FargateProfile. +/// +/// +/// An object representing an Fargate profile. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "eks.services.k8s.aws", version = "v1alpha1", kind = "FargateProfile", plural = "fargateprofiles")] #[kube(namespaced)] #[kube(status = "FargateProfileStatus")] #[kube(schema = "disabled")] pub struct FargateProfileSpec { - /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + /// A unique, case-sensitive identifier that you provide to ensure the idempotency + /// of the request. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clientRequestToken")] pub client_request_token: Option, /// The name of your cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterName")] pub cluster_name: Option, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterRef")] pub cluster_ref: Option, /// The name of the Fargate profile. pub name: String, - /// The Amazon Resource Name (ARN) of the Pod execution role to use for a Pod that matches the selectors in the Fargate profile. The Pod execution role allows Fargate infrastructure to register with your cluster as a node, and it provides read access to Amazon ECR image repositories. For more information, see Pod execution role (https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html) in the Amazon EKS User Guide. + /// The Amazon Resource Name (ARN) of the Pod execution role to use for a Pod + /// that matches the selectors in the Fargate profile. The Pod execution role + /// allows Fargate infrastructure to register with your cluster as a node, and + /// it provides read access to Amazon ECR image repositories. For more information, + /// see Pod execution role (https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html) + /// in the Amazon EKS User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "podExecutionRoleARN")] pub pod_execution_role_arn: Option, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "podExecutionRoleRef")] pub pod_execution_role_ref: Option, - /// The selectors to match for a Pod to use this Fargate profile. Each selector must have an associated Kubernetes namespace. Optionally, you can also specify labels for a namespace. You may specify up to five selectors in a Fargate profile. + /// The selectors to match for a Pod to use this Fargate profile. Each selector + /// must have an associated Kubernetes namespace. Optionally, you can also specify + /// labels for a namespace. You may specify up to five selectors in a Fargate + /// profile. #[serde(default, skip_serializing_if = "Option::is_none")] pub selectors: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "subnetRefs")] pub subnet_refs: Option>, - /// The IDs of subnets to launch a Pod into. A Pod running on Fargate isn't assigned a public IP address, so only private subnets (with no direct route to an Internet Gateway) are accepted for this parameter. + /// The IDs of subnets to launch a Pod into. A Pod running on Fargate isn't assigned + /// a public IP address, so only private subnets (with no direct route to an + /// Internet Gateway) are accepted for this parameter. #[serde(default, skip_serializing_if = "Option::is_none")] pub subnets: Option>, - /// Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources. + /// Metadata that assists with categorization and organization. Each tag consists + /// of a key and an optional value. You define both. Tags don't propagate to + /// any other cluster or Amazon Web Services resources. #[serde(default, skip_serializing_if = "Option::is_none")] pub tags: Option>, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FargateProfileClusterRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FargateProfileClusterRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FargateProfilePodExecutionRoleRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FargateProfilePodExecutionRoleRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -87,16 +130,24 @@ pub struct FargateProfileSelectors { pub namespace: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FargateProfileSubnetRefs { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FargateProfileSubnetRefsFrom { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -106,10 +157,15 @@ pub struct FargateProfileSubnetRefsFrom { /// FargateProfileStatus defines the observed state of FargateProfile #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FargateProfileStatus { - /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + /// that is used to contain resource sync state, account ownership, + /// constructed ARN for the resource #[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")] pub ack_resource_metadata: Option, - /// All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + /// All CRS managed by ACK have a common `Status.Conditions` member that + /// contains a collection of `ackv1alpha1.Condition` objects that describe + /// the various terminal states of the CR and its backend AWS service API + /// resource #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, /// The Unix epoch timestamp at object creation. @@ -120,20 +176,32 @@ pub struct FargateProfileStatus { pub status: Option, } -/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource +/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member +/// that is used to contain resource sync state, account ownership, +/// constructed ARN for the resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FargateProfileStatusAckResourceMetadata { - /// ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270 + /// ARN is the Amazon Resource Name for the resource. This is a + /// globally-unique identifier and is set only by the ACK service controller + /// once the controller has orchestrated the creation of the resource OR + /// when it has verified that an "adopted" resource (a resource where the + /// ARN annotation was set by the Kubernetes user on the CR) exists and + /// matches the supplied CR's Spec field values. + /// TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + /// https://github.com/aws/aws-controllers-k8s/issues/270 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, - /// OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + /// OwnerAccountID is the AWS Account ID of the account that owns the + /// backend AWS service API resource. #[serde(rename = "ownerAccountID")] pub owner_account_id: String, /// Region is the AWS region in which the resource exists or will exist. pub region: String, } -/// Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource +/// Condition is the common struct used by all CRDs managed by ACK service +/// controllers to indicate terminal states of the CR and its backend AWS +/// service API resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FargateProfileStatusConditions { /// Last time the condition transitioned from one status to another. diff --git a/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/nodegroups.rs b/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/nodegroups.rs index eb91bb127..44c78d5ff 100644 --- a/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/nodegroups.rs +++ b/kube-custom-resources-rs/src/eks_services_k8s_aws/v1alpha1/nodegroups.rs @@ -6,97 +6,192 @@ use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; -/// NodegroupSpec defines the desired state of Nodegroup. -/// An object representing an Amazon EKS managed node group. +/// NodegroupSpec defines the desired state of Nodegroup. +/// +/// +/// An object representing an Amazon EKS managed node group. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "eks.services.k8s.aws", version = "v1alpha1", kind = "Nodegroup", plural = "nodegroups")] #[kube(namespaced)] #[kube(status = "NodegroupStatus")] #[kube(schema = "disabled")] pub struct NodegroupSpec { - /// The AMI type for your node group. If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify amiType, or the node group deployment will fail. If your launch template uses a Windows custom AMI, then add eks:kube-proxy-windows to your Windows nodes rolearn in the aws-auth ConfigMap. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + /// The AMI type for your node group. If you specify launchTemplate, and your + /// launch template uses a custom AMI, then don't specify amiType, or the node + /// group deployment will fail. If your launch template uses a Windows custom + /// AMI, then add eks:kube-proxy-windows to your Windows nodes rolearn in the + /// aws-auth ConfigMap. For more information about using launch templates with + /// Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + /// in the Amazon EKS User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "amiType")] pub ami_type: Option, /// The capacity type for your node group. #[serde(default, skip_serializing_if = "Option::is_none", rename = "capacityType")] pub capacity_type: Option, - /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + /// A unique, case-sensitive identifier that you provide to ensure the idempotency + /// of the request. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clientRequestToken")] pub client_request_token: Option, /// The name of your cluster. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterName")] pub cluster_name: Option, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterRef")] pub cluster_ref: Option, - /// The root device disk size (in GiB) for your node group instances. The default disk size is 20 GiB for Linux and Bottlerocket. The default disk size is 50 GiB for Windows. If you specify launchTemplate, then don't specify diskSize, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + /// The root device disk size (in GiB) for your node group instances. The default + /// disk size is 20 GiB for Linux and Bottlerocket. The default disk size is + /// 50 GiB for Windows. If you specify launchTemplate, then don't specify diskSize, + /// or the node group deployment will fail. For more information about using + /// launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + /// in the Amazon EKS User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "diskSize")] pub disk_size: Option, - /// Specify the instance types for a node group. If you specify a GPU instance type, make sure to also specify an applicable GPU AMI type with the amiType parameter. If you specify launchTemplate, then you can specify zero or one instance type in your launch template or you can specify 0-20 instance types for instanceTypes. If however, you specify an instance type in your launch template and specify any instanceTypes, the node group deployment will fail. If you don't specify an instance type in a launch template or for instanceTypes, then t3.medium is used, by default. If you specify Spot for capacityType, then we recommend specifying multiple values for instanceTypes. For more information, see Managed node group capacity types (https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types) and Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + /// Specify the instance types for a node group. If you specify a GPU instance + /// type, make sure to also specify an applicable GPU AMI type with the amiType + /// parameter. If you specify launchTemplate, then you can specify zero or one + /// instance type in your launch template or you can specify 0-20 instance types + /// for instanceTypes. If however, you specify an instance type in your launch + /// template and specify any instanceTypes, the node group deployment will fail. + /// If you don't specify an instance type in a launch template or for instanceTypes, + /// then t3.medium is used, by default. If you specify Spot for capacityType, + /// then we recommend specifying multiple values for instanceTypes. For more + /// information, see Managed node group capacity types (https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types) + /// and Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + /// in the Amazon EKS User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "instanceTypes")] pub instance_types: Option>, - /// The Kubernetes labels to apply to the nodes in the node group when they are created. + /// The Kubernetes labels to apply to the nodes in the node group when they are + /// created. #[serde(default, skip_serializing_if = "Option::is_none")] pub labels: Option>, - /// An object representing a node group's launch template specification. If specified, then do not specify instanceTypes, diskSize, or remoteAccess and make sure that the launch template meets the requirements in launchTemplateSpecification. + /// An object representing a node group's launch template specification. If specified, + /// then do not specify instanceTypes, diskSize, or remoteAccess and make sure + /// that the launch template meets the requirements in launchTemplateSpecification. #[serde(default, skip_serializing_if = "Option::is_none", rename = "launchTemplate")] pub launch_template: Option, /// The unique name to give your node group. pub name: String, - /// The Amazon Resource Name (ARN) of the IAM role to associate with your node group. The Amazon EKS worker node kubelet daemon makes calls to Amazon Web Services APIs on your behalf. Nodes receive permissions for these API calls through an IAM instance profile and associated policies. Before you can launch nodes and register them into a cluster, you must create an IAM role for those nodes to use when they are launched. For more information, see Amazon EKS node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html) in the Amazon EKS User Guide . If you specify launchTemplate, then don't specify IamInstanceProfile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IamInstanceProfile.html) in your launch template, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + /// The Amazon Resource Name (ARN) of the IAM role to associate with your node + /// group. The Amazon EKS worker node kubelet daemon makes calls to Amazon Web + /// Services APIs on your behalf. Nodes receive permissions for these API calls + /// through an IAM instance profile and associated policies. Before you can launch + /// nodes and register them into a cluster, you must create an IAM role for those + /// nodes to use when they are launched. For more information, see Amazon EKS + /// node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html) + /// in the Amazon EKS User Guide . If you specify launchTemplate, then don't + /// specify IamInstanceProfile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IamInstanceProfile.html) + /// in your launch template, or the node group deployment will fail. For more + /// information about using launch templates with Amazon EKS, see Launch template + /// support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + /// in the Amazon EKS User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeRole")] pub node_role: Option, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeRoleRef")] pub node_role_ref: Option, - /// The AMI version of the Amazon EKS optimized AMI to use with your node group. By default, the latest available AMI version for the node group's current Kubernetes version is used. For information about Linux versions, see Amazon EKS optimized Amazon Linux AMI versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html) in the Amazon EKS User Guide. Amazon EKS managed node groups support the November 2022 and later releases of the Windows AMIs. For information about Windows versions, see Amazon EKS optimized Windows AMI versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-ami-versions-windows.html) in the Amazon EKS User Guide. - /// If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify releaseVersion, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + /// The AMI version of the Amazon EKS optimized AMI to use with your node group. + /// By default, the latest available AMI version for the node group's current + /// Kubernetes version is used. For information about Linux versions, see Amazon + /// EKS optimized Amazon Linux AMI versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html) + /// in the Amazon EKS User Guide. Amazon EKS managed node groups support the + /// November 2022 and later releases of the Windows AMIs. For information about + /// Windows versions, see Amazon EKS optimized Windows AMI versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-ami-versions-windows.html) + /// in the Amazon EKS User Guide. + /// + /// + /// If you specify launchTemplate, and your launch template uses a custom AMI, + /// then don't specify releaseVersion, or the node group deployment will fail. + /// For more information about using launch templates with Amazon EKS, see Launch + /// template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + /// in the Amazon EKS User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "releaseVersion")] pub release_version: Option, - /// The remote access configuration to use with your node group. For Linux, the protocol is SSH. For Windows, the protocol is RDP. If you specify launchTemplate, then don't specify remoteAccess, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + /// The remote access configuration to use with your node group. For Linux, the + /// protocol is SSH. For Windows, the protocol is RDP. If you specify launchTemplate, + /// then don't specify remoteAccess, or the node group deployment will fail. + /// For more information about using launch templates with Amazon EKS, see Launch + /// template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + /// in the Amazon EKS User Guide. #[serde(default, skip_serializing_if = "Option::is_none", rename = "remoteAccess")] pub remote_access: Option, - /// The scaling configuration details for the Auto Scaling group that is created for your node group. + /// The scaling configuration details for the Auto Scaling group that is created + /// for your node group. #[serde(default, skip_serializing_if = "Option::is_none", rename = "scalingConfig")] pub scaling_config: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "subnetRefs")] pub subnet_refs: Option>, - /// The subnets to use for the Auto Scaling group that is created for your node group. If you specify launchTemplate, then don't specify SubnetId (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html) in your launch template, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + /// The subnets to use for the Auto Scaling group that is created for your node + /// group. If you specify launchTemplate, then don't specify SubnetId (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html) + /// in your launch template, or the node group deployment will fail. For more + /// information about using launch templates with Amazon EKS, see Launch template + /// support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + /// in the Amazon EKS User Guide. #[serde(default, skip_serializing_if = "Option::is_none")] pub subnets: Option>, - /// Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources. + /// Metadata that assists with categorization and organization. Each tag consists + /// of a key and an optional value. You define both. Tags don't propagate to + /// any other cluster or Amazon Web Services resources. #[serde(default, skip_serializing_if = "Option::is_none")] pub tags: Option>, - /// The Kubernetes taints to be applied to the nodes in the node group. For more information, see Node taints on managed node groups (https://docs.aws.amazon.com/eks/latest/userguide/node-taints-managed-node-groups.html). + /// The Kubernetes taints to be applied to the nodes in the node group. For more + /// information, see Node taints on managed node groups (https://docs.aws.amazon.com/eks/latest/userguide/node-taints-managed-node-groups.html). #[serde(default, skip_serializing_if = "Option::is_none")] pub taints: Option>, /// The node group update configuration. #[serde(default, skip_serializing_if = "Option::is_none", rename = "updateConfig")] pub update_config: Option, - /// The Kubernetes version to use for your managed nodes. By default, the Kubernetes version of the cluster is used, and this is the only accepted specified value. If you specify launchTemplate, and your launch template uses a custom AMI, then don't specify version, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. + /// The Kubernetes version to use for your managed nodes. By default, the Kubernetes + /// version of the cluster is used, and this is the only accepted specified value. + /// If you specify launchTemplate, and your launch template uses a custom AMI, + /// then don't specify version, or the node group deployment will fail. For more + /// information about using launch templates with Amazon EKS, see Launch template + /// support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) + /// in the Amazon EKS User Guide. #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupClusterRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupClusterRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// An object representing a node group's launch template specification. If specified, then do not specify instanceTypes, diskSize, or remoteAccess and make sure that the launch template meets the requirements in launchTemplateSpecification. +/// An object representing a node group's launch template specification. If specified, +/// then do not specify instanceTypes, diskSize, or remoteAccess and make sure +/// that the launch template meets the requirements in launchTemplateSpecification. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupLaunchTemplate { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -107,23 +202,36 @@ pub struct NodegroupLaunchTemplate { pub version: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupNodeRoleRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupNodeRoleRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// The remote access configuration to use with your node group. For Linux, the protocol is SSH. For Windows, the protocol is RDP. If you specify launchTemplate, then don't specify remoteAccess, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. +/// The remote access configuration to use with your node group. For Linux, the +/// protocol is SSH. For Windows, the protocol is RDP. If you specify launchTemplate, +/// then don't specify remoteAccess, or the node group deployment will fail. +/// For more information about using launch templates with Amazon EKS, see Launch +/// template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) +/// in the Amazon EKS User Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupRemoteAccess { #[serde(default, skip_serializing_if = "Option::is_none", rename = "ec2SshKey")] @@ -135,23 +243,32 @@ pub struct NodegroupRemoteAccess { pub source_security_groups: Option>, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupRemoteAccessSourceSecurityGroupRefs { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupRemoteAccessSourceSecurityGroupRefsFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// The scaling configuration details for the Auto Scaling group that is created for your node group. +/// The scaling configuration details for the Auto Scaling group that is created +/// for your node group. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupScalingConfig { #[serde(default, skip_serializing_if = "Option::is_none", rename = "desiredSize")] @@ -162,23 +279,33 @@ pub struct NodegroupScalingConfig { pub min_size: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupSubnetRefs { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupSubnetRefsFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// A property that allows a node to repel a Pod. For more information, see Node taints on managed node groups (https://docs.aws.amazon.com/eks/latest/userguide/node-taints-managed-node-groups.html) in the Amazon EKS User Guide. +/// A property that allows a node to repel a Pod. For more information, see Node +/// taints on managed node groups (https://docs.aws.amazon.com/eks/latest/userguide/node-taints-managed-node-groups.html) +/// in the Amazon EKS User Guide. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupTaints { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -201,22 +328,29 @@ pub struct NodegroupUpdateConfig { /// NodegroupStatus defines the observed state of Nodegroup #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupStatus { - /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + /// that is used to contain resource sync state, account ownership, + /// constructed ARN for the resource #[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")] pub ack_resource_metadata: Option, - /// All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + /// All CRS managed by ACK have a common `Status.Conditions` member that + /// contains a collection of `ackv1alpha1.Condition` objects that describe + /// the various terminal states of the CR and its backend AWS service API + /// resource #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, /// The Unix epoch timestamp at object creation. #[serde(default, skip_serializing_if = "Option::is_none", rename = "createdAt")] pub created_at: Option, - /// The health status of the node group. If there are issues with your node group's health, they are listed here. + /// The health status of the node group. If there are issues with your node group's + /// health, they are listed here. #[serde(default, skip_serializing_if = "Option::is_none")] pub health: Option, /// The Unix epoch timestamp for the last modification to the object. #[serde(default, skip_serializing_if = "Option::is_none", rename = "modifiedAt")] pub modified_at: Option, - /// The resources associated with the node group, such as Auto Scaling groups and security groups for remote access. + /// The resources associated with the node group, such as Auto Scaling groups + /// and security groups for remote access. #[serde(default, skip_serializing_if = "Option::is_none")] pub resources: Option, /// The current status of the managed node group. @@ -224,20 +358,32 @@ pub struct NodegroupStatus { pub status: Option, } -/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource +/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member +/// that is used to contain resource sync state, account ownership, +/// constructed ARN for the resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupStatusAckResourceMetadata { - /// ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270 + /// ARN is the Amazon Resource Name for the resource. This is a + /// globally-unique identifier and is set only by the ACK service controller + /// once the controller has orchestrated the creation of the resource OR + /// when it has verified that an "adopted" resource (a resource where the + /// ARN annotation was set by the Kubernetes user on the CR) exists and + /// matches the supplied CR's Spec field values. + /// TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + /// https://github.com/aws/aws-controllers-k8s/issues/270 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, - /// OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + /// OwnerAccountID is the AWS Account ID of the account that owns the + /// backend AWS service API resource. #[serde(rename = "ownerAccountID")] pub owner_account_id: String, /// Region is the AWS region in which the resource exists or will exist. pub region: String, } -/// Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource +/// Condition is the common struct used by all CRDs managed by ACK service +/// controllers to indicate terminal states of the CR and its backend AWS +/// service API resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupStatusConditions { /// Last time the condition transitioned from one status to another. @@ -256,7 +402,8 @@ pub struct NodegroupStatusConditions { pub r#type: String, } -/// The health status of the node group. If there are issues with your node group's health, they are listed here. +/// The health status of the node group. If there are issues with your node group's +/// health, they are listed here. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupStatusHealth { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -274,7 +421,8 @@ pub struct NodegroupStatusHealthIssues { pub resource_i_ds: Option>, } -/// The resources associated with the node group, such as Auto Scaling groups and security groups for remote access. +/// The resources associated with the node group, such as Auto Scaling groups +/// and security groups for remote access. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupStatusResources { #[serde(default, skip_serializing_if = "Option::is_none", rename = "autoScalingGroups")] @@ -283,7 +431,8 @@ pub struct NodegroupStatusResources { pub remote_access_security_group: Option, } -/// An Auto Scaling group that is associated with an Amazon EKS managed node group. +/// An Auto Scaling group that is associated with an Amazon EKS managed node +/// group. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct NodegroupStatusResourcesAutoScalingGroups { #[serde(default, skip_serializing_if = "Option::is_none")] diff --git a/kube-custom-resources-rs/src/flows_netobserv_io/v1beta1/flowcollectors.rs b/kube-custom-resources-rs/src/flows_netobserv_io/v1beta1/flowcollectors.rs index 22b4e2a36..e1c7a6efc 100644 --- a/kube-custom-resources-rs/src/flows_netobserv_io/v1beta1/flowcollectors.rs +++ b/kube-custom-resources-rs/src/flows_netobserv_io/v1beta1/flowcollectors.rs @@ -7,7 +7,7 @@ use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString; -/// Defines the desired state of the FlowCollector resource.

*: the mention of "unsupported", or "deprecated" for a feature throughout this document means that this feature is not officially supported by Red Hat. It might have been, for instance, contributed by the community and accepted without a formal agreement for maintenance. The product maintainers might provide some support for these features as a best effort only. +/// Defines the desired state of the FlowCollector resource.

*: the mention of "unsupported", or "deprecated" for a feature throughout this document means that this feature is not officially supported by Red Hat. It might have been, for example, contributed by the community and accepted without a formal agreement for maintenance. The product maintainers might provide some support for these features as a best effort only. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, PartialEq)] #[kube(group = "flows.netobserv.io", version = "v1beta1", kind = "FlowCollector", plural = "flowcollectors")] #[kube(status = "FlowCollectorStatus")] @@ -609,7 +609,7 @@ pub struct FlowCollectorConsolePluginResourcesClaims { pub name: String, } -/// Defines the desired state of the FlowCollector resource.

*: the mention of "unsupported", or "deprecated" for a feature throughout this document means that this feature is not officially supported by Red Hat. It might have been, for instance, contributed by the community and accepted without a formal agreement for maintenance. The product maintainers might provide some support for these features as a best effort only. +/// Defines the desired state of the FlowCollector resource.

*: the mention of "unsupported", or "deprecated" for a feature throughout this document means that this feature is not officially supported by Red Hat. It might have been, for example, contributed by the community and accepted without a formal agreement for maintenance. The product maintainers might provide some support for these features as a best effort only. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum FlowCollectorDeploymentModel { #[serde(rename = "DIRECT")] 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 143fd744b..6bdb783c6 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 @@ -7,7 +7,7 @@ use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString; -/// Defines the desired state of the FlowCollector resource.

*: the mention of "unsupported", or "deprecated" for a feature throughout this document means that this feature is not officially supported by Red Hat. It might have been, for instance, contributed by the community and accepted without a formal agreement for maintenance. The product maintainers might provide some support for these features as a best effort only. +/// Defines the desired state of the FlowCollector resource.

*: the mention of "unsupported", or "deprecated" for a feature throughout this document means that this feature is not officially supported by Red Hat. It might have been, for example, contributed by the community and accepted without a formal agreement for maintenance. The product maintainers might provide some support for these features as a best effort only. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, PartialEq)] #[kube(group = "flows.netobserv.io", version = "v1beta2", kind = "FlowCollector", plural = "flowcollectors")] #[kube(status = "FlowCollectorStatus")] @@ -621,7 +621,7 @@ pub struct FlowCollectorConsolePluginResourcesClaims { pub name: String, } -/// Defines the desired state of the FlowCollector resource.

*: the mention of "unsupported", or "deprecated" for a feature throughout this document means that this feature is not officially supported by Red Hat. It might have been, for instance, contributed by the community and accepted without a formal agreement for maintenance. The product maintainers might provide some support for these features as a best effort only. +/// Defines the desired state of the FlowCollector resource.

*: the mention of "unsupported", or "deprecated" for a feature throughout this document means that this feature is not officially supported by Red Hat. It might have been, for example, contributed by the community and accepted without a formal agreement for maintenance. The product maintainers might provide some support for these features as a best effort only. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum FlowCollectorDeploymentModel { Direct, diff --git a/kube-custom-resources-rs/src/hive_openshift_io/v1/clusterdeployments.rs b/kube-custom-resources-rs/src/hive_openshift_io/v1/clusterdeployments.rs index 06359ab50..a14180901 100644 --- a/kube-custom-resources-rs/src/hive_openshift_io/v1/clusterdeployments.rs +++ b/kube-custom-resources-rs/src/hive_openshift_io/v1/clusterdeployments.rs @@ -17,7 +17,7 @@ pub struct ClusterDeploymentSpec { /// BaseDomain is the base domain to which the cluster should belong. #[serde(rename = "baseDomain")] pub base_domain: String, - /// BoundServiceAccountSignkingKeySecretRef refers to a Secret that contains a 'bound-service-account-signing-key.key' data key pointing to the private key that will be used to sign ServiceAccount objects. Primarily used to provision AWS clusters to use Amazon's Security Token Service. + /// BoundServiceAccountSigningKeySecretRef refers to a Secret that contains a 'bound-service-account-signing-key.key' data key pointing to the private key that will be used to sign ServiceAccount objects. Primarily used to provision AWS clusters to use Amazon's Security Token Service. #[serde(default, skip_serializing_if = "Option::is_none", rename = "boundServiceAccountSigningKeySecretRef")] pub bound_service_account_signing_key_secret_ref: Option, /// CertificateBundles is a list of certificate bundles associated with this cluster @@ -69,7 +69,7 @@ pub struct ClusterDeploymentSpec { pub pull_secret_ref: Option, } -/// BoundServiceAccountSignkingKeySecretRef refers to a Secret that contains a 'bound-service-account-signing-key.key' data key pointing to the private key that will be used to sign ServiceAccount objects. Primarily used to provision AWS clusters to use Amazon's Security Token Service. +/// BoundServiceAccountSigningKeySecretRef refers to a Secret that contains a 'bound-service-account-signing-key.key' data key pointing to the private key that will be used to sign ServiceAccount objects. Primarily used to provision AWS clusters to use Amazon's Security Token Service. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ClusterDeploymentBoundServiceAccountSigningKeySecretRef { /// 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? 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 5e92a88c8..679c3bdf5 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 @@ -105,6 +105,9 @@ pub struct TerraformSpec { /// Targets specify the resource, module or collection of resources to target. #[serde(default, skip_serializing_if = "Option::is_none")] pub targets: Option>, + /// TfVarsFiles loads all given .tfvars files. It copycats the -var-file functionality. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "tfVarsFiles")] + pub tf_vars_files: Option>, /// TFStateSpec allows the user to set ForceUnlock #[serde(default, skip_serializing_if = "Option::is_none")] pub tfstate: Option, diff --git a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/ibmvpcmachinetemplates.rs b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/ibmvpcmachinetemplates.rs index 762673394..139b4c816 100644 --- a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/ibmvpcmachinetemplates.rs +++ b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta1/ibmvpcmachinetemplates.rs @@ -100,3 +100,8 @@ pub struct IBMVPCMachineTemplateTemplateSpecPrimaryNetworkInterface { pub subnet: Option, } +/// IBMVPCMachineTemplateStatus defines the observed state of IBMVPCMachineTemplate. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct IBMVPCMachineTemplateStatus { +} + diff --git a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta2/ibmvpcmachinetemplates.rs b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta2/ibmvpcmachinetemplates.rs index d901e3024..0eca2a163 100644 --- a/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta2/ibmvpcmachinetemplates.rs +++ b/kube-custom-resources-rs/src/infrastructure_cluster_x_k8s_io/v1beta2/ibmvpcmachinetemplates.rs @@ -4,11 +4,14 @@ use kube::CustomResource; use serde::{Serialize, Deserialize}; +use std::collections::BTreeMap; +use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString; /// IBMVPCMachineTemplateSpec defines the desired state of IBMVPCMachineTemplate. #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)] #[kube(group = "infrastructure.cluster.x-k8s.io", version = "v1beta2", kind = "IBMVPCMachineTemplate", plural = "ibmvpcmachinetemplates")] #[kube(namespaced)] +#[kube(status = "IBMVPCMachineTemplateStatus")] #[kube(schema = "disabled")] pub struct IBMVPCMachineTemplateSpec { /// IBMVPCMachineTemplateResource describes the data needed to create am IBMVPCMachine from a template. @@ -115,3 +118,11 @@ pub struct IBMVPCMachineTemplateTemplateSpecSshKeys { pub name: Option, } +/// IBMVPCMachineTemplateStatus defines the observed state of IBMVPCMachineTemplate. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct IBMVPCMachineTemplateStatus { + /// Capacity defines the resource capacity for this machine. This value is used for autoscaling from zero operations as defined in: https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20210310-opt-in-autoscaling-from-zero.md + #[serde(default, skip_serializing_if = "Option::is_none")] + pub capacity: Option>, +} + 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 81b40c6d3..b854328b7 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 @@ -5,8 +5,10 @@ use kube::CustomResource; use serde::{Serialize, Deserialize}; -/// CodeSigningConfigSpec defines the desired state of CodeSigningConfig. -/// Details about a Code signing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html). +/// 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")] #[kube(namespaced)] @@ -16,7 +18,8 @@ pub struct CodeSigningConfigSpec { /// Signing profiles for this code signing configuration. #[serde(rename = "allowedPublishers")] pub allowed_publishers: CodeSigningConfigAllowedPublishers, - /// The code signing policies define the actions to take if the validation checks fail. + /// The code signing policies define the actions to take if the validation checks + /// fail. #[serde(default, skip_serializing_if = "Option::is_none", rename = "codeSigningPolicies")] pub code_signing_policies: Option, /// Descriptive name for this code signing configuration. @@ -31,7 +34,8 @@ pub struct CodeSigningConfigAllowedPublishers { pub signing_profile_version_ar_ns: Option>, } -/// The code signing policies define the actions to take if the validation checks fail. +/// The code signing policies define the actions to take if the validation checks +/// fail. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CodeSigningConfigCodeSigningPolicies { #[serde(default, skip_serializing_if = "Option::is_none", rename = "untrustedArtifactOnDeployment")] @@ -41,34 +45,52 @@ pub struct CodeSigningConfigCodeSigningPolicies { /// CodeSigningConfigStatus defines the observed state of CodeSigningConfig #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CodeSigningConfigStatus { - /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + /// that is used to contain resource sync state, account ownership, + /// constructed ARN for the resource #[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")] pub ack_resource_metadata: Option, /// Unique identifer for the Code signing configuration. #[serde(default, skip_serializing_if = "Option::is_none", rename = "codeSigningConfigID")] pub code_signing_config_id: Option, - /// All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + /// All CRS managed by ACK have a common `Status.Conditions` member that + /// contains a collection of `ackv1alpha1.Condition` objects that describe + /// the various terminal states of the CR and its backend AWS service API + /// resource #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, - /// The date and time that the Code signing configuration was last modified, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). + /// The date and time that the Code signing configuration was last modified, + /// in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). #[serde(default, skip_serializing_if = "Option::is_none", rename = "lastModified")] pub last_modified: Option, } -/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource +/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member +/// that is used to contain resource sync state, account ownership, +/// constructed ARN for the resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CodeSigningConfigStatusAckResourceMetadata { - /// ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270 + /// ARN is the Amazon Resource Name for the resource. This is a + /// globally-unique identifier and is set only by the ACK service controller + /// once the controller has orchestrated the creation of the resource OR + /// when it has verified that an "adopted" resource (a resource where the + /// ARN annotation was set by the Kubernetes user on the CR) exists and + /// matches the supplied CR's Spec field values. + /// TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + /// https://github.com/aws/aws-controllers-k8s/issues/270 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, - /// OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + /// OwnerAccountID is the AWS Account ID of the account that owns the + /// backend AWS service API resource. #[serde(rename = "ownerAccountID")] pub owner_account_id: String, /// Region is the AWS region in which the resource exists or will exist. pub region: String, } -/// Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource +/// Condition is the common struct used by all CRDs managed by ACK service +/// controllers to indicate terminal states of the CR and its backend AWS +/// service API resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct CodeSigningConfigStatusConditions { /// Last time the condition transitioned from one status to another. 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 d46020bce..05827df85 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 @@ -13,68 +13,145 @@ use std::collections::BTreeMap; #[kube(status = "EventSourceMappingStatus")] #[kube(schema = "disabled")] pub struct EventSourceMappingSpec { - /// Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source. + /// Specific configuration settings for an Amazon Managed Streaming for Apache + /// Kafka (Amazon MSK) event source. #[serde(default, skip_serializing_if = "Option::is_none", rename = "amazonManagedKafkaEventSourceConfig")] pub amazon_managed_kafka_event_source_config: Option, - /// The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in 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. + /// The maximum number of records in each batch that Lambda pulls from your stream + /// or queue and sends to your function. Lambda passes all of the records in + /// 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, - /// (Streams only) If the function returns an error, split the batch in two and retry. + /// (Streams only) If the function returns an error, split the batch in two and + /// retry. #[serde(default, skip_serializing_if = "Option::is_none", rename = "bisectBatchOnFunctionError")] pub bisect_batch_on_function_error: Option, - /// (Streams only) An Amazon SQS queue or Amazon SNS topic destination for discarded records. + /// (Streams only) An Amazon SQS queue or Amazon SNS topic destination for discarded + /// records. #[serde(default, skip_serializing_if = "Option::is_none", rename = "destinationConfig")] pub destination_config: Option, - /// When true, the event source mapping is active. When false, Lambda pauses polling and invocation. - /// Default: True + /// 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. + /// 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, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "eventSourceRef")] pub event_source_ref: Option, - /// An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see Lambda event filtering (https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html). + /// An object that defines the filter criteria that determine whether Lambda + /// should process an event. For more information, see Lambda event filtering + /// (https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html). #[serde(default, skip_serializing_if = "Option::is_none", rename = "filterCriteria")] 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. + /// 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")] pub function_name: Option, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "functionRef")] pub function_ref: Option, - /// (Streams and Amazon SQS) A list of current response type enums applied to the event source mapping. + /// (Streams and Amazon SQS) A list of current response type enums applied to + /// the event source mapping. #[serde(default, skip_serializing_if = "Option::is_none", rename = "functionResponseTypes")] pub function_response_types: Option>, - /// The maximum amount of time, in seconds, that Lambda spends gathering records 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 only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed 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. + /// The maximum amount of time, in seconds, that Lambda spends gathering records + /// 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 + /// only change MaximumBatchingWindowInSeconds in increments of seconds, you + /// cannot revert back to the 500 ms default batching window after you have changed + /// 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. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maximumBatchingWindowInSeconds")] pub maximum_batching_window_in_seconds: Option, - /// (Streams only) Discard records older than the specified age. The default value is infinite (-1). + /// (Streams only) Discard records older than the specified age. The default + /// value is infinite (-1). #[serde(default, skip_serializing_if = "Option::is_none", rename = "maximumRecordAgeInSeconds")] pub maximum_record_age_in_seconds: Option, - /// (Streams only) Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires. + /// (Streams only) Discard records after the specified number of retries. The + /// default value is infinite (-1). When set to infinite (-1), failed records + /// are retried until the record expires. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maximumRetryAttempts")] pub maximum_retry_attempts: Option, /// (Streams only) The number of batches to process from each shard concurrently. @@ -85,7 +162,9 @@ pub struct EventSourceMappingSpec { /// (MQ) The name of the Amazon MQ broker destination queue to consume. #[serde(default, skip_serializing_if = "Option::is_none")] pub queues: Option>, - /// (Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources (https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency). + /// (Amazon SQS only) The scaling configuration for the event source. For more + /// information, see Configuring maximum concurrency for Amazon SQS event sources + /// (https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency). #[serde(default, skip_serializing_if = "Option::is_none", rename = "scalingConfig")] pub scaling_config: Option, /// The self-managed Apache Kafka cluster to receive records from. @@ -94,10 +173,13 @@ pub struct EventSourceMappingSpec { /// Specific configuration settings for a self-managed Apache Kafka event source. #[serde(default, skip_serializing_if = "Option::is_none", rename = "selfManagedKafkaEventSourceConfig")] pub self_managed_kafka_event_source_config: Option, - /// An array of authentication protocols or VPC components required to secure your event source. + /// An array of authentication protocols or VPC components required to secure + /// your event source. #[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceAccessConfigurations")] pub source_access_configurations: Option>, - /// The position in a stream from which to start reading. Required for Amazon Kinesis, Amazon DynamoDB, and Amazon MSK Streams sources. AT_TIMESTAMP is supported only for Amazon Kinesis streams. + /// The position in a stream from which to start reading. Required for Amazon + /// Kinesis, Amazon DynamoDB, and Amazon MSK Streams sources. AT_TIMESTAMP is + /// supported only for Amazon Kinesis streams. #[serde(default, skip_serializing_if = "Option::is_none", rename = "startingPosition")] pub starting_position: Option, /// With StartingPosition set to AT_TIMESTAMP, the time from which to start reading. @@ -106,19 +188,22 @@ pub struct EventSourceMappingSpec { /// The name of the Kafka topic. #[serde(default, skip_serializing_if = "Option::is_none")] pub topics: Option>, - /// (Streams only) The duration in seconds of a processing window. The range is between 1 second and 900 seconds. + /// (Streams only) The duration in seconds of a processing window. The range + /// is between 1 second and 900 seconds. #[serde(default, skip_serializing_if = "Option::is_none", rename = "tumblingWindowInSeconds")] pub tumbling_window_in_seconds: Option, } -/// Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source. +/// Specific configuration settings for an Amazon Managed Streaming for Apache +/// Kafka (Amazon MSK) event source. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingAmazonManagedKafkaEventSourceConfig { #[serde(default, skip_serializing_if = "Option::is_none", rename = "consumerGroupID")] pub consumer_group_id: Option, } -/// (Streams only) An Amazon SQS queue or Amazon SNS topic destination for discarded records. +/// (Streams only) An Amazon SQS queue or Amazon SNS topic destination for discarded +/// records. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingDestinationConfig { /// A destination for events that failed processing. @@ -143,69 +228,98 @@ pub struct EventSourceMappingDestinationConfigOnSuccess { pub destination: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingEventSourceRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingEventSourceRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see Lambda event filtering (https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html). +/// An object that defines the filter criteria that determine whether Lambda +/// should process an event. For more information, see Lambda event filtering +/// (https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingFilterCriteria { #[serde(default, skip_serializing_if = "Option::is_none")] pub filters: Option>, } -/// A structure within a FilterCriteria object that defines an event filtering pattern. +/// A structure within a FilterCriteria object that defines an event filtering +/// pattern. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingFilterCriteriaFilters { #[serde(default, skip_serializing_if = "Option::is_none")] pub pattern: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingFunctionRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingFunctionRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingQueueRefs { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingQueueRefsFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// (Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources (https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency). +/// (Amazon SQS only) The scaling configuration for the event source. For more +/// information, see Configuring maximum concurrency for Amazon SQS event sources +/// (https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingScalingConfig { #[serde(default, skip_serializing_if = "Option::is_none", rename = "maximumConcurrency")] @@ -226,7 +340,8 @@ pub struct EventSourceMappingSelfManagedKafkaEventSourceConfig { pub consumer_group_id: Option, } -/// To secure and define access to your event source, you can specify the authentication protocol, VPC components, or virtual host. +/// To secure and define access to your event source, you can specify the authentication +/// protocol, VPC components, or virtual host. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingSourceAccessConfigurations { #[serde(default, skip_serializing_if = "Option::is_none", rename = "type_")] @@ -238,25 +353,33 @@ pub struct EventSourceMappingSourceAccessConfigurations { /// EventSourceMappingStatus defines the observed state of EventSourceMapping #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingStatus { - /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + /// that is used to contain resource sync state, account ownership, + /// constructed ARN for the resource #[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")] pub ack_resource_metadata: Option, - /// All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + /// All CRS managed by ACK have a common `Status.Conditions` member that + /// contains a collection of `ackv1alpha1.Condition` objects that describe + /// the various terminal states of the CR and its backend AWS service API + /// resource #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, /// The ARN of the Lambda function. #[serde(default, skip_serializing_if = "Option::is_none", rename = "functionARN")] pub function_arn: Option, - /// The date that the event source mapping was last updated or that its state changed. + /// The date that the event source mapping was last updated or that its state + /// changed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "lastModified")] pub last_modified: Option, /// The result of the last Lambda invocation of your function. #[serde(default, skip_serializing_if = "Option::is_none", rename = "lastProcessingResult")] pub last_processing_result: Option, - /// The state of the event source mapping. It can be one of the following: Creating, Enabling, Enabled, Disabling, Disabled, Updating, or Deleting. + /// The state of the event source mapping. It can be one of the following: Creating, + /// Enabling, Enabled, Disabling, Disabled, Updating, or Deleting. #[serde(default, skip_serializing_if = "Option::is_none")] pub state: Option, - /// Indicates whether a user or Lambda made the last change to the event source mapping. + /// Indicates whether a user or Lambda made the last change to the event source + /// mapping. #[serde(default, skip_serializing_if = "Option::is_none", rename = "stateTransitionReason")] pub state_transition_reason: Option, /// The identifier of the event source mapping. @@ -264,20 +387,32 @@ pub struct EventSourceMappingStatus { pub uuid: Option, } -/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource +/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member +/// that is used to contain resource sync state, account ownership, +/// constructed ARN for the resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingStatusAckResourceMetadata { - /// ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270 + /// ARN is the Amazon Resource Name for the resource. This is a + /// globally-unique identifier and is set only by the ACK service controller + /// once the controller has orchestrated the creation of the resource OR + /// when it has verified that an "adopted" resource (a resource where the + /// ARN annotation was set by the Kubernetes user on the CR) exists and + /// matches the supplied CR's Spec field values. + /// TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + /// https://github.com/aws/aws-controllers-k8s/issues/270 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, - /// OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + /// OwnerAccountID is the AWS Account ID of the account that owns the + /// backend AWS service API resource. #[serde(rename = "ownerAccountID")] pub owner_account_id: String, /// Region is the AWS region in which the resource exists or will exist. pub region: String, } -/// Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource +/// Condition is the common struct used by all CRDs managed by ACK service +/// controllers to indicate terminal states of the CR and its backend AWS +/// service API resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct EventSourceMappingStatusConditions { /// Last time the condition transitioned from one status to another. 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 6ad5510aa..bd16e198b 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 @@ -13,15 +13,21 @@ use std::collections::BTreeMap; #[kube(status = "FunctionStatus")] #[kube(schema = "disabled")] pub struct FunctionSpec { - /// The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is x86_64. + /// The instruction set architecture that the function supports. Enter a string + /// array with one of the valid values (arm64 or x86_64). The default value is + /// x86_64. #[serde(default, skip_serializing_if = "Option::is_none")] pub architectures: Option>, /// The code for the function. pub code: FunctionCode, - /// To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function. + /// To enable code signing for this function, specify the ARN of a code-signing + /// configuration. A code-signing configuration includes a set of signing profiles, + /// which define the trusted publishers for this function. #[serde(default, skip_serializing_if = "Option::is_none", rename = "codeSigningConfigARN")] pub code_signing_config_arn: Option, - /// A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead-letter queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq). + /// A dead-letter queue configuration that specifies the queue or topic where + /// Lambda sends asynchronous events when they fail processing. For more information, + /// see Dead-letter queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq). #[serde(default, skip_serializing_if = "Option::is_none", rename = "deadLetterConfig")] pub dead_letter_config: Option, /// A description of the function. @@ -30,46 +36,91 @@ pub struct FunctionSpec { /// Environment variables that are accessible from function code during execution. #[serde(default, skip_serializing_if = "Option::is_none")] pub environment: Option, - /// The size of the function's /tmp directory in MB. The default value is 512, but can be any whole number between 512 and 10,240 MB. + /// The size of the function's /tmp directory in MB. The default value is 512, + /// but can be any whole number between 512 and 10,240 MB. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ephemeralStorage")] pub ephemeral_storage: Option, /// Connection settings for an Amazon EFS file system. #[serde(default, skip_serializing_if = "Option::is_none", rename = "fileSystemConfigs")] 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. + /// 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")] pub function_event_invoke_config: Option, - /// The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see Lambda programming model (https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html). + /// The name of the method within your code that Lambda calls to run your function. + /// Handler is required if the deployment package is a .zip file archive. The + /// format includes the file name. It can also include namespaces and other qualifiers, + /// depending on the runtime. For more information, see Lambda programming model + /// (https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html). #[serde(default, skip_serializing_if = "Option::is_none")] pub handler: Option, - /// Container image configuration values (https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings) that override the values in the container image Dockerfile. + /// Container image configuration values (https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings) + /// that override the values in the container image Dockerfile. #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageConfig")] pub image_config: Option, - /// The ARN of the Key Management Service (KMS) key that's used to encrypt your function's environment variables. If it's not provided, Lambda uses a default service key. + /// The ARN of the Key Management Service (KMS) key that's used to encrypt your + /// function's environment variables. If it's not provided, Lambda uses a default + /// service key. #[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsKeyARN")] pub kms_key_arn: Option, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "kmsKeyRef")] pub kms_key_ref: Option, - /// A list of function layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) to add to the function's execution environment. Specify each layer by its ARN, including the version. + /// A list of function layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) + /// to add to the function's execution environment. Specify each layer by its + /// ARN, including the version. #[serde(default, skip_serializing_if = "Option::is_none")] pub layers: Option>, - /// The amount of memory available to the function (https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console) at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB. + /// The amount of memory available to the function (https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console) + /// at runtime. Increasing the function memory also increases its CPU allocation. + /// The default value is 128 MB. The value can be any multiple of 1 MB. #[serde(default, skip_serializing_if = "Option::is_none", rename = "memorySize")] 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. + /// 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, - /// The type of deployment package. Set to Image for container image and set to Zip for .zip file archive. + /// The type of deployment package. Set to Image for container image and set + /// to Zip for .zip file archive. #[serde(default, skip_serializing_if = "Option::is_none", rename = "packageType")] pub package_type: Option, /// Set to true to publish the first version of the function during creation. @@ -81,26 +132,42 @@ pub struct FunctionSpec { /// The Amazon Resource Name (ARN) of the function's execution role. #[serde(default, skip_serializing_if = "Option::is_none")] pub role: Option, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "roleRef")] pub role_ref: Option, - /// The identifier of the function's runtime (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. + /// The identifier of the function's runtime (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). + /// Runtime is required if the deployment package is a .zip file archive. #[serde(default, skip_serializing_if = "Option::is_none")] pub runtime: Option, - /// The function's SnapStart (https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) setting. + /// The function's SnapStart (https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) + /// setting. #[serde(default, skip_serializing_if = "Option::is_none", rename = "snapStart")] pub snap_start: Option, - /// A list of tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function. + /// A list of tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) + /// to apply to the function. #[serde(default, skip_serializing_if = "Option::is_none")] pub tags: Option>, - /// The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see Lambda execution environment (https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html). + /// The amount of time (in seconds) that Lambda allows a function to run before + /// stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. + /// For more information, see Lambda execution environment (https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html). #[serde(default, skip_serializing_if = "Option::is_none")] pub timeout: Option, - /// Set Mode to Active to sample and trace a subset of incoming requests with X-Ray (https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html). + /// Set Mode to Active to sample and trace a subset of incoming requests with + /// X-Ray (https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html). #[serde(default, skip_serializing_if = "Option::is_none", rename = "tracingConfig")] pub tracing_config: Option, - /// For network connectivity to Amazon Web Services resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see Configuring a Lambda function to access resources in a VPC (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). + /// For network connectivity to Amazon Web Services resources in a VPC, specify + /// a list of security groups and subnets in the VPC. When you connect a function + /// to a VPC, it can access resources and the internet only through that VPC. + /// For more information, see Configuring a Lambda function to access resources + /// in a VPC (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). #[serde(default, skip_serializing_if = "Option::is_none", rename = "vpcConfig")] pub vpc_config: Option, } @@ -126,19 +193,23 @@ pub struct FunctionCode { /// Reference field for S3Bucket #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionCodeS3BucketRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionCodeS3BucketRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead-letter queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq). +/// A dead-letter queue configuration that specifies the queue or topic where +/// Lambda sends asynchronous events when they fail processing. For more information, +/// see Dead-letter queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionDeadLetterConfig { #[serde(default, skip_serializing_if = "Option::is_none", rename = "targetARN")] @@ -152,14 +223,16 @@ pub struct FunctionEnvironment { pub variables: Option>, } -/// The size of the function's /tmp directory in MB. The default value is 512, but can be any whole number between 512 and 10,240 MB. +/// The size of the function's /tmp directory in MB. The default value is 512, +/// but can be any whole number between 512 and 10,240 MB. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionEphemeralStorage { #[serde(default, skip_serializing_if = "Option::is_none")] pub size: Option, } -/// Details about the connection between a Lambda function and an Amazon EFS file system (https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html). +/// Details about the connection between a Lambda function and an Amazon EFS +/// file system (https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionFileSystemConfigs { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -168,14 +241,30 @@ pub struct FunctionFileSystemConfigs { pub local_mount_path: 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. +/// 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)] pub struct FunctionFunctionEventInvokeConfig { - /// A configuration object that specifies the destination of an event after Lambda processes it. + /// A configuration object that specifies the destination of an event after Lambda + /// processes it. #[serde(default, skip_serializing_if = "Option::is_none", rename = "destinationConfig")] pub destination_config: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "functionName")] @@ -188,7 +277,8 @@ pub struct FunctionFunctionEventInvokeConfig { pub qualifier: Option, } -/// A configuration object that specifies the destination of an event after Lambda processes it. +/// A configuration object that specifies the destination of an event after Lambda +/// processes it. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionFunctionEventInvokeConfigDestinationConfig { /// A destination for events that failed processing. @@ -213,7 +303,8 @@ pub struct FunctionFunctionEventInvokeConfigDestinationConfigOnSuccess { pub destination: Option, } -/// Container image configuration values (https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings) that override the values in the container image Dockerfile. +/// Container image configuration values (https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings) +/// that override the values in the container image Dockerfile. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionImageConfig { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -224,53 +315,75 @@ pub struct FunctionImageConfig { pub working_directory: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionKmsKeyRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionKmsKeyRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionRoleRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionRoleRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// The function's SnapStart (https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) setting. +/// The function's SnapStart (https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) +/// setting. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionSnapStart { #[serde(default, skip_serializing_if = "Option::is_none", rename = "applyOn")] pub apply_on: Option, } -/// Set Mode to Active to sample and trace a subset of incoming requests with X-Ray (https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html). +/// Set Mode to Active to sample and trace a subset of incoming requests with +/// X-Ray (https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionTracingConfig { #[serde(default, skip_serializing_if = "Option::is_none")] pub mode: Option, } -/// For network connectivity to Amazon Web Services resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see Configuring a Lambda function to access resources in a VPC (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). +/// For network connectivity to Amazon Web Services resources in a VPC, specify +/// a list of security groups and subnets in the VPC. When you connect a function +/// to a VPC, it can access resources and the internet only through that VPC. +/// For more information, see Configuring a Lambda function to access resources +/// in a VPC (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionVpcConfig { #[serde(default, skip_serializing_if = "Option::is_none", rename = "securityGroupIDs")] @@ -285,32 +398,48 @@ pub struct FunctionVpcConfig { pub subnet_refs: Option>, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionVpcConfigSecurityGroupRefs { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionVpcConfigSecurityGroupRefsFrom { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionVpcConfigSubnetRefs { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionVpcConfigSubnetRefsFrom { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -320,7 +449,9 @@ pub struct FunctionVpcConfigSubnetRefsFrom { /// FunctionStatus defines the observed state of Function #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionStatus { - /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + /// that is used to contain resource sync state, account ownership, + /// constructed ARN for the resource #[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")] pub ack_resource_metadata: Option, /// The SHA256 hash of the function's deployment package. @@ -329,16 +460,21 @@ pub struct FunctionStatus { /// The size of the function's deployment package, in bytes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "codeSize")] pub code_size: Option, - /// All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + /// All CRS managed by ACK have a common `Status.Conditions` member that + /// contains a collection of `ackv1alpha1.Condition` objects that describe + /// the various terminal states of the CR and its backend AWS service API + /// resource #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, /// The function's image configuration values. #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageConfigResponse")] pub image_config_response: Option, - /// The date and time that the function was last updated, in ISO-8601 format (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD). + /// The date and time that the function was last updated, in ISO-8601 format + /// (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD). #[serde(default, skip_serializing_if = "Option::is_none", rename = "lastModified")] pub last_modified: Option, - /// The status of the last update that was performed on the function. This is first set to Successful after function creation completes. + /// The status of the last update that was performed on the function. This is + /// first set to Successful after function creation completes. #[serde(default, skip_serializing_if = "Option::is_none", rename = "lastUpdateStatus")] pub last_update_status: Option, /// The reason for the last update that was performed on the function. @@ -362,13 +498,15 @@ pub struct FunctionStatus { /// The ARN of the signing profile version. #[serde(default, skip_serializing_if = "Option::is_none", rename = "signingProfileVersionARN")] pub signing_profile_version_arn: Option, - /// The current state of the function. When the state is Inactive, you can reactivate the function by invoking it. + /// The current state of the function. When the state is Inactive, you can reactivate + /// the function by invoking it. #[serde(default, skip_serializing_if = "Option::is_none")] pub state: Option, /// The reason for the function's current state. #[serde(default, skip_serializing_if = "Option::is_none", rename = "stateReason")] pub state_reason: Option, - /// The reason code for the function's current state. When the code is Creating, you can't invoke or modify the function. + /// The reason code for the function's current state. When the code is Creating, + /// you can't invoke or modify the function. #[serde(default, skip_serializing_if = "Option::is_none", rename = "stateReasonCode")] pub state_reason_code: Option, /// The version of the Lambda function. @@ -376,20 +514,32 @@ pub struct FunctionStatus { pub version: Option, } -/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource +/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member +/// that is used to contain resource sync state, account ownership, +/// constructed ARN for the resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionStatusAckResourceMetadata { - /// ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270 + /// ARN is the Amazon Resource Name for the resource. This is a + /// globally-unique identifier and is set only by the ACK service controller + /// once the controller has orchestrated the creation of the resource OR + /// when it has verified that an "adopted" resource (a resource where the + /// ARN annotation was set by the Kubernetes user on the CR) exists and + /// matches the supplied CR's Spec field values. + /// TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + /// https://github.com/aws/aws-controllers-k8s/issues/270 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, - /// OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + /// OwnerAccountID is the AWS Account ID of the account that owns the + /// backend AWS service API resource. #[serde(rename = "ownerAccountID")] pub owner_account_id: String, /// Region is the AWS region in which the resource exists or will exist. pub region: String, } -/// Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource +/// Condition is the common struct used by all CRDs managed by ACK service +/// controllers to indicate terminal states of the CR and its backend AWS +/// service API resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionStatusConditions { /// Last time the condition transitioned from one status to another. @@ -414,7 +564,8 @@ pub struct FunctionStatusImageConfigResponse { /// Error response to GetFunctionConfiguration. #[serde(default, skip_serializing_if = "Option::is_none")] pub error: Option, - /// Configuration values that override the container image Dockerfile settings. For more information, see Container image settings (https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms). + /// Configuration values that override the container image Dockerfile settings. + /// For more information, see Container image settings (https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms). #[serde(default, skip_serializing_if = "Option::is_none", rename = "imageConfig")] pub image_config: Option, } @@ -428,7 +579,8 @@ pub struct FunctionStatusImageConfigResponseError { pub message: Option, } -/// Configuration values that override the container image Dockerfile settings. For more information, see Container image settings (https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms). +/// Configuration values that override the container image Dockerfile settings. +/// For more information, see Container image settings (https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms). #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionStatusImageConfigResponseImageConfig { #[serde(default, skip_serializing_if = "Option::is_none")] 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 0bf382314..fc3ea6a6b 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 @@ -5,30 +5,53 @@ use kube::CustomResource; use serde::{Serialize, Deserialize}; -/// FunctionUrlConfigSpec defines the desired state of FunctionUrlConfig. -/// Details about a Lambda function URL. +/// 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")] #[kube(namespaced)] #[kube(status = "FunctionURLConfigStatus")] #[kube(schema = "disabled")] pub struct FunctionURLConfigSpec { - /// The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + /// The type of authentication that your function URL uses. Set to AWS_IAM if + /// you want to restrict access to authenticated IAM users only. Set to NONE + /// if you want to bypass IAM authentication to create a public endpoint. For + /// more information, see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). #[serde(rename = "authType")] pub auth_type: String, - /// The cross-origin resource sharing (CORS) (https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) settings for your function URL. + /// The cross-origin resource sharing (CORS) (https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) + /// settings for your function URL. #[serde(default, skip_serializing_if = "Option::is_none")] 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. + /// 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")] pub function_name: Option, - /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: - /// from: name: my-api + /// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference + /// type to provide more user friendly syntax for references using 'from' field + /// Ex: + /// APIIDRef: + /// + /// + /// from: + /// name: my-api #[serde(default, skip_serializing_if = "Option::is_none", rename = "functionRef")] pub function_ref: Option, /// The alias name. @@ -36,7 +59,8 @@ pub struct FunctionURLConfigSpec { pub qualifier: Option, } -/// The cross-origin resource sharing (CORS) (https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) settings for your function URL. +/// The cross-origin resource sharing (CORS) (https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) +/// settings for your function URL. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionURLConfigCors { #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowCredentials")] @@ -53,16 +77,24 @@ pub struct FunctionURLConfigCors { pub max_age: Option, } -/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using 'from' field Ex: APIIDRef: -/// from: name: my-api +/// AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference +/// type to provide more user friendly syntax for references using 'from' field +/// Ex: +/// APIIDRef: +/// +/// +/// from: +/// name: my-api #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionURLConfigFunctionRef { - /// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) + /// AWSResourceReference provides all the values necessary to reference another + /// k8s resource for finding the identifier(Id/ARN/Name) #[serde(default, skip_serializing_if = "Option::is_none")] pub from: Option, } -/// AWSResourceReference provides all the values necessary to reference another k8s resource for finding the identifier(Id/ARN/Name) +/// AWSResourceReference provides all the values necessary to reference another +/// k8s resource for finding the identifier(Id/ARN/Name) #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionURLConfigFunctionRefFrom { #[serde(default, skip_serializing_if = "Option::is_none")] @@ -72,13 +104,19 @@ pub struct FunctionURLConfigFunctionRefFrom { /// FunctionURLConfigStatus defines the observed state of FunctionURLConfig #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionURLConfigStatus { - /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource + /// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + /// that is used to contain resource sync state, account ownership, + /// constructed ARN for the resource #[serde(default, skip_serializing_if = "Option::is_none", rename = "ackResourceMetadata")] pub ack_resource_metadata: Option, - /// All CRS managed by ACK have a common `Status.Conditions` member that contains a collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the CR and its backend AWS service API resource + /// All CRS managed by ACK have a common `Status.Conditions` member that + /// contains a collection of `ackv1alpha1.Condition` objects that describe + /// the various terminal states of the CR and its backend AWS service API + /// resource #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, - /// When the function URL was created, in ISO-8601 format (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD). + /// When the function URL was created, in ISO-8601 format (https://www.w3.org/TR/NOTE-datetime) + /// (YYYY-MM-DDThh:mm:ss.sTZD). #[serde(default, skip_serializing_if = "Option::is_none", rename = "creationTime")] pub creation_time: Option, /// The Amazon Resource Name (ARN) of your function. @@ -89,20 +127,32 @@ pub struct FunctionURLConfigStatus { pub function_url: Option, } -/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member that is used to contain resource sync state, account ownership, constructed ARN for the resource +/// All CRs managed by ACK have a common `Status.ACKResourceMetadata` member +/// that is used to contain resource sync state, account ownership, +/// constructed ARN for the resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionURLConfigStatusAckResourceMetadata { - /// ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an "adopted" resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR's Spec field values. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse https://github.com/aws/aws-controllers-k8s/issues/270 + /// ARN is the Amazon Resource Name for the resource. This is a + /// globally-unique identifier and is set only by the ACK service controller + /// once the controller has orchestrated the creation of the resource OR + /// when it has verified that an "adopted" resource (a resource where the + /// ARN annotation was set by the Kubernetes user on the CR) exists and + /// matches the supplied CR's Spec field values. + /// TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse + /// https://github.com/aws/aws-controllers-k8s/issues/270 #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, - /// OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. + /// OwnerAccountID is the AWS Account ID of the account that owns the + /// backend AWS service API resource. #[serde(rename = "ownerAccountID")] pub owner_account_id: String, /// Region is the AWS region in which the resource exists or will exist. pub region: String, } -/// Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource +/// Condition is the common struct used by all CRDs managed by ACK service +/// controllers to indicate terminal states of the CR and its backend AWS +/// service API resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct FunctionURLConfigStatusConditions { /// Last time the condition transitioned from one status to another. diff --git a/kube-custom-resources-rs/src/mariadb_mmontes_io/v1alpha1/connections.rs b/kube-custom-resources-rs/src/mariadb_mmontes_io/v1alpha1/connections.rs index b26ef18c0..35df639eb 100644 --- a/kube-custom-resources-rs/src/mariadb_mmontes_io/v1alpha1/connections.rs +++ b/kube-custom-resources-rs/src/mariadb_mmontes_io/v1alpha1/connections.rs @@ -13,21 +13,30 @@ use std::collections::BTreeMap; #[kube(status = "ConnectionStatus")] #[kube(schema = "disabled")] pub struct ConnectionSpec { - /// Database to use for configuring the Connection. + /// Database to use when configuring the Connection. #[serde(default, skip_serializing_if = "Option::is_none")] pub database: Option, /// HealthCheck to be used in the Connection. #[serde(default, skip_serializing_if = "Option::is_none", rename = "healthCheck")] pub health_check: Option, - /// MariaDBRef is a reference to a MariaDB object. - #[serde(rename = "mariaDbRef")] - pub maria_db_ref: ConnectionMariaDbRef, + /// Host to connect to. If not provided, it defaults to the MariaDB host or to the MaxScale host. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub host: Option, + /// MariaDBRef is a reference to the MariaDB to connect to. Either MariaDBRef or MaxScaleRef must be provided. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "mariaDbRef")] + pub maria_db_ref: Option, + /// MaxScaleRef is a reference to the MaxScale to connect to. Either MariaDBRef or MaxScaleRef must be provided. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxScaleRef")] + pub max_scale_ref: Option, /// Params to be used in the Connection. #[serde(default, skip_serializing_if = "Option::is_none")] pub params: Option>, /// PasswordSecretKeyRef is a reference to the password to use for configuring the Connection. #[serde(rename = "passwordSecretKeyRef")] pub password_secret_key_ref: ConnectionPasswordSecretKeyRef, + /// Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub port: Option, /// SecretName to be used in the Connection. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] pub secret_name: Option, @@ -52,7 +61,7 @@ pub struct ConnectionHealthCheck { pub retry_interval: Option, } -/// MariaDBRef is a reference to a MariaDB object. +/// MariaDBRef is a reference to the MariaDB to connect to. Either MariaDBRef or MaxScaleRef must be provided. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConnectionMariaDbRef { /// API version of the referent. @@ -81,6 +90,32 @@ pub struct ConnectionMariaDbRef { pub wait_for_it: Option, } +/// MaxScaleRef is a reference to the MaxScale to connect to. Either MariaDBRef or MaxScaleRef must be provided. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct ConnectionMaxScaleRef { + /// API version of the referent. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")] + pub api_version: Option, + /// If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldPath")] + pub field_path: Option, + /// Kind of the referent. 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, + /// Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ + #[serde(default, skip_serializing_if = "Option::is_none")] + pub namespace: Option, + /// Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency + #[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceVersion")] + pub resource_version: Option, + /// UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids + #[serde(default, skip_serializing_if = "Option::is_none")] + pub uid: Option, +} + /// PasswordSecretKeyRef is a reference to the password to use for configuring the Connection. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct ConnectionPasswordSecretKeyRef { diff --git a/kube-custom-resources-rs/src/mariadb_mmontes_io/v1alpha1/mariadbs.rs b/kube-custom-resources-rs/src/mariadb_mmontes_io/v1alpha1/mariadbs.rs index 62a3bb2fd..64a12cb78 100644 --- a/kube-custom-resources-rs/src/mariadb_mmontes_io/v1alpha1/mariadbs.rs +++ b/kube-custom-resources-rs/src/mariadb_mmontes_io/v1alpha1/mariadbs.rs @@ -1665,6 +1665,9 @@ pub struct MariaDBConnection { /// Params to be used in the Connection. #[serde(default, skip_serializing_if = "Option::is_none")] pub params: Option>, + /// Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub port: Option, /// SecretName to be used in the Connection. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] pub secret_name: Option, @@ -3630,6 +3633,9 @@ pub struct MariaDBMaxScale { /// Config defines the MaxScale configuration. #[serde(default, skip_serializing_if = "Option::is_none")] pub config: Option, + /// Connection provides a template to define the Connection for MaxScale. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub connection: Option, /// Enabled is a flag to enable Metrics #[serde(default, skip_serializing_if = "Option::is_none")] pub enabled: Option, @@ -4139,6 +4145,9 @@ pub struct MariaDBMaxScaleAuth { /// AdminUsername is an admin username to call the admin REST API. It is defaulted if not provided. #[serde(default, skip_serializing_if = "Option::is_none", rename = "adminUsername")] pub admin_username: Option, + /// ClientMaxConnections defines the maximum number of connections that the client can establish. If HA is enabled, make sure to increase this value, as more MaxScale replicas implies more connections. It defaults to 30 times the number of MaxScale replicas. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "clientMaxConnections")] + pub client_max_connections: Option, /// ClientPasswordSecretKeyRef is Secret key reference to the password to connect to MaxScale. It is defaulted if not provided. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clientPasswordSecretKeyRef")] pub client_password_secret_key_ref: Option, @@ -4151,18 +4160,27 @@ pub struct MariaDBMaxScaleAuth { /// Generate defies whether the operator should generate users and grants for MaxScale to work. It only supports MariaDBs specified via spec.mariaDbRef. #[serde(default, skip_serializing_if = "Option::is_none")] pub generate: Option, + /// MonitorMaxConnections defines the maximum number of connections that the monitor can establish. If HA is enabled, make sure to increase this value, as more MaxScale replicas implies more connections. It defaults to 30 times the number of MaxScale replicas. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "monitorMaxConnections")] + pub monitor_max_connections: Option, /// MonitorPasswordSecretKeyRef is Secret key reference to the password used by MaxScale monitor to connect to MariaDB server. It is defaulted if not provided. #[serde(default, skip_serializing_if = "Option::is_none", rename = "monitorPasswordSecretKeyRef")] pub monitor_password_secret_key_ref: Option, /// MonitorUsername is the user used by MaxScale monitor to connect to MariaDB server. It is defaulted if not provided. #[serde(default, skip_serializing_if = "Option::is_none", rename = "monitorUsername")] pub monitor_username: Option, + /// ServerMaxConnections defines the maximum number of connections that the server can establish. If HA is enabled, make sure to increase this value, as more MaxScale replicas implies more connections. It defaults to 30 times the number of MaxScale replicas. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "serverMaxConnections")] + pub server_max_connections: Option, /// ServerPasswordSecretKeyRef is Secret key reference to the password used by MaxScale to connect to MariaDB server. It is defaulted if not provided. #[serde(default, skip_serializing_if = "Option::is_none", rename = "serverPasswordSecretKeyRef")] pub server_password_secret_key_ref: Option, /// ServerUsername is the user used by MaxScale to connect to MariaDB server. It is defaulted if not provided. #[serde(default, skip_serializing_if = "Option::is_none", rename = "serverUsername")] pub server_username: Option, + /// SyncMaxConnections defines the maximum number of connections that the sync can establish. If HA is enabled, make sure to increase this value, as more MaxScale replicas implies more connections. It defaults to 30 times the number of MaxScale replicas. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "syncMaxConnections")] + pub sync_max_connections: Option, /// SyncPasswordSecretKeyRef is Secret key reference to the password used by MaxScale config to connect to MariaDB server. It is defaulted when HA is enabled. #[serde(default, skip_serializing_if = "Option::is_none", rename = "syncPasswordSecretKeyRef")] pub sync_password_secret_key_ref: Option, @@ -4372,6 +4390,72 @@ pub struct MariaDBMaxScaleConfigVolumeClaimTemplateSelectorMatchExpressions { pub values: Option>, } +/// Connection provides a template to define the Connection for MaxScale. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct MariaDBMaxScaleConnection { + /// HealthCheck to be used in the Connection. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "healthCheck")] + pub health_check: Option, + /// Params to be used in the Connection. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub params: Option>, + /// Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub port: Option, + /// SecretName to be used in the Connection. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] + pub secret_name: Option, + /// SecretTemplate to be used in the Connection. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretTemplate")] + pub secret_template: Option, + /// ServiceName to be used in the Connection. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceName")] + pub service_name: Option, +} + +/// HealthCheck to be used in the Connection. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct MariaDBMaxScaleConnectionHealthCheck { + /// Interval used to perform health checks. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub interval: Option, + /// RetryInterval is the intervañ used to perform health check retries. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "retryInterval")] + pub retry_interval: Option, +} + +/// SecretTemplate to be used in the Connection. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct MariaDBMaxScaleConnectionSecretTemplate { + /// Annotations to be added to the Secret object. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub annotations: Option>, + /// DatabaseKey to be used in the Secret. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "databaseKey")] + pub database_key: Option, + /// Format to be used in the Secret. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub format: Option, + /// HostKey to be used in the Secret. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "hostKey")] + pub host_key: Option, + /// Key to be used in the Secret. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub key: Option, + /// Labels to be added to the Secret object. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub labels: Option>, + /// PasswordKey to be used in the Secret. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "passwordKey")] + pub password_key: Option, + /// PortKey to be used in the Secret. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "portKey")] + pub port_key: Option, + /// UsernameKey to be used in the Secret. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "usernameKey")] + pub username_key: Option, +} + /// EnvVar represents an environment variable present in a Container. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct MariaDBMaxScaleEnv { @@ -7793,6 +7877,9 @@ pub struct MariaDBPrimaryConnection { /// Params to be used in the Connection. #[serde(default, skip_serializing_if = "Option::is_none")] pub params: Option>, + /// Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub port: Option, /// SecretName to be used in the Connection. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] pub secret_name: Option, @@ -8103,6 +8190,9 @@ pub struct MariaDBSecondaryConnection { /// Params to be used in the Connection. #[serde(default, skip_serializing_if = "Option::is_none")] pub params: Option>, + /// Port to connect to. If not provided, it defaults to the MariaDB port or to the first MaxScale listener. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub port: Option, /// SecretName to be used in the Connection. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] pub secret_name: Option, diff --git a/kube-custom-resources-rs/src/mariadb_mmontes_io/v1alpha1/users.rs b/kube-custom-resources-rs/src/mariadb_mmontes_io/v1alpha1/users.rs index 5dced266f..45ca0e152 100644 --- a/kube-custom-resources-rs/src/mariadb_mmontes_io/v1alpha1/users.rs +++ b/kube-custom-resources-rs/src/mariadb_mmontes_io/v1alpha1/users.rs @@ -18,7 +18,7 @@ pub struct UserSpec { /// MariaDBRef is a reference to a MariaDB object. #[serde(rename = "mariaDbRef")] pub maria_db_ref: UserMariaDbRef, - /// MaxUserConnections defines the maximum number of connections that the User can have. + /// MaxUserConnections defines the maximum number of connections that the User can establish. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxUserConnections")] pub max_user_connections: Option, /// Name overrides the default name provided by metadata.name. diff --git a/kube-custom-resources-rs/src/metacontroller_k8s_io/v1alpha1/controllerrevisions.rs b/kube-custom-resources-rs/src/metacontroller_k8s_io/v1alpha1/controllerrevisions.rs index 5f79bcabb..66e6c9811 100644 --- a/kube-custom-resources-rs/src/metacontroller_k8s_io/v1alpha1/controllerrevisions.rs +++ b/kube-custom-resources-rs/src/metacontroller_k8s_io/v1alpha1/controllerrevisions.rs @@ -2,9 +2,9 @@ // kopium command: kopium --docs --filename=./crd-catalog/metacontroller/metacontroller/metacontroller.k8s.io/v1alpha1/controllerrevisions.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; - +use std::collections::BTreeMap; #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct ControllerRevisionChildren { diff --git a/kube-custom-resources-rs/src/multicluster_crd_antrea_io/v1alpha1/gateways.rs b/kube-custom-resources-rs/src/multicluster_crd_antrea_io/v1alpha1/gateways.rs index e8552d382..83263cc2e 100644 --- a/kube-custom-resources-rs/src/multicluster_crd_antrea_io/v1alpha1/gateways.rs +++ b/kube-custom-resources-rs/src/multicluster_crd_antrea_io/v1alpha1/gateways.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/antrea-io/antrea/multicluster.crd.antrea.io/v1alpha1/gateways.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// WireGuardInfo includes information of a WireGuard tunnel. diff --git a/kube-custom-resources-rs/src/multicluster_crd_antrea_io/v1alpha1/memberclusterannounces.rs b/kube-custom-resources-rs/src/multicluster_crd_antrea_io/v1alpha1/memberclusterannounces.rs index 0a4c9bd3c..cf5bd6938 100644 --- a/kube-custom-resources-rs/src/multicluster_crd_antrea_io/v1alpha1/memberclusterannounces.rs +++ b/kube-custom-resources-rs/src/multicluster_crd_antrea_io/v1alpha1/memberclusterannounces.rs @@ -2,6 +2,6 @@ // kopium command: kopium --docs --filename=./crd-catalog/antrea-io/antrea/multicluster.crd.antrea.io/v1alpha1/memberclusterannounces.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - - +use kube::CustomResource; +use serde::{Serialize, Deserialize}; diff --git a/kube-custom-resources-rs/src/multicluster_crd_antrea_io/v1alpha2/clusterclaims.rs b/kube-custom-resources-rs/src/multicluster_crd_antrea_io/v1alpha2/clusterclaims.rs index ffb7680ac..b025ded94 100644 --- a/kube-custom-resources-rs/src/multicluster_crd_antrea_io/v1alpha2/clusterclaims.rs +++ b/kube-custom-resources-rs/src/multicluster_crd_antrea_io/v1alpha2/clusterclaims.rs @@ -2,6 +2,6 @@ // kopium command: kopium --docs --filename=./crd-catalog/antrea-io/antrea/multicluster.crd.antrea.io/v1alpha2/clusterclaims.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - - +use kube::CustomResource; +use serde::{Serialize, Deserialize}; diff --git a/kube-custom-resources-rs/src/multicluster_x_k8s_io/v1alpha1/serviceexports.rs b/kube-custom-resources-rs/src/multicluster_x_k8s_io/v1alpha1/serviceexports.rs index 86a8f21d8..a9d1020f4 100644 --- a/kube-custom-resources-rs/src/multicluster_x_k8s_io/v1alpha1/serviceexports.rs +++ b/kube-custom-resources-rs/src/multicluster_x_k8s_io/v1alpha1/serviceexports.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/kubernetes-sigs/mcs-api/multicluster.x-k8s.io/v1alpha1/serviceexports.yaml --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// status describes the current state of an exported service. Service configuration comes from the Service that had the same name and namespace as this ServiceExport. Populated by the multi-cluster service implementation's controller. diff --git a/kube-custom-resources-rs/src/netchecks_io/v1/networkassertions.rs b/kube-custom-resources-rs/src/netchecks_io/v1/networkassertions.rs index 37407cbbd..4583b1be8 100644 --- a/kube-custom-resources-rs/src/netchecks_io/v1/networkassertions.rs +++ b/kube-custom-resources-rs/src/netchecks_io/v1/networkassertions.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/hardbyte/netchecks/netchecks.io/v1/networkassertions.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - - - +use kube::CustomResource; +use serde::{Serialize, Deserialize}; +use std::collections::BTreeMap; diff --git a/kube-custom-resources-rs/src/network_openshift_io/v1/clusternetworks.rs b/kube-custom-resources-rs/src/network_openshift_io/v1/clusternetworks.rs index 4c157a39f..6bfc57df5 100644 --- a/kube-custom-resources-rs/src/network_openshift_io/v1/clusternetworks.rs +++ b/kube-custom-resources-rs/src/network_openshift_io/v1/clusternetworks.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/openshift/api/network.openshift.io/v1/clusternetworks.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// ClusterNetworkEntry defines an individual cluster network. The CIDRs cannot overlap with other cluster network CIDRs, CIDRs reserved for external ips, CIDRs reserved for service networks, and CIDRs reserved for ingress ips. diff --git a/kube-custom-resources-rs/src/network_openshift_io/v1/hostsubnets.rs b/kube-custom-resources-rs/src/network_openshift_io/v1/hostsubnets.rs index 413b44635..4c0225d4c 100644 --- a/kube-custom-resources-rs/src/network_openshift_io/v1/hostsubnets.rs +++ b/kube-custom-resources-rs/src/network_openshift_io/v1/hostsubnets.rs @@ -2,6 +2,6 @@ // kopium command: kopium --docs --filename=./crd-catalog/openshift/api/network.openshift.io/v1/hostsubnets.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - - +use kube::CustomResource; +use serde::{Serialize, Deserialize}; diff --git a/kube-custom-resources-rs/src/network_openshift_io/v1/netnamespaces.rs b/kube-custom-resources-rs/src/network_openshift_io/v1/netnamespaces.rs index 5736ed923..de1d33624 100644 --- a/kube-custom-resources-rs/src/network_openshift_io/v1/netnamespaces.rs +++ b/kube-custom-resources-rs/src/network_openshift_io/v1/netnamespaces.rs @@ -2,6 +2,6 @@ // kopium command: kopium --docs --filename=./crd-catalog/openshift/api/network.openshift.io/v1/netnamespaces.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - - +use kube::CustomResource; +use serde::{Serialize, Deserialize}; diff --git a/kube-custom-resources-rs/src/operator_authorino_kuadrant_io/v1beta1/authorinos.rs b/kube-custom-resources-rs/src/operator_authorino_kuadrant_io/v1beta1/authorinos.rs index 21d1b690d..490ffc203 100644 --- a/kube-custom-resources-rs/src/operator_authorino_kuadrant_io/v1beta1/authorinos.rs +++ b/kube-custom-resources-rs/src/operator_authorino_kuadrant_io/v1beta1/authorinos.rs @@ -135,6 +135,8 @@ pub struct AuthorinoOidcServerTlsCertSecretRef { pub struct AuthorinoTracing { pub endpoint: String, #[serde(default, skip_serializing_if = "Option::is_none")] + pub insecure: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] pub tags: Option>, } diff --git a/kube-custom-resources-rs/src/pkg_crossplane_io/v1beta1/locks.rs b/kube-custom-resources-rs/src/pkg_crossplane_io/v1beta1/locks.rs index fd1ededbe..632b3af1e 100644 --- a/kube-custom-resources-rs/src/pkg_crossplane_io/v1beta1/locks.rs +++ b/kube-custom-resources-rs/src/pkg_crossplane_io/v1beta1/locks.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/crossplane/crossplane/pkg.crossplane.io/v1beta1/locks.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// LockPackage is a package that is in the lock. diff --git a/kube-custom-resources-rs/src/rbacmanager_reactiveops_io/v1beta1/rbacdefinitions.rs b/kube-custom-resources-rs/src/rbacmanager_reactiveops_io/v1beta1/rbacdefinitions.rs index 43d485c2d..d7887b7a3 100644 --- a/kube-custom-resources-rs/src/rbacmanager_reactiveops_io/v1beta1/rbacdefinitions.rs +++ b/kube-custom-resources-rs/src/rbacmanager_reactiveops_io/v1beta1/rbacdefinitions.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/FairwindsOps/rbac-manager/rbacmanager.reactiveops.io/v1beta1/rbacdefinitions.yaml --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; diff --git a/kube-custom-resources-rs/src/rocketmq_apache_org/v1alpha1/nameservices.rs b/kube-custom-resources-rs/src/rocketmq_apache_org/v1alpha1/nameservices.rs index 417191b2a..6c8b5f677 100644 --- a/kube-custom-resources-rs/src/rocketmq_apache_org/v1alpha1/nameservices.rs +++ b/kube-custom-resources-rs/src/rocketmq_apache_org/v1alpha1/nameservices.rs @@ -23,6 +23,9 @@ pub struct NameServiceSpec { /// dnsPolicy defines how a pod's DNS will be configured #[serde(rename = "dnsPolicy")] pub dns_policy: String, + /// Env defines custom env, e.g. JAVA_OPT_EXT + #[serde(default, skip_serializing_if = "Option::is_none")] + pub env: Option>, /// HostNetwork can be true or false #[serde(rename = "hostNetwork")] pub host_network: bool, @@ -566,6 +569,86 @@ pub struct NameServiceContainerSecurityContextWindowsOptions { pub run_as_user_name: Option, } +/// EnvVar represents an environment variable present in a Container. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct NameServiceEnv { + /// 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 "". + #[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. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")] + 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 NameServiceEnvValueFrom { + /// 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. + #[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. + #[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 + #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")] + pub secret_key_ref: Option, +} + +/// Selects a key of a ConfigMap. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct NameServiceEnvValueFromConfigMapKeyRef { + /// 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? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Specify whether the ConfigMap or its key must be defined + #[serde(default, skip_serializing_if = "Option::is_none")] + 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. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct NameServiceEnvValueFromFieldRef { + /// 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, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct NameServiceEnvValueFromResourceFieldRef { + /// 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, +} + +/// Selects a key of a secret in the pod's namespace +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct NameServiceEnvValueFromSecretKeyRef { + /// 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? + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Specify whether the Secret or its key must be defined + #[serde(default, skip_serializing_if = "Option::is_none")] + pub optional: 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 NameServiceImagePullSecrets { diff --git a/kube-custom-resources-rs/src/samples_operator_openshift_io/v1/configs.rs b/kube-custom-resources-rs/src/samples_operator_openshift_io/v1/configs.rs index 9084a5e01..8a2dace53 100644 --- a/kube-custom-resources-rs/src/samples_operator_openshift_io/v1/configs.rs +++ b/kube-custom-resources-rs/src/samples_operator_openshift_io/v1/configs.rs @@ -20,6 +20,9 @@ pub struct ConfigSpec { /// samplesRegistry allows for the specification of which registry is accessed by the ImageStreams for their image content. Defaults on the content in https://github.com/openshift/library that are pulled into this github repository, but based on our pulling only ocp content it typically defaults to registry.redhat.io. #[serde(default, skip_serializing_if = "Option::is_none", rename = "samplesRegistry")] pub samples_registry: Option, + /// skippedHelmCharts specifies names of helm charts that should NOT be managed. Admins can use this to allow them to delete content they don’t want. They will still have to MANUALLY DELETE the content but the operator will not recreate(or update) anything listed here. Few examples of the name of helmcharts which can be skipped are 'redhat-redhat-perl-imagestreams','redhat-redhat-nodejs-imagestreams','redhat-nginx-imagestreams', 'redhat-redhat-ruby-imagestreams','redhat-redhat-python-imagestreams','redhat-redhat-php-imagestreams', 'redhat-httpd-imagestreams','redhat-redhat-dotnet-imagestreams'. Rest of the names can be obtained from openshift console --> helmcharts -->installed helmcharts. This will display the list of all the 12 helmcharts(of imagestreams)being installed by Samples Operator. The skippedHelmCharts must be a valid Kubernetes resource name. May contain only lowercase alphanumeric characters, hyphens and periods, and each period separated segment must begin and end with an alphanumeric character. It must be non-empty and at most 253 characters in length + #[serde(default, skip_serializing_if = "Option::is_none", rename = "skippedHelmCharts")] + pub skipped_helm_charts: Option>, /// skippedImagestreams specifies names of image streams that should NOT be created/updated. Admins can use this to allow them to delete content they don’t want. They will still have to manually delete the content but the operator will not recreate(or update) anything listed here. #[serde(default, skip_serializing_if = "Option::is_none", rename = "skippedImagestreams")] pub skipped_imagestreams: Option>, diff --git a/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/hcpvaultsecretsapps.rs b/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/hcpvaultsecretsapps.rs index 91b538b34..b7dd8696b 100644 --- a/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/hcpvaultsecretsapps.rs +++ b/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/hcpvaultsecretsapps.rs @@ -44,11 +44,76 @@ pub struct HCPVaultSecretsAppDestination { pub name: String, /// Overwrite the destination Secret if it exists and Create is true. This is useful when migrating to VSO from a previous secret deployment strategy. pub overwrite: bool, + /// Transformation provides configuration for transforming the secret data before it is stored in the Destination. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub transformation: Option, /// Type of Kubernetes Secret. Requires Create to be set to true. Defaults to Opaque. #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] pub r#type: Option, } +/// Transformation provides configuration for transforming the secret data before it is stored in the Destination. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct HCPVaultSecretsAppDestinationTransformation { + /// ExcludeRaw data from the destination Secret. Exclusion policy can be set globally by including 'exclude-raw` in the '--global-transformation-options' command line flag. If set, the command line flag always takes precedence over this configuration. + #[serde(rename = "excludeRaw")] + pub exclude_raw: bool, + /// Excludes contains regex patterns used to filter top-level source secret data fields for exclusion from the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied before any inclusion patterns. To exclude all source secret data fields, you can configure the single pattern ".*". + #[serde(default, skip_serializing_if = "Option::is_none")] + pub excludes: Option>, + /// Includes contains regex patterns used to filter top-level source secret data fields for inclusion in the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied last. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub includes: Option>, + /// Resync the Secret on updates to any configured TransformationRefs. + pub resync: bool, + /// Templates maps a template name to its Template. Templates are always included in the rendered K8s Secret, and take precedence over templates defined in a SecretTransformation. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub templates: Option>, + /// TransformationRefs contain references to template configuration from SecretTransformation. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "transformationRefs")] + pub transformation_refs: Option>, +} + +/// Templates maps a template name to its Template. Templates are always included in the rendered K8s Secret, and take precedence over templates defined in a SecretTransformation. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct HCPVaultSecretsAppDestinationTransformationTemplates { + /// Name of the Template + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Text contains the Go text template format. The template references attributes from the data structure of the source secret. Refer to https://pkg.go.dev/text/template for more information. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub text: Option, +} + +/// TransformationRef contains the configuration for accessing templates from an SecretTransformation resource. TransformationRefs can be shared across all syncable secret custom resources. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct HCPVaultSecretsAppDestinationTransformationTransformationRefs { + /// IgnoreExcludes controls whether to use the SecretTransformation's Excludes data key filters. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "ignoreExcludes")] + pub ignore_excludes: Option, + /// IgnoreIncludes controls whether to use the SecretTransformation's Includes data key filters. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "ignoreIncludes")] + pub ignore_includes: Option, + /// Name of the SecretTransformation resource. + pub name: String, + /// Namespace of the SecretTransformation resource. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub namespace: Option, + /// TemplateRefs map to a Template found in this TransformationRef. If empty, then all templates from the SecretTransformation will be rendered to the K8s Secret. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "templateRefs")] + pub template_refs: Option>, +} + +/// TemplateRef points to templating text that is stored in a SecretTransformation custom resource. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct HCPVaultSecretsAppDestinationTransformationTransformationRefsTemplateRefs { + /// KeyOverride to the rendered template in the Destination secret. If Key is empty, then the Key from reference spec will be used. Set this to override the Key set from the reference spec. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "keyOverride")] + pub key_override: Option, + /// Name of the Template in SecretTransformationSpec.Templates. the rendered secret data. + pub name: String, +} + /// RolloutRestartTarget provides the configuration required to perform a rollout-restart of the supported resources upon Vault Secret rotation. The rollout-restart is triggered by patching the target resource's 'spec.template.metadata.annotations' to include 'vso.secrets.hashicorp.com/restartedAt' with a timestamp value of when the trigger was executed. E.g. vso.secrets.hashicorp.com/restartedAt: "2023-03-23T13:39:31Z" /// Supported resources: Deployment, DaemonSet, StatefulSet #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] diff --git a/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/vaultdynamicsecrets.rs b/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/vaultdynamicsecrets.rs index 0c9937669..b6c336d85 100644 --- a/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/vaultdynamicsecrets.rs +++ b/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/vaultdynamicsecrets.rs @@ -60,11 +60,76 @@ pub struct VaultDynamicSecretDestination { pub name: String, /// Overwrite the destination Secret if it exists and Create is true. This is useful when migrating to VSO from a previous secret deployment strategy. pub overwrite: bool, + /// Transformation provides configuration for transforming the secret data before it is stored in the Destination. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub transformation: Option, /// Type of Kubernetes Secret. Requires Create to be set to true. Defaults to Opaque. #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] pub r#type: Option, } +/// Transformation provides configuration for transforming the secret data before it is stored in the Destination. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct VaultDynamicSecretDestinationTransformation { + /// ExcludeRaw data from the destination Secret. Exclusion policy can be set globally by including 'exclude-raw` in the '--global-transformation-options' command line flag. If set, the command line flag always takes precedence over this configuration. + #[serde(rename = "excludeRaw")] + pub exclude_raw: bool, + /// Excludes contains regex patterns used to filter top-level source secret data fields for exclusion from the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied before any inclusion patterns. To exclude all source secret data fields, you can configure the single pattern ".*". + #[serde(default, skip_serializing_if = "Option::is_none")] + pub excludes: Option>, + /// Includes contains regex patterns used to filter top-level source secret data fields for inclusion in the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied last. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub includes: Option>, + /// Resync the Secret on updates to any configured TransformationRefs. + pub resync: bool, + /// Templates maps a template name to its Template. Templates are always included in the rendered K8s Secret, and take precedence over templates defined in a SecretTransformation. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub templates: Option>, + /// TransformationRefs contain references to template configuration from SecretTransformation. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "transformationRefs")] + pub transformation_refs: Option>, +} + +/// Templates maps a template name to its Template. Templates are always included in the rendered K8s Secret, and take precedence over templates defined in a SecretTransformation. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct VaultDynamicSecretDestinationTransformationTemplates { + /// Name of the Template + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Text contains the Go text template format. The template references attributes from the data structure of the source secret. Refer to https://pkg.go.dev/text/template for more information. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub text: Option, +} + +/// TransformationRef contains the configuration for accessing templates from an SecretTransformation resource. TransformationRefs can be shared across all syncable secret custom resources. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct VaultDynamicSecretDestinationTransformationTransformationRefs { + /// IgnoreExcludes controls whether to use the SecretTransformation's Excludes data key filters. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "ignoreExcludes")] + pub ignore_excludes: Option, + /// IgnoreIncludes controls whether to use the SecretTransformation's Includes data key filters. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "ignoreIncludes")] + pub ignore_includes: Option, + /// Name of the SecretTransformation resource. + pub name: String, + /// Namespace of the SecretTransformation resource. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub namespace: Option, + /// TemplateRefs map to a Template found in this TransformationRef. If empty, then all templates from the SecretTransformation will be rendered to the K8s Secret. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "templateRefs")] + pub template_refs: Option>, +} + +/// TemplateRef points to templating text that is stored in a SecretTransformation custom resource. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct VaultDynamicSecretDestinationTransformationTransformationRefsTemplateRefs { + /// KeyOverride to the rendered template in the Destination secret. If Key is empty, then the Key from reference spec will be used. Set this to override the Key set from the reference spec. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "keyOverride")] + pub key_override: Option, + /// Name of the Template in SecretTransformationSpec.Templates. the rendered secret data. + pub name: String, +} + /// VaultDynamicSecretSpec defines the desired state of VaultDynamicSecret #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum VaultDynamicSecretRequestHttpMethod { diff --git a/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/vaultpkisecrets.rs b/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/vaultpkisecrets.rs index a7e9e90da..022c57f2a 100644 --- a/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/vaultpkisecrets.rs +++ b/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/vaultpkisecrets.rs @@ -87,11 +87,76 @@ pub struct VaultPKISecretDestination { pub name: String, /// Overwrite the destination Secret if it exists and Create is true. This is useful when migrating to VSO from a previous secret deployment strategy. pub overwrite: bool, + /// Transformation provides configuration for transforming the secret data before it is stored in the Destination. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub transformation: Option, /// Type of Kubernetes Secret. Requires Create to be set to true. Defaults to Opaque. #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] pub r#type: Option, } +/// Transformation provides configuration for transforming the secret data before it is stored in the Destination. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct VaultPKISecretDestinationTransformation { + /// ExcludeRaw data from the destination Secret. Exclusion policy can be set globally by including 'exclude-raw` in the '--global-transformation-options' command line flag. If set, the command line flag always takes precedence over this configuration. + #[serde(rename = "excludeRaw")] + pub exclude_raw: bool, + /// Excludes contains regex patterns used to filter top-level source secret data fields for exclusion from the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied before any inclusion patterns. To exclude all source secret data fields, you can configure the single pattern ".*". + #[serde(default, skip_serializing_if = "Option::is_none")] + pub excludes: Option>, + /// Includes contains regex patterns used to filter top-level source secret data fields for inclusion in the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied last. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub includes: Option>, + /// Resync the Secret on updates to any configured TransformationRefs. + pub resync: bool, + /// Templates maps a template name to its Template. Templates are always included in the rendered K8s Secret, and take precedence over templates defined in a SecretTransformation. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub templates: Option>, + /// TransformationRefs contain references to template configuration from SecretTransformation. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "transformationRefs")] + pub transformation_refs: Option>, +} + +/// Templates maps a template name to its Template. Templates are always included in the rendered K8s Secret, and take precedence over templates defined in a SecretTransformation. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct VaultPKISecretDestinationTransformationTemplates { + /// Name of the Template + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Text contains the Go text template format. The template references attributes from the data structure of the source secret. Refer to https://pkg.go.dev/text/template for more information. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub text: Option, +} + +/// TransformationRef contains the configuration for accessing templates from an SecretTransformation resource. TransformationRefs can be shared across all syncable secret custom resources. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct VaultPKISecretDestinationTransformationTransformationRefs { + /// IgnoreExcludes controls whether to use the SecretTransformation's Excludes data key filters. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "ignoreExcludes")] + pub ignore_excludes: Option, + /// IgnoreIncludes controls whether to use the SecretTransformation's Includes data key filters. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "ignoreIncludes")] + pub ignore_includes: Option, + /// Name of the SecretTransformation resource. + pub name: String, + /// Namespace of the SecretTransformation resource. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub namespace: Option, + /// TemplateRefs map to a Template found in this TransformationRef. If empty, then all templates from the SecretTransformation will be rendered to the K8s Secret. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "templateRefs")] + pub template_refs: Option>, +} + +/// TemplateRef points to templating text that is stored in a SecretTransformation custom resource. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct VaultPKISecretDestinationTransformationTransformationRefsTemplateRefs { + /// KeyOverride to the rendered template in the Destination secret. If Key is empty, then the Key from reference spec will be used. Set this to override the Key set from the reference spec. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "keyOverride")] + pub key_override: Option, + /// Name of the Template in SecretTransformationSpec.Templates. the rendered secret data. + pub name: String, +} + /// RolloutRestartTarget provides the configuration required to perform a rollout-restart of the supported resources upon Vault Secret rotation. The rollout-restart is triggered by patching the target resource's 'spec.template.metadata.annotations' to include 'vso.secrets.hashicorp.com/restartedAt' with a timestamp value of when the trigger was executed. E.g. vso.secrets.hashicorp.com/restartedAt: "2023-03-23T13:39:31Z" /// Supported resources: Deployment, DaemonSet, StatefulSet #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] diff --git a/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/vaultstaticsecrets.rs b/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/vaultstaticsecrets.rs index b60d24c10..93f58122b 100644 --- a/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/vaultstaticsecrets.rs +++ b/kube-custom-resources-rs/src/secrets_hashicorp_com/v1beta1/vaultstaticsecrets.rs @@ -57,11 +57,76 @@ pub struct VaultStaticSecretDestination { pub name: String, /// Overwrite the destination Secret if it exists and Create is true. This is useful when migrating to VSO from a previous secret deployment strategy. pub overwrite: bool, + /// Transformation provides configuration for transforming the secret data before it is stored in the Destination. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub transformation: Option, /// Type of Kubernetes Secret. Requires Create to be set to true. Defaults to Opaque. #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")] pub r#type: Option, } +/// Transformation provides configuration for transforming the secret data before it is stored in the Destination. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct VaultStaticSecretDestinationTransformation { + /// ExcludeRaw data from the destination Secret. Exclusion policy can be set globally by including 'exclude-raw` in the '--global-transformation-options' command line flag. If set, the command line flag always takes precedence over this configuration. + #[serde(rename = "excludeRaw")] + pub exclude_raw: bool, + /// Excludes contains regex patterns used to filter top-level source secret data fields for exclusion from the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied before any inclusion patterns. To exclude all source secret data fields, you can configure the single pattern ".*". + #[serde(default, skip_serializing_if = "Option::is_none")] + pub excludes: Option>, + /// Includes contains regex patterns used to filter top-level source secret data fields for inclusion in the final K8s Secret data. These pattern filters are never applied to templated fields as defined in Templates. They are always applied last. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub includes: Option>, + /// Resync the Secret on updates to any configured TransformationRefs. + pub resync: bool, + /// Templates maps a template name to its Template. Templates are always included in the rendered K8s Secret, and take precedence over templates defined in a SecretTransformation. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub templates: Option>, + /// TransformationRefs contain references to template configuration from SecretTransformation. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "transformationRefs")] + pub transformation_refs: Option>, +} + +/// Templates maps a template name to its Template. Templates are always included in the rendered K8s Secret, and take precedence over templates defined in a SecretTransformation. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct VaultStaticSecretDestinationTransformationTemplates { + /// Name of the Template + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// Text contains the Go text template format. The template references attributes from the data structure of the source secret. Refer to https://pkg.go.dev/text/template for more information. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub text: Option, +} + +/// TransformationRef contains the configuration for accessing templates from an SecretTransformation resource. TransformationRefs can be shared across all syncable secret custom resources. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct VaultStaticSecretDestinationTransformationTransformationRefs { + /// IgnoreExcludes controls whether to use the SecretTransformation's Excludes data key filters. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "ignoreExcludes")] + pub ignore_excludes: Option, + /// IgnoreIncludes controls whether to use the SecretTransformation's Includes data key filters. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "ignoreIncludes")] + pub ignore_includes: Option, + /// Name of the SecretTransformation resource. + pub name: String, + /// Namespace of the SecretTransformation resource. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub namespace: Option, + /// TemplateRefs map to a Template found in this TransformationRef. If empty, then all templates from the SecretTransformation will be rendered to the K8s Secret. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "templateRefs")] + pub template_refs: Option>, +} + +/// TemplateRef points to templating text that is stored in a SecretTransformation custom resource. +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] +pub struct VaultStaticSecretDestinationTransformationTransformationRefsTemplateRefs { + /// KeyOverride to the rendered template in the Destination secret. If Key is empty, then the Key from reference spec will be used. Set this to override the Key set from the reference spec. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "keyOverride")] + pub key_override: Option, + /// Name of the Template in SecretTransformationSpec.Templates. the rendered secret data. + pub name: String, +} + /// RolloutRestartTarget provides the configuration required to perform a rollout-restart of the supported resources upon Vault Secret rotation. The rollout-restart is triggered by patching the target resource's 'spec.template.metadata.annotations' to include 'vso.secrets.hashicorp.com/restartedAt' with a timestamp value of when the trigger was executed. E.g. vso.secrets.hashicorp.com/restartedAt: "2023-03-23T13:39:31Z" /// Supported resources: Deployment, DaemonSet, StatefulSet #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] diff --git a/kube-custom-resources-rs/src/security_internal_openshift_io/v1/rangeallocations.rs b/kube-custom-resources-rs/src/security_internal_openshift_io/v1/rangeallocations.rs index 8c51351e1..37b8844a7 100644 --- a/kube-custom-resources-rs/src/security_internal_openshift_io/v1/rangeallocations.rs +++ b/kube-custom-resources-rs/src/security_internal_openshift_io/v1/rangeallocations.rs @@ -2,6 +2,6 @@ // kopium command: kopium --docs --filename=./crd-catalog/openshift/api/security.internal.openshift.io/v1/rangeallocations.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - - +use kube::CustomResource; +use serde::{Serialize, Deserialize}; diff --git a/kube-custom-resources-rs/src/security_openshift_io/v1/securitycontextconstraints.rs b/kube-custom-resources-rs/src/security_openshift_io/v1/securitycontextconstraints.rs index 7a7be53b5..e1b8e8777 100644 --- a/kube-custom-resources-rs/src/security_openshift_io/v1/securitycontextconstraints.rs +++ b/kube-custom-resources-rs/src/security_openshift_io/v1/securitycontextconstraints.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/openshift/api/security.openshift.io/v1/securitycontextconstraints.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// AllowedFlexVolume represents a single Flexvolume that is allowed to be used. diff --git a/kube-custom-resources-rs/src/services_k8s_aws/v1alpha1/adoptedresources.rs b/kube-custom-resources-rs/src/services_k8s_aws/v1alpha1/adoptedresources.rs index d636b48f2..3636c313a 100644 --- a/kube-custom-resources-rs/src/services_k8s_aws/v1alpha1/adoptedresources.rs +++ b/kube-custom-resources-rs/src/services_k8s_aws/v1alpha1/adoptedresources.rs @@ -15,92 +15,167 @@ use std::collections::BTreeMap; pub struct AdoptedResourceSpec { /// AWSIdentifiers provide all unique ways to reference an AWS resource. pub aws: AdoptedResourceAws, - /// ResourceWithMetadata provides the values necessary to create a Kubernetes resource and override any of its metadata values. + /// ResourceWithMetadata provides the values necessary to create a + /// Kubernetes resource and override any of its metadata values. pub kubernetes: AdoptedResourceKubernetes, } /// AWSIdentifiers provide all unique ways to reference an AWS resource. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AdoptedResourceAws { - /// AdditionalKeys represents any additional arbitrary identifiers used when describing the target resource. + /// AdditionalKeys represents any additional arbitrary identifiers used when + /// describing the target resource. #[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalKeys")] pub additional_keys: Option>, - /// ARN is the AWS Resource Name for the resource. It is a globally unique identifier. + /// ARN is the AWS Resource Name for the resource. It is a globally + /// unique identifier. #[serde(default, skip_serializing_if = "Option::is_none")] pub arn: Option, - /// NameOrId is a user-supplied string identifier for the resource. It may or may not be globally unique, depending on the type of resource. + /// NameOrId is a user-supplied string identifier for the resource. It may + /// or may not be globally unique, depending on the type of resource. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nameOrID")] pub name_or_id: Option, } -/// ResourceWithMetadata provides the values necessary to create a Kubernetes resource and override any of its metadata values. +/// ResourceWithMetadata provides the values necessary to create a +/// Kubernetes resource and override any of its metadata values. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AdoptedResourceKubernetes { pub group: String, pub kind: String, - /// ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. It is not possible to use `metav1.ObjectMeta` inside spec, as the controller-gen automatically converts this to an arbitrary string-string map. https://github.com/kubernetes-sigs/controller-tools/issues/385 - /// Active discussion about inclusion of this field in the spec is happening in this PR: https://github.com/kubernetes-sigs/controller-tools/pull/395 - /// Until this is allowed, or if it never is, we will produce a subset of the object meta that contains only the fields which the user is allowed to modify in the metadata. + /// ObjectMeta is metadata that all persisted resources must have, which includes all objects + /// users must create. + /// It is not possible to use `metav1.ObjectMeta` inside spec, as the controller-gen + /// automatically converts this to an arbitrary string-string map. + /// https://github.com/kubernetes-sigs/controller-tools/issues/385 + /// + /// + /// Active discussion about inclusion of this field in the spec is happening in this PR: + /// https://github.com/kubernetes-sigs/controller-tools/pull/395 + /// + /// + /// Until this is allowed, or if it never is, we will produce a subset of the object meta + /// that contains only the fields which the user is allowed to modify in the metadata. #[serde(default, skip_serializing_if = "Option::is_none")] pub metadata: Option, } -/// ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. It is not possible to use `metav1.ObjectMeta` inside spec, as the controller-gen automatically converts this to an arbitrary string-string map. https://github.com/kubernetes-sigs/controller-tools/issues/385 -/// Active discussion about inclusion of this field in the spec is happening in this PR: https://github.com/kubernetes-sigs/controller-tools/pull/395 -/// Until this is allowed, or if it never is, we will produce a subset of the object meta that contains only the fields which the user is allowed to modify in the metadata. +/// ObjectMeta is metadata that all persisted resources must have, which includes all objects +/// users must create. +/// It is not possible to use `metav1.ObjectMeta` inside spec, as the controller-gen +/// automatically converts this to an arbitrary string-string map. +/// https://github.com/kubernetes-sigs/controller-tools/issues/385 +/// +/// +/// Active discussion about inclusion of this field in the spec is happening in this PR: +/// https://github.com/kubernetes-sigs/controller-tools/pull/395 +/// +/// +/// Until this is allowed, or if it never is, we will produce a subset of the object meta +/// that contains only the fields which the user is allowed to modify in the metadata. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AdoptedResourceKubernetesMetadata { - /// Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations + /// Annotations is an unstructured key value map stored with a resource that may be + /// set by external tools to store and retrieve arbitrary metadata. They are not + /// queryable and should be preserved when modifying objects. + /// More info: http://kubernetes.io/docs/user-guide/annotations #[serde(default, skip_serializing_if = "Option::is_none")] pub annotations: Option>, - /// GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - /// If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - /// Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency + /// GenerateName is an optional prefix, used by the server, to generate a unique + /// name ONLY IF the Name field has not been provided. + /// If this field is used, the name returned to the client will be different + /// than the name passed. This value will also be combined with a unique suffix. + /// The provided value has the same validation rules as the Name field, + /// and may be truncated by the length of the suffix required to make the value + /// unique on the server. + /// + /// + /// If this field is specified and the generated name exists, the server will + /// NOT return a 409 - instead, it will either return 201 Created or 500 with Reason + /// ServerTimeout indicating a unique name could not be found in the time allotted, and the client + /// should retry (optionally after the time indicated in the Retry-After header). + /// + /// + /// Applied only if Name is not specified. + /// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency #[serde(default, skip_serializing_if = "Option::is_none", rename = "generateName")] pub generate_name: Option, - /// Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels + /// Map of string keys and values that can be used to organize and categorize + /// (scope and select) objects. May match selectors of replication controllers + /// and services. + /// More info: http://kubernetes.io/docs/user-guide/labels #[serde(default, skip_serializing_if = "Option::is_none")] pub labels: Option>, - /// Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names + /// Name must be unique within a namespace. Is required when creating resources, although + /// some resources may allow a client to request the generation of an appropriate name + /// automatically. Name is primarily intended for creation idempotence and configuration + /// definition. + /// Cannot be updated. + /// More info: http://kubernetes.io/docs/user-guide/identifiers#names #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, - /// Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - /// Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces + /// Namespace defines the space within each name must be unique. An empty namespace is + /// equivalent to the "default" namespace, but "default" is the canonical representation. + /// Not all objects are required to be scoped to a namespace - the value of this field for + /// those objects will be empty. + /// + /// + /// Must be a DNS_LABEL. + /// Cannot be updated. + /// More info: http://kubernetes.io/docs/user-guide/namespaces #[serde(default, skip_serializing_if = "Option::is_none")] pub namespace: Option, - /// List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller. + /// List of objects depended by this object. If ALL objects in the list have + /// been deleted, this object will be garbage collected. If this object is managed by a controller, + /// then an entry in this list will point to this controller, with the controller field set to true. + /// There cannot be more than one managing controller. #[serde(default, skip_serializing_if = "Option::is_none", rename = "ownerReferences")] pub owner_references: Option>, } -/// OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field. +/// OwnerReference contains enough information to let you identify an owning +/// object. An owning object must be in the same namespace as the dependent, or +/// be cluster-scoped, so there is no namespace field. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AdoptedResourceKubernetesMetadataOwnerReferences { /// API version of the referent. #[serde(rename = "apiVersion")] pub api_version: String, - /// If true, AND if the owner has the "foregroundDeletion" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs "delete" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. + /// If true, AND if the owner has the "foregroundDeletion" finalizer, then + /// the owner cannot be deleted from the key-value store until this + /// reference is removed. + /// See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion + /// for how the garbage collector interacts with this field and enforces the foreground deletion. + /// Defaults to false. + /// To set this field, a user needs "delete" permission of the owner, + /// otherwise 422 (Unprocessable Entity) will be returned. #[serde(default, skip_serializing_if = "Option::is_none", rename = "blockOwnerDeletion")] pub block_owner_deletion: Option, /// If true, this reference points to the managing controller. #[serde(default, skip_serializing_if = "Option::is_none")] pub controller: Option, - /// Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + /// Kind of the referent. + /// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds pub kind: String, - /// Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names + /// Name of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names pub name: String, - /// UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids + /// UID of the referent. + /// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids pub uid: String, } /// AdoptedResourceStatus defines the observed status of the AdoptedResource. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AdoptedResourceStatus { - /// A collection of `ackv1alpha1.Condition` objects that describe the various terminal states of the adopted resource CR and its target custom resource + /// A collection of `ackv1alpha1.Condition` objects that describe the various + /// terminal states of the adopted resource CR and its target custom resource pub conditions: Vec, } -/// Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource +/// Condition is the common struct used by all CRDs managed by ACK service +/// controllers to indicate terminal states of the CR and its backend AWS +/// service API resource #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct AdoptedResourceStatusConditions { /// Last time the condition transitioned from one status to another. diff --git a/kube-custom-resources-rs/src/services_k8s_aws/v1alpha1/fieldexports.rs b/kube-custom-resources-rs/src/services_k8s_aws/v1alpha1/fieldexports.rs index 99a3908ee..f436128fa 100644 --- a/kube-custom-resources-rs/src/services_k8s_aws/v1alpha1/fieldexports.rs +++ b/kube-custom-resources-rs/src/services_k8s_aws/v1alpha1/fieldexports.rs @@ -12,21 +12,28 @@ use serde::{Serialize, Deserialize}; #[kube(status = "FieldExportStatus")] #[kube(schema = "disabled")] pub struct FieldExportSpec { - /// ResourceFieldSelector provides the values necessary to identify an individual field on an individual K8s resource. + /// ResourceFieldSelector provides the values necessary to identify an individual + /// field on an individual K8s resource. pub from: FieldExportFrom, - /// FieldExportTarget provides the values necessary to identify the output path for a field export. + /// FieldExportTarget provides the values necessary to identify the + /// output path for a field export. pub to: FieldExportTo, } -/// ResourceFieldSelector provides the values necessary to identify an individual field on an individual K8s resource. +/// ResourceFieldSelector provides the values necessary to identify an individual +/// field on an individual K8s resource. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct FieldExportFrom { pub path: String, - /// NamespacedResource provides all the values necessary to identify an ACK resource of a given type (within the same namespace as the custom resource containing this type). + /// NamespacedResource provides all the values necessary to identify an ACK + /// resource of a given type (within the same namespace as the custom resource + /// containing this type). pub resource: FieldExportFromResource, } -/// NamespacedResource provides all the values necessary to identify an ACK resource of a given type (within the same namespace as the custom resource containing this type). +/// NamespacedResource provides all the values necessary to identify an ACK +/// resource of a given type (within the same namespace as the custom resource +/// containing this type). #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct FieldExportFromResource { pub group: String, @@ -34,13 +41,15 @@ pub struct FieldExportFromResource { pub name: String, } -/// FieldExportTarget provides the values necessary to identify the output path for a field export. +/// FieldExportTarget provides the values necessary to identify the +/// output path for a field export. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct FieldExportTo { /// Key overrides the default value (`.`) for the FieldExport target #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, - /// FieldExportOutputType represents all types that can be produced by a field export operation + /// FieldExportOutputType represents all types that can be produced by a field + /// export operation pub kind: FieldExportToKind, pub name: String, /// Namespace is marked as optional, so we cannot compose `NamespacedName` @@ -48,7 +57,8 @@ pub struct FieldExportTo { pub namespace: Option, } -/// FieldExportTarget provides the values necessary to identify the output path for a field export. +/// FieldExportTarget provides the values necessary to identify the +/// output path for a field export. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum FieldExportToKind { #[serde(rename = "configmap")] @@ -60,11 +70,14 @@ pub enum FieldExportToKind { /// FieldExportStatus defines the observed status of the FieldExport. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct FieldExportStatus { - /// A collection of `ackv1alpha1.Condition` objects that describe the various recoverable states of the field CR + /// A collection of `ackv1alpha1.Condition` objects that describe the various + /// recoverable states of the field CR pub conditions: Vec, } -/// Condition is the common struct used by all CRDs managed by ACK service controllers to indicate terminal states of the CR and its backend AWS service API resource +/// Condition is the common struct used by all CRDs managed by ACK service +/// controllers to indicate terminal states of the CR and its backend AWS +/// service API resource #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct FieldExportStatusConditions { /// Last time the condition transitioned from one status to another. diff --git a/kube-custom-resources-rs/src/sonataflow_org/v1alpha08/sonataflowplatforms.rs b/kube-custom-resources-rs/src/sonataflow_org/v1alpha08/sonataflowplatforms.rs index a7cf63b6b..3d35b41ce 100644 --- a/kube-custom-resources-rs/src/sonataflow_org/v1alpha08/sonataflowplatforms.rs +++ b/kube-custom-resources-rs/src/sonataflow_org/v1alpha08/sonataflowplatforms.rs @@ -20,7 +20,7 @@ pub struct SonataFlowPlatformSpec { /// DevMode Attributes for running workflows in devmode (immutable, no build required) #[serde(default, skip_serializing_if = "Option::is_none", rename = "devMode")] pub dev_mode: Option, - /// Services attributes for deploying supporting applications like Data Index. Only workflows with the proper annotation will be configured to use these service(s). `sonataflow.org/profile: prod` + /// Services attributes for deploying supporting applications like Data Index & Job Service. Only workflows without the `sonataflow.org/profile: dev` annotation will be configured to use these service(s). Setting this will override the use of any cluster-scoped services that might be defined via `SonataFlowClusterPlatform`. #[serde(default, skip_serializing_if = "Option::is_none")] pub services: Option, } @@ -287,21 +287,21 @@ pub struct SonataFlowPlatformDevMode { pub base_image: Option, } -/// Services attributes for deploying supporting applications like Data Index. Only workflows with the proper annotation will be configured to use these service(s). `sonataflow.org/profile: prod` +/// Services attributes for deploying supporting applications like Data Index & Job Service. Only workflows without the `sonataflow.org/profile: dev` annotation will be configured to use these service(s). Setting this will override the use of any cluster-scoped services that might be defined via `SonataFlowClusterPlatform`. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct SonataFlowPlatformServices { - /// Deploys the Data Index service for use by "prod" profile workflows. + /// Deploys the Data Index service for use by workflows without the `sonataflow.org/profile: dev` annotation. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataIndex")] pub data_index: Option, - /// Deploys the Job service for use by "prod" profile workflows. + /// Deploys the Job service for use by workflows without the `sonataflow.org/profile: dev` annotation. #[serde(default, skip_serializing_if = "Option::is_none", rename = "jobService")] pub job_service: Option, } -/// Deploys the Data Index service for use by "prod" profile workflows. +/// Deploys the Data Index service for use by workflows without the `sonataflow.org/profile: dev` annotation. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct SonataFlowPlatformServicesDataIndex { - /// Determines whether "prod" profile workflows should be configured to use this service + /// Determines whether workflows without the `sonataflow.org/profile: dev` annotation should be configured to use this service #[serde(default, skip_serializing_if = "Option::is_none")] pub enabled: Option, /// Persists service to a datasource of choice. Ephemeral by default. @@ -4459,10 +4459,10 @@ pub struct SonataFlowPlatformServicesDataIndexPodTemplateVolumesVsphereVolume { pub volume_path: String, } -/// Deploys the Job service for use by "prod" profile workflows. +/// Deploys the Job service for use by workflows without the `sonataflow.org/profile: dev` annotation. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct SonataFlowPlatformServicesJobService { - /// Determines whether "prod" profile workflows should be configured to use this service + /// Determines whether workflows without the `sonataflow.org/profile: dev` annotation should be configured to use this service #[serde(default, skip_serializing_if = "Option::is_none")] pub enabled: Option, /// Persists service to a datasource of choice. Ephemeral by default. @@ -8626,6 +8626,9 @@ pub struct SonataFlowPlatformStatus { /// Cluster what kind of cluster you're running (ie, plain Kubernetes or OpenShift) #[serde(default, skip_serializing_if = "Option::is_none")] pub cluster: Option, + /// ClusterPlatformRef information related to the (optional) active SonataFlowClusterPlatform + #[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterPlatformRef")] + pub cluster_platform_ref: Option, /// The latest available observations of a resource's current state. #[serde(default, skip_serializing_if = "Option::is_none")] pub conditions: Option>, @@ -8649,6 +8652,56 @@ pub enum SonataFlowPlatformStatusCluster { Openshift, } +/// ClusterPlatformRef information related to the (optional) active SonataFlowClusterPlatform +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct SonataFlowPlatformStatusClusterPlatformRef { + /// Name of the active SonataFlowClusterPlatform + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + /// PlatformRef displays which SonataFlowPlatform has been referenced by the active SonataFlowClusterPlatform + #[serde(default, skip_serializing_if = "Option::is_none", rename = "platformRef")] + pub platform_ref: Option, + /// Services displays which cluster-wide services are being used by this SonataFlowPlatform + #[serde(default, skip_serializing_if = "Option::is_none")] + pub services: Option, +} + +/// PlatformRef displays which SonataFlowPlatform has been referenced by the active SonataFlowClusterPlatform +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct SonataFlowPlatformStatusClusterPlatformRefPlatformRef { + /// Name of the SonataFlowPlatform + pub name: String, + /// Namespace of the SonataFlowPlatform + pub namespace: String, +} + +/// Services displays which cluster-wide services are being used by this SonataFlowPlatform +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct SonataFlowPlatformStatusClusterPlatformRefServices { + /// DataIndexRef displays information on the cluster-wide Data Index service + #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataIndexRef")] + pub data_index_ref: Option, + /// JobServiceRef displays information on the cluster-wide Job Service + #[serde(default, skip_serializing_if = "Option::is_none", rename = "jobServiceRef")] + pub job_service_ref: Option, +} + +/// DataIndexRef displays information on the cluster-wide Data Index service +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct SonataFlowPlatformStatusClusterPlatformRefServicesDataIndexRef { + /// Url displays the base url of a cluster-wide service + #[serde(default, skip_serializing_if = "Option::is_none")] + pub url: Option, +} + +/// JobServiceRef displays information on the cluster-wide Job Service +#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] +pub struct SonataFlowPlatformStatusClusterPlatformRefServicesJobServiceRef { + /// Url displays the base url of a cluster-wide service + #[serde(default, skip_serializing_if = "Option::is_none")] + pub url: Option, +} + /// Condition describes the common structure for conditions in our types #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct SonataFlowPlatformStatusConditions { diff --git a/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/constraintpodstatuses.rs b/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/constraintpodstatuses.rs index d8745e275..f6a24ff4e 100644 --- a/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/constraintpodstatuses.rs +++ b/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/constraintpodstatuses.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/open-policy-agent/gatekeeper/status.gatekeeper.sh/v1beta1/constraintpodstatuses.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// ConstraintPodStatusStatus defines the observed state of ConstraintPodStatus. diff --git a/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/constrainttemplatepodstatuses.rs b/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/constrainttemplatepodstatuses.rs index 88b71846d..0ed315e19 100644 --- a/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/constrainttemplatepodstatuses.rs +++ b/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/constrainttemplatepodstatuses.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/open-policy-agent/gatekeeper/status.gatekeeper.sh/v1beta1/constrainttemplatepodstatuses.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// ConstraintTemplatePodStatusStatus defines the observed state of ConstraintTemplatePodStatus. diff --git a/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/expansiontemplatepodstatuses.rs b/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/expansiontemplatepodstatuses.rs index 788d13955..3620f3709 100644 --- a/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/expansiontemplatepodstatuses.rs +++ b/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/expansiontemplatepodstatuses.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/open-policy-agent/gatekeeper/status.gatekeeper.sh/v1beta1/expansiontemplatepodstatuses.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// ExpansionTemplatePodStatusStatus defines the observed state of ExpansionTemplatePodStatus. diff --git a/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/mutatorpodstatuses.rs b/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/mutatorpodstatuses.rs index d0daec008..0f089c936 100644 --- a/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/mutatorpodstatuses.rs +++ b/kube-custom-resources-rs/src/status_gatekeeper_sh/v1beta1/mutatorpodstatuses.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/open-policy-agent/gatekeeper/status.gatekeeper.sh/v1beta1/mutatorpodstatuses.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; /// MutatorPodStatusStatus defines the observed state of MutatorPodStatus. diff --git a/kube-custom-resources-rs/src/tests_testkube_io/v1/testexecutions.rs b/kube-custom-resources-rs/src/tests_testkube_io/v1/testexecutions.rs index a260fba3b..1f038af52 100644 --- a/kube-custom-resources-rs/src/tests_testkube_io/v1/testexecutions.rs +++ b/kube-custom-resources-rs/src/tests_testkube_io/v1/testexecutions.rs @@ -129,6 +129,8 @@ pub enum TestExecutionExecutionRequestArgsMode { Append, #[serde(rename = "override")] Override, + #[serde(rename = "replace")] + Replace, } /// artifact request body with test artifacts @@ -500,6 +502,8 @@ pub enum TestExecutionStatusLatestExecutionArgsMode { Append, #[serde(rename = "override")] Override, + #[serde(rename = "replace")] + Replace, } /// artifact request body with test artifacts diff --git a/kube-custom-resources-rs/src/tests_testkube_io/v1/testsuiteexecutions.rs b/kube-custom-resources-rs/src/tests_testkube_io/v1/testsuiteexecutions.rs index 32060299c..b96f7afff 100644 --- a/kube-custom-resources-rs/src/tests_testkube_io/v1/testsuiteexecutions.rs +++ b/kube-custom-resources-rs/src/tests_testkube_io/v1/testsuiteexecutions.rs @@ -420,6 +420,8 @@ pub enum TestSuiteExecutionStatusLatestExecutionExecuteStepResultsExecuteExecuti Append, #[serde(rename = "override")] Override, + #[serde(rename = "replace")] + Replace, } /// artifact request body with test artifacts @@ -978,6 +980,8 @@ pub enum TestSuiteExecutionStatusLatestExecutionStepResultsExecutionArgsMode { Append, #[serde(rename = "override")] Override, + #[serde(rename = "replace")] + Replace, } /// artifact request body with test artifacts diff --git a/kube-custom-resources-rs/src/tests_testkube_io/v3/tests.rs b/kube-custom-resources-rs/src/tests_testkube_io/v3/tests.rs index 0e53c51e0..b7f82a2f0 100644 --- a/kube-custom-resources-rs/src/tests_testkube_io/v3/tests.rs +++ b/kube-custom-resources-rs/src/tests_testkube_io/v3/tests.rs @@ -255,6 +255,8 @@ pub enum TestExecutionRequestArgsMode { Append, #[serde(rename = "override")] Override, + #[serde(rename = "replace")] + Replace, } /// artifact request body with test artifacts diff --git a/kube-custom-resources-rs/src/topology_node_k8s_io/v1alpha1/noderesourcetopologies.rs b/kube-custom-resources-rs/src/topology_node_k8s_io/v1alpha1/noderesourcetopologies.rs index 3c8be235f..4458f9224 100644 --- a/kube-custom-resources-rs/src/topology_node_k8s_io/v1alpha1/noderesourcetopologies.rs +++ b/kube-custom-resources-rs/src/topology_node_k8s_io/v1alpha1/noderesourcetopologies.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/kubernetes-sigs/node-feature-discovery-operator/topology.node.k8s.io/v1alpha1/noderesourcetopologies.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString; diff --git a/kube-custom-resources-rs/src/traefik_io/v1alpha1/ingressroutes.rs b/kube-custom-resources-rs/src/traefik_io/v1alpha1/ingressroutes.rs index 87f099121..fed1112dd 100644 --- a/kube-custom-resources-rs/src/traefik_io/v1alpha1/ingressroutes.rs +++ b/kube-custom-resources-rs/src/traefik_io/v1alpha1/ingressroutes.rs @@ -12,12 +12,16 @@ use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString; #[kube(namespaced)] #[kube(schema = "disabled")] pub struct IngressRouteSpec { - /// EntryPoints defines the list of entry point names to bind to. Entry points have to be configured in the static configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/entrypoints/ Default: all. + /// EntryPoints defines the list of entry point names to bind to. + /// Entry points have to be configured in the static configuration. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/entrypoints/ + /// Default: all. #[serde(default, skip_serializing_if = "Option::is_none", rename = "entryPoints")] pub entry_points: Option>, /// Routes defines the list of routes. pub routes: Vec, - /// TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#tls + /// TLS defines the TLS configuration. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#tls #[serde(default, skip_serializing_if = "Option::is_none")] pub tls: Option, } @@ -25,20 +29,29 @@ pub struct IngressRouteSpec { /// Route holds the HTTP route configuration. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct IngressRouteRoutes { - /// Kind defines the kind of the route. Rule is the only supported kind. + /// Kind defines the kind of the route. + /// Rule is the only supported kind. pub kind: IngressRouteRoutesKind, - /// Match defines the router's rule. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#rule + /// Match defines the router's rule. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#rule #[serde(rename = "match")] pub r#match: String, - /// Middlewares defines the list of references to Middleware resources. More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-middleware + /// Middlewares defines the list of references to Middleware resources. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-middleware #[serde(default, skip_serializing_if = "Option::is_none")] pub middlewares: Option>, - /// Priority defines the router's priority. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#priority + /// Priority defines the router's priority. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#priority #[serde(default, skip_serializing_if = "Option::is_none")] pub priority: Option, - /// Services defines the list of Service. It can contain any combination of TraefikService and/or reference to a Kubernetes Service. + /// Services defines the list of Service. + /// It can contain any combination of TraefikService and/or reference to a Kubernetes Service. #[serde(default, skip_serializing_if = "Option::is_none")] pub services: Option>, + /// Syntax defines the router's rule syntax. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#rulesyntax + #[serde(default, skip_serializing_if = "Option::is_none")] + pub syntax: Option, } /// Route holds the HTTP route configuration. @@ -63,36 +76,48 @@ pub struct IngressRouteRoutesServices { /// Kind defines the kind of the Service. #[serde(default, skip_serializing_if = "Option::is_none")] pub kind: Option, - /// Name defines the name of the referenced Kubernetes Service or TraefikService. The differentiation between the two is specified in the Kind field. + /// Name defines the name of the referenced Kubernetes Service or TraefikService. + /// The differentiation between the two is specified in the Kind field. pub name: String, /// Namespace defines the namespace of the referenced Kubernetes Service or TraefikService. #[serde(default, skip_serializing_if = "Option::is_none")] pub namespace: Option, - /// NativeLB controls, when creating the load-balancer, whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. The Kubernetes Service itself does load-balance to the pods. By default, NativeLB is false. + /// NativeLB controls, when creating the load-balancer, + /// whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. + /// The Kubernetes Service itself does load-balance to the pods. + /// By default, NativeLB is false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nativeLB")] pub native_lb: Option, - /// PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true. + /// PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. + /// By default, passHostHeader is true. #[serde(default, skip_serializing_if = "Option::is_none", rename = "passHostHeader")] pub pass_host_header: Option, - /// Port defines the port of a Kubernetes Service. This can be a reference to a named port. + /// Port defines the port of a Kubernetes Service. + /// This can be a reference to a named port. #[serde(default, skip_serializing_if = "Option::is_none")] pub port: Option, /// ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client. #[serde(default, skip_serializing_if = "Option::is_none", rename = "responseForwarding")] pub response_forwarding: Option, - /// Scheme defines the scheme to use for the request to the upstream Kubernetes Service. It defaults to https when Kubernetes Service port is 443, http otherwise. + /// Scheme defines the scheme to use for the request to the upstream Kubernetes Service. + /// It defaults to https when Kubernetes Service port is 443, http otherwise. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, - /// ServersTransport defines the name of ServersTransport resource to use. It allows to configure the transport between Traefik and your servers. Can only be used on a Kubernetes Service. + /// ServersTransport defines the name of ServersTransport resource to use. + /// It allows to configure the transport between Traefik and your servers. + /// Can only be used on a Kubernetes Service. #[serde(default, skip_serializing_if = "Option::is_none", rename = "serversTransport")] pub servers_transport: Option, - /// Sticky defines the sticky sessions configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions + /// Sticky defines the sticky sessions configuration. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions #[serde(default, skip_serializing_if = "Option::is_none")] pub sticky: Option, - /// Strategy defines the load balancing strategy between the servers. RoundRobin is the only supported value at the moment. + /// Strategy defines the load balancing strategy between the servers. + /// RoundRobin is the only supported value at the moment. #[serde(default, skip_serializing_if = "Option::is_none")] pub strategy: Option, - /// Weight defines the weight and should only be specified when Name references a TraefikService object (and to be precise, one that embeds a Weighted Round Robin). + /// Weight defines the weight and should only be specified when Name references a TraefikService object + /// (and to be precise, one that embeds a Weighted Round Robin). #[serde(default, skip_serializing_if = "Option::is_none")] pub weight: Option, } @@ -107,12 +132,17 @@ pub enum IngressRouteRoutesServicesKind { /// ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct IngressRouteRoutesServicesResponseForwarding { - /// FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. A negative value means to flush immediately after each write to the client. This configuration is ignored when ReverseProxy recognizes a response as a streaming response; for such responses, writes are flushed to the client immediately. Default: 100ms + /// FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. + /// A negative value means to flush immediately after each write to the client. + /// This configuration is ignored when ReverseProxy recognizes a response as a streaming response; + /// for such responses, writes are flushed to the client immediately. + /// Default: 100ms #[serde(default, skip_serializing_if = "Option::is_none", rename = "flushInterval")] pub flush_interval: Option, } -/// Sticky defines the sticky sessions configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions +/// Sticky defines the sticky sessions configuration. +/// More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct IngressRouteRoutesServicesSticky { /// Cookie defines the sticky cookie configuration. @@ -126,13 +156,16 @@ pub struct IngressRouteRoutesServicesStickyCookie { /// HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript. #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpOnly")] pub http_only: Option, - /// MaxAge indicates the number of seconds until the cookie expires. When set to a negative number, the cookie expires immediately. When set to zero, the cookie never expires. + /// MaxAge indicates the number of seconds until the cookie expires. + /// When set to a negative number, the cookie expires immediately. + /// When set to zero, the cookie never expires. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxAge")] pub max_age: Option, /// Name defines the Cookie name. #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, - /// SameSite defines the same site policy. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite + /// SameSite defines the same site policy. + /// More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite #[serde(default, skip_serializing_if = "Option::is_none", rename = "sameSite")] pub same_site: Option, /// Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS). @@ -140,22 +173,29 @@ pub struct IngressRouteRoutesServicesStickyCookie { pub secure: Option, } -/// TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#tls +/// TLS defines the TLS configuration. +/// More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#tls #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct IngressRouteTls { - /// CertResolver defines the name of the certificate resolver to use. Cert resolvers have to be configured in the static configuration. More info: https://doc.traefik.io/traefik/v3.0/https/acme/#certificate-resolvers + /// CertResolver defines the name of the certificate resolver to use. + /// Cert resolvers have to be configured in the static configuration. + /// More info: https://doc.traefik.io/traefik/v3.0/https/acme/#certificate-resolvers #[serde(default, skip_serializing_if = "Option::is_none", rename = "certResolver")] pub cert_resolver: Option, - /// Domains defines the list of domains that will be used to issue certificates. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#domains + /// Domains defines the list of domains that will be used to issue certificates. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#domains #[serde(default, skip_serializing_if = "Option::is_none")] pub domains: Option>, - /// Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. If not defined, the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options + /// Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. + /// If not defined, the `default` TLSOption is used. + /// More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options #[serde(default, skip_serializing_if = "Option::is_none")] pub options: Option, /// SecretName is the name of the referenced Kubernetes Secret to specify the certificate details. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] pub secret_name: Option, - /// Store defines the reference to the TLSStore, that will be used to store certificates. Please note that only `default` TLSStore can be used. + /// Store defines the reference to the TLSStore, that will be used to store certificates. + /// Please note that only `default` TLSStore can be used. #[serde(default, skip_serializing_if = "Option::is_none")] pub store: Option, } @@ -171,22 +211,29 @@ pub struct IngressRouteTlsDomains { pub sans: Option>, } -/// Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. If not defined, the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options +/// Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. +/// If not defined, the `default` TLSOption is used. +/// More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct IngressRouteTlsOptions { - /// Name defines the name of the referenced TLSOption. More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsoption + /// Name defines the name of the referenced TLSOption. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsoption pub name: String, - /// Namespace defines the namespace of the referenced TLSOption. More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsoption + /// Namespace defines the namespace of the referenced TLSOption. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsoption #[serde(default, skip_serializing_if = "Option::is_none")] pub namespace: Option, } -/// Store defines the reference to the TLSStore, that will be used to store certificates. Please note that only `default` TLSStore can be used. +/// Store defines the reference to the TLSStore, that will be used to store certificates. +/// Please note that only `default` TLSStore can be used. #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub struct IngressRouteTlsStore { - /// Name defines the name of the referenced TLSStore. More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsstore + /// Name defines the name of the referenced TLSStore. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsstore pub name: String, - /// Namespace defines the namespace of the referenced TLSStore. More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsstore + /// Namespace defines the namespace of the referenced TLSStore. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#kind-tlsstore #[serde(default, skip_serializing_if = "Option::is_none")] pub namespace: Option, } diff --git a/kube-custom-resources-rs/src/traefik_io/v1alpha1/ingressroutetcps.rs b/kube-custom-resources-rs/src/traefik_io/v1alpha1/ingressroutetcps.rs index 4b6ce53fb..b525bda03 100644 --- a/kube-custom-resources-rs/src/traefik_io/v1alpha1/ingressroutetcps.rs +++ b/kube-custom-resources-rs/src/traefik_io/v1alpha1/ingressroutetcps.rs @@ -12,12 +12,16 @@ use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString; #[kube(namespaced)] #[kube(schema = "disabled")] pub struct IngressRouteTCPSpec { - /// EntryPoints defines the list of entry point names to bind to. Entry points have to be configured in the static configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/entrypoints/ Default: all. + /// EntryPoints defines the list of entry point names to bind to. + /// Entry points have to be configured in the static configuration. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/entrypoints/ + /// Default: all. #[serde(default, skip_serializing_if = "Option::is_none", rename = "entryPoints")] pub entry_points: Option>, /// Routes defines the list of routes. pub routes: Vec, - /// TLS defines the TLS configuration on a layer 4 / TCP Route. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#tls_1 + /// TLS defines the TLS configuration on a layer 4 / TCP Route. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#tls_1 #[serde(default, skip_serializing_if = "Option::is_none")] pub tls: Option, } @@ -25,18 +29,24 @@ pub struct IngressRouteTCPSpec { /// RouteTCP holds the TCP route configuration. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct IngressRouteTCPRoutes { - /// Match defines the router's rule. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#rule_1 + /// Match defines the router's rule. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#rule_1 #[serde(rename = "match")] pub r#match: String, /// Middlewares defines the list of references to MiddlewareTCP resources. #[serde(default, skip_serializing_if = "Option::is_none")] pub middlewares: Option>, - /// Priority defines the router's priority. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#priority_1 + /// Priority defines the router's priority. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#priority_1 #[serde(default, skip_serializing_if = "Option::is_none")] pub priority: Option, /// Services defines the list of TCP services. #[serde(default, skip_serializing_if = "Option::is_none")] pub services: Option>, + /// Syntax defines the router's rule syntax. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#rulesyntax_1 + #[serde(default, skip_serializing_if = "Option::is_none")] + pub syntax: Option, } /// ObjectReference is a generic reference to a Traefik resource. @@ -57,17 +67,32 @@ pub struct IngressRouteTCPRoutesServices { /// Namespace defines the namespace of the referenced Kubernetes Service. #[serde(default, skip_serializing_if = "Option::is_none")] pub namespace: Option, - /// NativeLB controls, when creating the load-balancer, whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. The Kubernetes Service itself does load-balance to the pods. By default, NativeLB is false. + /// NativeLB controls, when creating the load-balancer, + /// whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. + /// The Kubernetes Service itself does load-balance to the pods. + /// By default, NativeLB is false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nativeLB")] pub native_lb: Option, - /// Port defines the port of a Kubernetes Service. This can be a reference to a named port. + /// Port defines the port of a Kubernetes Service. + /// This can be a reference to a named port. pub port: IntOrString, - /// ProxyProtocol defines the PROXY protocol configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#proxy-protocol + /// ProxyProtocol defines the PROXY protocol configuration. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/services/#proxy-protocol #[serde(default, skip_serializing_if = "Option::is_none", rename = "proxyProtocol")] pub proxy_protocol: Option, - /// ServersTransport defines the name of ServersTransportTCP resource to use. It allows to configure the transport between Traefik and your servers. Can only be used on a Kubernetes Service. + /// ServersTransport defines the name of ServersTransportTCP resource to use. + /// It allows to configure the transport between Traefik and your servers. + /// Can only be used on a Kubernetes Service. #[serde(default, skip_serializing_if = "Option::is_none", rename = "serversTransport")] pub servers_transport: Option, + /// TerminationDelay defines the deadline that the proxy sets, after one of its connected peers indicates + /// it has closed the writing capability of its connection, to close the reading capability as well, + /// hence fully terminating the connection. + /// It is a duration in milliseconds, defaulting to 100. + /// A negative value means an infinite deadline (i.e. the reading capability is never closed). + /// Deprecated: TerminationDelay is not supported APIVersion traefik.io/v1, please use ServersTransport to configure the TerminationDelay instead. + #[serde(default, skip_serializing_if = "Option::is_none", rename = "terminationDelay")] + pub termination_delay: Option, /// TLS determines whether to use TLS when dialing with the backend. #[serde(default, skip_serializing_if = "Option::is_none")] pub tls: Option, @@ -76,7 +101,8 @@ pub struct IngressRouteTCPRoutesServices { pub weight: Option, } -/// ProxyProtocol defines the PROXY protocol configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#proxy-protocol +/// ProxyProtocol defines the PROXY protocol configuration. +/// More info: https://doc.traefik.io/traefik/v3.0/routing/services/#proxy-protocol #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct IngressRouteTCPRoutesServicesProxyProtocol { /// Version defines the PROXY Protocol version to use. @@ -84,16 +110,22 @@ pub struct IngressRouteTCPRoutesServicesProxyProtocol { pub version: Option, } -/// TLS defines the TLS configuration on a layer 4 / TCP Route. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#tls_1 +/// TLS defines the TLS configuration on a layer 4 / TCP Route. +/// More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#tls_1 #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct IngressRouteTCPTls { - /// CertResolver defines the name of the certificate resolver to use. Cert resolvers have to be configured in the static configuration. More info: https://doc.traefik.io/traefik/v3.0/https/acme/#certificate-resolvers + /// CertResolver defines the name of the certificate resolver to use. + /// Cert resolvers have to be configured in the static configuration. + /// More info: https://doc.traefik.io/traefik/v3.0/https/acme/#certificate-resolvers #[serde(default, skip_serializing_if = "Option::is_none", rename = "certResolver")] pub cert_resolver: Option, - /// Domains defines the list of domains that will be used to issue certificates. More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#domains + /// Domains defines the list of domains that will be used to issue certificates. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/routers/#domains #[serde(default, skip_serializing_if = "Option::is_none")] pub domains: Option>, - /// Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. If not defined, the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options + /// Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. + /// If not defined, the `default` TLSOption is used. + /// More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options #[serde(default, skip_serializing_if = "Option::is_none")] pub options: Option, /// Passthrough defines whether a TLS router will terminate the TLS connection. @@ -102,7 +134,8 @@ pub struct IngressRouteTCPTls { /// SecretName is the name of the referenced Kubernetes Secret to specify the certificate details. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] pub secret_name: Option, - /// Store defines the reference to the TLSStore, that will be used to store certificates. Please note that only `default` TLSStore can be used. + /// Store defines the reference to the TLSStore, that will be used to store certificates. + /// Please note that only `default` TLSStore can be used. #[serde(default, skip_serializing_if = "Option::is_none")] pub store: Option, } @@ -118,7 +151,9 @@ pub struct IngressRouteTCPTlsDomains { pub sans: Option>, } -/// Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. If not defined, the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options +/// Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. +/// If not defined, the `default` TLSOption is used. +/// More info: https://doc.traefik.io/traefik/v3.0/https/tls/#tls-options #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct IngressRouteTCPTlsOptions { /// Name defines the name of the referenced Traefik resource. @@ -128,7 +163,8 @@ pub struct IngressRouteTCPTlsOptions { pub namespace: Option, } -/// Store defines the reference to the TLSStore, that will be used to store certificates. Please note that only `default` TLSStore can be used. +/// Store defines the reference to the TLSStore, that will be used to store certificates. +/// Please note that only `default` TLSStore can be used. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct IngressRouteTCPTlsStore { /// Name defines the name of the referenced Traefik resource. diff --git a/kube-custom-resources-rs/src/traefik_io/v1alpha1/ingressrouteudps.rs b/kube-custom-resources-rs/src/traefik_io/v1alpha1/ingressrouteudps.rs index 70c3af609..cdc7119ca 100644 --- a/kube-custom-resources-rs/src/traefik_io/v1alpha1/ingressrouteudps.rs +++ b/kube-custom-resources-rs/src/traefik_io/v1alpha1/ingressrouteudps.rs @@ -12,7 +12,10 @@ use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString; #[kube(namespaced)] #[kube(schema = "disabled")] pub struct IngressRouteUDPSpec { - /// EntryPoints defines the list of entry point names to bind to. Entry points have to be configured in the static configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/entrypoints/ Default: all. + /// EntryPoints defines the list of entry point names to bind to. + /// Entry points have to be configured in the static configuration. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/entrypoints/ + /// Default: all. #[serde(default, skip_serializing_if = "Option::is_none", rename = "entryPoints")] pub entry_points: Option>, /// Routes defines the list of routes. @@ -35,10 +38,14 @@ pub struct IngressRouteUDPRoutesServices { /// Namespace defines the namespace of the referenced Kubernetes Service. #[serde(default, skip_serializing_if = "Option::is_none")] pub namespace: Option, - /// NativeLB controls, when creating the load-balancer, whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. The Kubernetes Service itself does load-balance to the pods. By default, NativeLB is false. + /// NativeLB controls, when creating the load-balancer, + /// whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. + /// The Kubernetes Service itself does load-balance to the pods. + /// By default, NativeLB is false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nativeLB")] pub native_lb: Option, - /// Port defines the port of a Kubernetes Service. This can be a reference to a named port. + /// Port defines the port of a Kubernetes Service. + /// This can be a reference to a named port. pub port: IntOrString, /// Weight defines the weight used when balancing requests between multiple Kubernetes Service. #[serde(default, skip_serializing_if = "Option::is_none")] diff --git a/kube-custom-resources-rs/src/traefik_io/v1alpha1/middlewaretcps.rs b/kube-custom-resources-rs/src/traefik_io/v1alpha1/middlewaretcps.rs index db36e289a..fd32acaf5 100644 --- a/kube-custom-resources-rs/src/traefik_io/v1alpha1/middlewaretcps.rs +++ b/kube-custom-resources-rs/src/traefik_io/v1alpha1/middlewaretcps.rs @@ -15,9 +15,14 @@ pub struct MiddlewareTCPSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "inFlightConn")] pub in_flight_conn: Option, /// IPAllowList defines the IPAllowList middleware configuration. + /// This middleware accepts/refuses connections based on the client IP. + /// More info: https://doc.traefik.io/traefik/v3.0/middlewares/tcp/ipallowlist/ #[serde(default, skip_serializing_if = "Option::is_none", rename = "ipAllowList")] pub ip_allow_list: Option, - /// IPWhiteList defines the IPWhiteList middleware configuration. Deprecated: please use IPAllowList instead. + /// IPWhiteList defines the IPWhiteList middleware configuration. + /// This middleware accepts/refuses connections based on the client IP. + /// Deprecated: please use IPAllowList instead. + /// More info: https://doc.traefik.io/traefik/v3.0/middlewares/tcp/ipwhitelist/ #[serde(default, skip_serializing_if = "Option::is_none", rename = "ipWhiteList")] pub ip_white_list: Option, } @@ -25,12 +30,15 @@ pub struct MiddlewareTCPSpec { /// InFlightConn defines the InFlightConn middleware configuration. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MiddlewareTCPInFlightConn { - /// Amount defines the maximum amount of allowed simultaneous connections. The middleware closes the connection if there are already amount connections opened. + /// Amount defines the maximum amount of allowed simultaneous connections. + /// The middleware closes the connection if there are already amount connections opened. #[serde(default, skip_serializing_if = "Option::is_none")] pub amount: Option, } /// IPAllowList defines the IPAllowList middleware configuration. +/// This middleware accepts/refuses connections based on the client IP. +/// More info: https://doc.traefik.io/traefik/v3.0/middlewares/tcp/ipallowlist/ #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MiddlewareTCPIpAllowList { /// SourceRange defines the allowed IPs (or ranges of allowed IPs by using CIDR notation). @@ -38,7 +46,10 @@ pub struct MiddlewareTCPIpAllowList { pub source_range: Option>, } -/// IPWhiteList defines the IPWhiteList middleware configuration. Deprecated: please use IPAllowList instead. +/// IPWhiteList defines the IPWhiteList middleware configuration. +/// This middleware accepts/refuses connections based on the client IP. +/// Deprecated: please use IPAllowList instead. +/// More info: https://doc.traefik.io/traefik/v3.0/middlewares/tcp/ipwhitelist/ #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct MiddlewareTCPIpWhiteList { /// SourceRange defines the allowed IPs (or ranges of allowed IPs by using CIDR notation). diff --git a/kube-custom-resources-rs/src/traefik_io/v1alpha1/serverstransporttcps.rs b/kube-custom-resources-rs/src/traefik_io/v1alpha1/serverstransporttcps.rs index c24e7ed42..ec6a1c91e 100644 --- a/kube-custom-resources-rs/src/traefik_io/v1alpha1/serverstransporttcps.rs +++ b/kube-custom-resources-rs/src/traefik_io/v1alpha1/serverstransporttcps.rs @@ -35,7 +35,8 @@ pub struct ServersTransportTCPTls { /// InsecureSkipVerify disables TLS certificate verification. #[serde(default, skip_serializing_if = "Option::is_none", rename = "insecureSkipVerify")] pub insecure_skip_verify: Option, - /// MaxIdleConnsPerHost controls the maximum idle (keep-alive) to keep per-host. PeerCertURI defines the peer cert URI used to match against SAN URI during the peer certificate verification. + /// MaxIdleConnsPerHost controls the maximum idle (keep-alive) to keep per-host. + /// PeerCertURI defines the peer cert URI used to match against SAN URI during the peer certificate verification. #[serde(default, skip_serializing_if = "Option::is_none", rename = "peerCertURI")] pub peer_cert_uri: Option, /// RootCAsSecrets defines a list of CA secret used to validate self-signed certificates. diff --git a/kube-custom-resources-rs/src/traefik_io/v1alpha1/tlsoptions.rs b/kube-custom-resources-rs/src/traefik_io/v1alpha1/tlsoptions.rs index d186bedc3..bd775a1dd 100644 --- a/kube-custom-resources-rs/src/traefik_io/v1alpha1/tlsoptions.rs +++ b/kube-custom-resources-rs/src/traefik_io/v1alpha1/tlsoptions.rs @@ -11,24 +11,36 @@ use serde::{Serialize, Deserialize}; #[kube(namespaced)] #[kube(schema = "disabled")] pub struct TLSOptionSpec { - /// ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference. More info: https://doc.traefik.io/traefik/v3.0/https/tls/#alpn-protocols + /// ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference. + /// More info: https://doc.traefik.io/traefik/v3.0/https/tls/#alpn-protocols #[serde(default, skip_serializing_if = "Option::is_none", rename = "alpnProtocols")] pub alpn_protocols: Option>, - /// CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2. More info: https://doc.traefik.io/traefik/v3.0/https/tls/#cipher-suites + /// CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2. + /// More info: https://doc.traefik.io/traefik/v3.0/https/tls/#cipher-suites #[serde(default, skip_serializing_if = "Option::is_none", rename = "cipherSuites")] pub cipher_suites: Option>, /// ClientAuth defines the server's policy for TLS Client Authentication. #[serde(default, skip_serializing_if = "Option::is_none", rename = "clientAuth")] pub client_auth: Option, - /// CurvePreferences defines the preferred elliptic curves in a specific order. More info: https://doc.traefik.io/traefik/v3.0/https/tls/#curve-preferences + /// CurvePreferences defines the preferred elliptic curves in a specific order. + /// More info: https://doc.traefik.io/traefik/v3.0/https/tls/#curve-preferences #[serde(default, skip_serializing_if = "Option::is_none", rename = "curvePreferences")] pub curve_preferences: Option>, - /// MaxVersion defines the maximum TLS version that Traefik will accept. Possible values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13. Default: None. + /// MaxVersion defines the maximum TLS version that Traefik will accept. + /// Possible values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13. + /// Default: None. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxVersion")] pub max_version: Option, - /// MinVersion defines the minimum TLS version that Traefik will accept. Possible values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13. Default: VersionTLS10. + /// MinVersion defines the minimum TLS version that Traefik will accept. + /// Possible values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13. + /// Default: VersionTLS10. #[serde(default, skip_serializing_if = "Option::is_none", rename = "minVersion")] pub min_version: Option, + /// PreferServerCipherSuites defines whether the server chooses a cipher suite among his own instead of among the client's. + /// It is enabled automatically when minVersion or maxVersion is set. + /// Deprecated: https://github.com/golang/go/issues/45430 + #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferServerCipherSuites")] + pub prefer_server_cipher_suites: Option, /// SniStrict defines whether Traefik allows connections from clients connections that do not specify a server_name extension. #[serde(default, skip_serializing_if = "Option::is_none", rename = "sniStrict")] pub sni_strict: Option, diff --git a/kube-custom-resources-rs/src/traefik_io/v1alpha1/traefikservices.rs b/kube-custom-resources-rs/src/traefik_io/v1alpha1/traefikservices.rs index 088a6dc71..60fabe8c9 100644 --- a/kube-custom-resources-rs/src/traefik_io/v1alpha1/traefikservices.rs +++ b/kube-custom-resources-rs/src/traefik_io/v1alpha1/traefikservices.rs @@ -26,42 +26,56 @@ pub struct TraefikServiceMirroring { /// Kind defines the kind of the Service. #[serde(default, skip_serializing_if = "Option::is_none")] pub kind: Option, - /// MaxBodySize defines the maximum size allowed for the body of the request. If the body is larger, the request is not mirrored. Default value is -1, which means unlimited size. + /// MaxBodySize defines the maximum size allowed for the body of the request. + /// If the body is larger, the request is not mirrored. + /// Default value is -1, which means unlimited size. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxBodySize")] pub max_body_size: Option, /// Mirrors defines the list of mirrors where Traefik will duplicate the traffic. #[serde(default, skip_serializing_if = "Option::is_none")] pub mirrors: Option>, - /// Name defines the name of the referenced Kubernetes Service or TraefikService. The differentiation between the two is specified in the Kind field. + /// Name defines the name of the referenced Kubernetes Service or TraefikService. + /// The differentiation between the two is specified in the Kind field. pub name: String, /// Namespace defines the namespace of the referenced Kubernetes Service or TraefikService. #[serde(default, skip_serializing_if = "Option::is_none")] pub namespace: Option, - /// NativeLB controls, when creating the load-balancer, whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. The Kubernetes Service itself does load-balance to the pods. By default, NativeLB is false. + /// NativeLB controls, when creating the load-balancer, + /// whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. + /// The Kubernetes Service itself does load-balance to the pods. + /// By default, NativeLB is false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nativeLB")] pub native_lb: Option, - /// PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true. + /// PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. + /// By default, passHostHeader is true. #[serde(default, skip_serializing_if = "Option::is_none", rename = "passHostHeader")] pub pass_host_header: Option, - /// Port defines the port of a Kubernetes Service. This can be a reference to a named port. + /// Port defines the port of a Kubernetes Service. + /// This can be a reference to a named port. #[serde(default, skip_serializing_if = "Option::is_none")] pub port: Option, /// ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client. #[serde(default, skip_serializing_if = "Option::is_none", rename = "responseForwarding")] pub response_forwarding: Option, - /// Scheme defines the scheme to use for the request to the upstream Kubernetes Service. It defaults to https when Kubernetes Service port is 443, http otherwise. + /// Scheme defines the scheme to use for the request to the upstream Kubernetes Service. + /// It defaults to https when Kubernetes Service port is 443, http otherwise. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, - /// ServersTransport defines the name of ServersTransport resource to use. It allows to configure the transport between Traefik and your servers. Can only be used on a Kubernetes Service. + /// ServersTransport defines the name of ServersTransport resource to use. + /// It allows to configure the transport between Traefik and your servers. + /// Can only be used on a Kubernetes Service. #[serde(default, skip_serializing_if = "Option::is_none", rename = "serversTransport")] pub servers_transport: Option, - /// Sticky defines the sticky sessions configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions + /// Sticky defines the sticky sessions configuration. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions #[serde(default, skip_serializing_if = "Option::is_none")] pub sticky: Option, - /// Strategy defines the load balancing strategy between the servers. RoundRobin is the only supported value at the moment. + /// Strategy defines the load balancing strategy between the servers. + /// RoundRobin is the only supported value at the moment. #[serde(default, skip_serializing_if = "Option::is_none")] pub strategy: Option, - /// Weight defines the weight and should only be specified when Name references a TraefikService object (and to be precise, one that embeds a Weighted Round Robin). + /// Weight defines the weight and should only be specified when Name references a TraefikService object + /// (and to be precise, one that embeds a Weighted Round Robin). #[serde(default, skip_serializing_if = "Option::is_none")] pub weight: Option, } @@ -79,39 +93,52 @@ pub struct TraefikServiceMirroringMirrors { /// Kind defines the kind of the Service. #[serde(default, skip_serializing_if = "Option::is_none")] pub kind: Option, - /// Name defines the name of the referenced Kubernetes Service or TraefikService. The differentiation between the two is specified in the Kind field. + /// Name defines the name of the referenced Kubernetes Service or TraefikService. + /// The differentiation between the two is specified in the Kind field. pub name: String, /// Namespace defines the namespace of the referenced Kubernetes Service or TraefikService. #[serde(default, skip_serializing_if = "Option::is_none")] pub namespace: Option, - /// NativeLB controls, when creating the load-balancer, whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. The Kubernetes Service itself does load-balance to the pods. By default, NativeLB is false. + /// NativeLB controls, when creating the load-balancer, + /// whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. + /// The Kubernetes Service itself does load-balance to the pods. + /// By default, NativeLB is false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nativeLB")] pub native_lb: Option, - /// PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true. + /// PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. + /// By default, passHostHeader is true. #[serde(default, skip_serializing_if = "Option::is_none", rename = "passHostHeader")] pub pass_host_header: Option, - /// Percent defines the part of the traffic to mirror. Supported values: 0 to 100. + /// Percent defines the part of the traffic to mirror. + /// Supported values: 0 to 100. #[serde(default, skip_serializing_if = "Option::is_none")] pub percent: Option, - /// Port defines the port of a Kubernetes Service. This can be a reference to a named port. + /// Port defines the port of a Kubernetes Service. + /// This can be a reference to a named port. #[serde(default, skip_serializing_if = "Option::is_none")] pub port: Option, /// ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client. #[serde(default, skip_serializing_if = "Option::is_none", rename = "responseForwarding")] pub response_forwarding: Option, - /// Scheme defines the scheme to use for the request to the upstream Kubernetes Service. It defaults to https when Kubernetes Service port is 443, http otherwise. + /// Scheme defines the scheme to use for the request to the upstream Kubernetes Service. + /// It defaults to https when Kubernetes Service port is 443, http otherwise. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, - /// ServersTransport defines the name of ServersTransport resource to use. It allows to configure the transport between Traefik and your servers. Can only be used on a Kubernetes Service. + /// ServersTransport defines the name of ServersTransport resource to use. + /// It allows to configure the transport between Traefik and your servers. + /// Can only be used on a Kubernetes Service. #[serde(default, skip_serializing_if = "Option::is_none", rename = "serversTransport")] pub servers_transport: Option, - /// Sticky defines the sticky sessions configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions + /// Sticky defines the sticky sessions configuration. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions #[serde(default, skip_serializing_if = "Option::is_none")] pub sticky: Option, - /// Strategy defines the load balancing strategy between the servers. RoundRobin is the only supported value at the moment. + /// Strategy defines the load balancing strategy between the servers. + /// RoundRobin is the only supported value at the moment. #[serde(default, skip_serializing_if = "Option::is_none")] pub strategy: Option, - /// Weight defines the weight and should only be specified when Name references a TraefikService object (and to be precise, one that embeds a Weighted Round Robin). + /// Weight defines the weight and should only be specified when Name references a TraefikService object + /// (and to be precise, one that embeds a Weighted Round Robin). #[serde(default, skip_serializing_if = "Option::is_none")] pub weight: Option, } @@ -126,12 +153,17 @@ pub enum TraefikServiceMirroringMirrorsKind { /// ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TraefikServiceMirroringMirrorsResponseForwarding { - /// FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. A negative value means to flush immediately after each write to the client. This configuration is ignored when ReverseProxy recognizes a response as a streaming response; for such responses, writes are flushed to the client immediately. Default: 100ms + /// FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. + /// A negative value means to flush immediately after each write to the client. + /// This configuration is ignored when ReverseProxy recognizes a response as a streaming response; + /// for such responses, writes are flushed to the client immediately. + /// Default: 100ms #[serde(default, skip_serializing_if = "Option::is_none", rename = "flushInterval")] pub flush_interval: Option, } -/// Sticky defines the sticky sessions configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions +/// Sticky defines the sticky sessions configuration. +/// More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TraefikServiceMirroringMirrorsSticky { /// Cookie defines the sticky cookie configuration. @@ -145,13 +177,16 @@ pub struct TraefikServiceMirroringMirrorsStickyCookie { /// HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript. #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpOnly")] pub http_only: Option, - /// MaxAge indicates the number of seconds until the cookie expires. When set to a negative number, the cookie expires immediately. When set to zero, the cookie never expires. + /// MaxAge indicates the number of seconds until the cookie expires. + /// When set to a negative number, the cookie expires immediately. + /// When set to zero, the cookie never expires. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxAge")] pub max_age: Option, /// Name defines the Cookie name. #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, - /// SameSite defines the same site policy. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite + /// SameSite defines the same site policy. + /// More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite #[serde(default, skip_serializing_if = "Option::is_none", rename = "sameSite")] pub same_site: Option, /// Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS). @@ -162,12 +197,17 @@ pub struct TraefikServiceMirroringMirrorsStickyCookie { /// ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TraefikServiceMirroringResponseForwarding { - /// FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. A negative value means to flush immediately after each write to the client. This configuration is ignored when ReverseProxy recognizes a response as a streaming response; for such responses, writes are flushed to the client immediately. Default: 100ms + /// FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. + /// A negative value means to flush immediately after each write to the client. + /// This configuration is ignored when ReverseProxy recognizes a response as a streaming response; + /// for such responses, writes are flushed to the client immediately. + /// Default: 100ms #[serde(default, skip_serializing_if = "Option::is_none", rename = "flushInterval")] pub flush_interval: Option, } -/// Sticky defines the sticky sessions configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions +/// Sticky defines the sticky sessions configuration. +/// More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TraefikServiceMirroringSticky { /// Cookie defines the sticky cookie configuration. @@ -181,13 +221,16 @@ pub struct TraefikServiceMirroringStickyCookie { /// HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript. #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpOnly")] pub http_only: Option, - /// MaxAge indicates the number of seconds until the cookie expires. When set to a negative number, the cookie expires immediately. When set to zero, the cookie never expires. + /// MaxAge indicates the number of seconds until the cookie expires. + /// When set to a negative number, the cookie expires immediately. + /// When set to zero, the cookie never expires. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxAge")] pub max_age: Option, /// Name defines the Cookie name. #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, - /// SameSite defines the same site policy. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite + /// SameSite defines the same site policy. + /// More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite #[serde(default, skip_serializing_if = "Option::is_none", rename = "sameSite")] pub same_site: Option, /// Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS). @@ -201,7 +244,8 @@ pub struct TraefikServiceWeighted { /// Services defines the list of Kubernetes Service and/or TraefikService to load-balance, with weight. #[serde(default, skip_serializing_if = "Option::is_none")] pub services: Option>, - /// Sticky defines whether sticky sessions are enabled. More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#stickiness-and-load-balancing + /// Sticky defines whether sticky sessions are enabled. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#stickiness-and-load-balancing #[serde(default, skip_serializing_if = "Option::is_none")] pub sticky: Option, } @@ -212,36 +256,48 @@ pub struct TraefikServiceWeightedServices { /// Kind defines the kind of the Service. #[serde(default, skip_serializing_if = "Option::is_none")] pub kind: Option, - /// Name defines the name of the referenced Kubernetes Service or TraefikService. The differentiation between the two is specified in the Kind field. + /// Name defines the name of the referenced Kubernetes Service or TraefikService. + /// The differentiation between the two is specified in the Kind field. pub name: String, /// Namespace defines the namespace of the referenced Kubernetes Service or TraefikService. #[serde(default, skip_serializing_if = "Option::is_none")] pub namespace: Option, - /// NativeLB controls, when creating the load-balancer, whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. The Kubernetes Service itself does load-balance to the pods. By default, NativeLB is false. + /// NativeLB controls, when creating the load-balancer, + /// whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. + /// The Kubernetes Service itself does load-balance to the pods. + /// By default, NativeLB is false. #[serde(default, skip_serializing_if = "Option::is_none", rename = "nativeLB")] pub native_lb: Option, - /// PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. By default, passHostHeader is true. + /// PassHostHeader defines whether the client Host header is forwarded to the upstream Kubernetes Service. + /// By default, passHostHeader is true. #[serde(default, skip_serializing_if = "Option::is_none", rename = "passHostHeader")] pub pass_host_header: Option, - /// Port defines the port of a Kubernetes Service. This can be a reference to a named port. + /// Port defines the port of a Kubernetes Service. + /// This can be a reference to a named port. #[serde(default, skip_serializing_if = "Option::is_none")] pub port: Option, /// ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client. #[serde(default, skip_serializing_if = "Option::is_none", rename = "responseForwarding")] pub response_forwarding: Option, - /// Scheme defines the scheme to use for the request to the upstream Kubernetes Service. It defaults to https when Kubernetes Service port is 443, http otherwise. + /// Scheme defines the scheme to use for the request to the upstream Kubernetes Service. + /// It defaults to https when Kubernetes Service port is 443, http otherwise. #[serde(default, skip_serializing_if = "Option::is_none")] pub scheme: Option, - /// ServersTransport defines the name of ServersTransport resource to use. It allows to configure the transport between Traefik and your servers. Can only be used on a Kubernetes Service. + /// ServersTransport defines the name of ServersTransport resource to use. + /// It allows to configure the transport between Traefik and your servers. + /// Can only be used on a Kubernetes Service. #[serde(default, skip_serializing_if = "Option::is_none", rename = "serversTransport")] pub servers_transport: Option, - /// Sticky defines the sticky sessions configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions + /// Sticky defines the sticky sessions configuration. + /// More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions #[serde(default, skip_serializing_if = "Option::is_none")] pub sticky: Option, - /// Strategy defines the load balancing strategy between the servers. RoundRobin is the only supported value at the moment. + /// Strategy defines the load balancing strategy between the servers. + /// RoundRobin is the only supported value at the moment. #[serde(default, skip_serializing_if = "Option::is_none")] pub strategy: Option, - /// Weight defines the weight and should only be specified when Name references a TraefikService object (and to be precise, one that embeds a Weighted Round Robin). + /// Weight defines the weight and should only be specified when Name references a TraefikService object + /// (and to be precise, one that embeds a Weighted Round Robin). #[serde(default, skip_serializing_if = "Option::is_none")] pub weight: Option, } @@ -256,12 +312,17 @@ pub enum TraefikServiceWeightedServicesKind { /// ResponseForwarding defines how Traefik forwards the response from the upstream Kubernetes Service to the client. #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TraefikServiceWeightedServicesResponseForwarding { - /// FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. A negative value means to flush immediately after each write to the client. This configuration is ignored when ReverseProxy recognizes a response as a streaming response; for such responses, writes are flushed to the client immediately. Default: 100ms + /// FlushInterval defines the interval, in milliseconds, in between flushes to the client while copying the response body. + /// A negative value means to flush immediately after each write to the client. + /// This configuration is ignored when ReverseProxy recognizes a response as a streaming response; + /// for such responses, writes are flushed to the client immediately. + /// Default: 100ms #[serde(default, skip_serializing_if = "Option::is_none", rename = "flushInterval")] pub flush_interval: Option, } -/// Sticky defines the sticky sessions configuration. More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions +/// Sticky defines the sticky sessions configuration. +/// More info: https://doc.traefik.io/traefik/v3.0/routing/services/#sticky-sessions #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TraefikServiceWeightedServicesSticky { /// Cookie defines the sticky cookie configuration. @@ -275,13 +336,16 @@ pub struct TraefikServiceWeightedServicesStickyCookie { /// HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript. #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpOnly")] pub http_only: Option, - /// MaxAge indicates the number of seconds until the cookie expires. When set to a negative number, the cookie expires immediately. When set to zero, the cookie never expires. + /// MaxAge indicates the number of seconds until the cookie expires. + /// When set to a negative number, the cookie expires immediately. + /// When set to zero, the cookie never expires. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxAge")] pub max_age: Option, /// Name defines the Cookie name. #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, - /// SameSite defines the same site policy. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite + /// SameSite defines the same site policy. + /// More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite #[serde(default, skip_serializing_if = "Option::is_none", rename = "sameSite")] pub same_site: Option, /// Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS). @@ -289,7 +353,8 @@ pub struct TraefikServiceWeightedServicesStickyCookie { pub secure: Option, } -/// Sticky defines whether sticky sessions are enabled. More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#stickiness-and-load-balancing +/// Sticky defines whether sticky sessions are enabled. +/// More info: https://doc.traefik.io/traefik/v3.0/routing/providers/kubernetes-crd/#stickiness-and-load-balancing #[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)] pub struct TraefikServiceWeightedSticky { /// Cookie defines the sticky cookie configuration. @@ -303,13 +368,16 @@ pub struct TraefikServiceWeightedStickyCookie { /// HTTPOnly defines whether the cookie can be accessed by client-side APIs, such as JavaScript. #[serde(default, skip_serializing_if = "Option::is_none", rename = "httpOnly")] pub http_only: Option, - /// MaxAge indicates the number of seconds until the cookie expires. When set to a negative number, the cookie expires immediately. When set to zero, the cookie never expires. + /// MaxAge indicates the number of seconds until the cookie expires. + /// When set to a negative number, the cookie expires immediately. + /// When set to zero, the cookie never expires. #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxAge")] pub max_age: Option, /// Name defines the Cookie name. #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, - /// SameSite defines the same site policy. More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite + /// SameSite defines the same site policy. + /// More info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite #[serde(default, skip_serializing_if = "Option::is_none", rename = "sameSite")] pub same_site: Option, /// Secure defines whether the cookie can only be transmitted over an encrypted connection (i.e. HTTPS). diff --git a/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha1/clusterpolicyreports.rs b/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha1/clusterpolicyreports.rs index 308cd6972..6e1397c15 100644 --- a/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha1/clusterpolicyreports.rs +++ b/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha1/clusterpolicyreports.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/kubernetes-sigs/wg-policy-prototypes/wgpolicyk8s.io/v1alpha1/clusterpolicyreports.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; diff --git a/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha1/policyreports.rs b/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha1/policyreports.rs index 2123529cb..433aabb51 100644 --- a/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha1/policyreports.rs +++ b/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha1/policyreports.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/kubernetes-sigs/wg-policy-prototypes/wgpolicyk8s.io/v1alpha1/policyreports.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; diff --git a/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha2/clusterpolicyreports.rs b/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha2/clusterpolicyreports.rs index 792a157f6..b7e445a7c 100644 --- a/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha2/clusterpolicyreports.rs +++ b/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha2/clusterpolicyreports.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/kubernetes-sigs/wg-policy-prototypes/wgpolicyk8s.io/v1alpha2/clusterpolicyreports.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; diff --git a/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha2/policyreports.rs b/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha2/policyreports.rs index cdc6e7468..a8353dfd6 100644 --- a/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha2/policyreports.rs +++ b/kube-custom-resources-rs/src/wgpolicyk8s_io/v1alpha2/policyreports.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/kubernetes-sigs/wg-policy-prototypes/wgpolicyk8s.io/v1alpha2/policyreports.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; diff --git a/kube-custom-resources-rs/src/wgpolicyk8s_io/v1beta1/clusterpolicyreports.rs b/kube-custom-resources-rs/src/wgpolicyk8s_io/v1beta1/clusterpolicyreports.rs index 8310ff587..0fedaa081 100644 --- a/kube-custom-resources-rs/src/wgpolicyk8s_io/v1beta1/clusterpolicyreports.rs +++ b/kube-custom-resources-rs/src/wgpolicyk8s_io/v1beta1/clusterpolicyreports.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/kubernetes-sigs/wg-policy-prototypes/wgpolicyk8s.io/v1beta1/clusterpolicyreports.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap; diff --git a/kube-custom-resources-rs/src/wgpolicyk8s_io/v1beta1/policyreports.rs b/kube-custom-resources-rs/src/wgpolicyk8s_io/v1beta1/policyreports.rs index b2a2a8530..b4c5724cf 100644 --- a/kube-custom-resources-rs/src/wgpolicyk8s_io/v1beta1/policyreports.rs +++ b/kube-custom-resources-rs/src/wgpolicyk8s_io/v1beta1/policyreports.rs @@ -2,7 +2,7 @@ // kopium command: kopium --docs --filename=./crd-catalog/kubernetes-sigs/wg-policy-prototypes/wgpolicyk8s.io/v1beta1/policyreports.yaml --derive=Default --derive=PartialEq // kopium version: 0.16.5 - +use kube::CustomResource; use serde::{Serialize, Deserialize}; use std::collections::BTreeMap;