From 8f0604e873746d6b2d49794e5b37768460e7b545 Mon Sep 17 00:00:00 2001 From: Niels van Zwieten <81711+nielsvz@users.noreply.github.com> Date: Tue, 25 Jul 2023 17:11:58 +0200 Subject: [PATCH] fix: update alb controller crds (#193) --- elbv2.k8s.aws/ingressclassparams_v1beta1.json | 39 +++ .../targetgroupbinding_v1alpha1.json | 303 +++++++++--------- elbv2.k8s.aws/targetgroupbinding_v1beta1.json | 35 +- 3 files changed, 217 insertions(+), 160 deletions(-) diff --git a/elbv2.k8s.aws/ingressclassparams_v1beta1.json b/elbv2.k8s.aws/ingressclassparams_v1beta1.json index bcf414c6..43885106 100644 --- a/elbv2.k8s.aws/ingressclassparams_v1beta1.json +++ b/elbv2.k8s.aws/ingressclassparams_v1beta1.json @@ -29,6 +29,13 @@ "type": "object", "additionalProperties": false }, + "inboundCIDRs": { + "description": "InboundCIDRs specifies the CIDRs that are allowed to access the Ingresses that belong to IngressClass with this IngressClassParams.", + "items": { + "type": "string" + }, + "type": "array" + }, "ipAddressType": { "description": "IPAddressType defines the ip address type for all Ingresses that belong to IngressClass with this IngressClassParams.", "enum": [ @@ -102,6 +109,7 @@ } }, "type": "object", + "x-kubernetes-map-type": "atomic", "additionalProperties": false }, "scheme": { @@ -112,6 +120,37 @@ ], "type": "string" }, + "sslPolicy": { + "description": "SSLPolicy specifies the SSL Policy for all Ingresses that belong to IngressClass with this IngressClassParams.", + "type": "string" + }, + "subnets": { + "description": "Subnets defines the subnets for all Ingresses that belong to IngressClass with this IngressClassParams.", + "properties": { + "ids": { + "description": "IDs specify the resource IDs of subnets. Exactly one of this or `tags` must be specified.", + "items": { + "description": "SubnetID specifies a subnet ID.", + "pattern": "subnet-[0-9a-f]+", + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "tags": { + "additionalProperties": { + "items": { + "type": "string" + }, + "type": "array" + }, + "description": "Tags specifies subnets in the load balancer's VPC where each tag specified in the map key contains one of the values in the corresponding value list. Exactly one of this or `ids` must be specified.", + "type": "object" + } + }, + "type": "object", + "additionalProperties": false + }, "tags": { "description": "Tags defines list of Tags on AWS resources provisioned for Ingresses that belong to IngressClass with this IngressClassParams.", "items": { diff --git a/elbv2.k8s.aws/targetgroupbinding_v1alpha1.json b/elbv2.k8s.aws/targetgroupbinding_v1alpha1.json index 4d07a349..0317ad23 100644 --- a/elbv2.k8s.aws/targetgroupbinding_v1alpha1.json +++ b/elbv2.k8s.aws/targetgroupbinding_v1alpha1.json @@ -1,162 +1,169 @@ { - "openAPIV3Schema": { - "description": "TargetGroupBinding is the Schema for the TargetGroupBinding 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", - "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", - "type": "string" - }, - "metadata": { - "type": "object" - }, - "spec": { - "description": "TargetGroupBindingSpec defines the desired state of TargetGroupBinding", - "properties": { - "networking": { - "description": "networking provides the networking setup for ELBV2 LoadBalancer to access targets in TargetGroup.", - "properties": { - "ingress": { - "description": "List of ingress rules to allow ELBV2 LoadBalancer to access targets in TargetGroup.", - "items": { - "properties": { - "from": { - "description": "List of peers which should be able to access the targets in TargetGroup. At least one NetworkingPeer should be specified.", - "items": { - "description": "NetworkingPeer defines the source/destination peer for networking rules.", - "properties": { - "ipBlock": { - "description": "IPBlock defines an IPBlock peer. If specified, none of the other fields can be set.", - "properties": { - "cidr": { - "description": "CIDR is the network CIDR. Both IPV4 or IPV6 CIDR are accepted.", - "type": "string" - } - }, - "required": [ - "cidr" - ], - "type": "object" + "description": "TargetGroupBinding is the Schema for the TargetGroupBinding 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", + "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", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "description": "TargetGroupBindingSpec defines the desired state of TargetGroupBinding", + "properties": { + "networking": { + "description": "networking provides the networking setup for ELBV2 LoadBalancer to access targets in TargetGroup.", + "properties": { + "ingress": { + "description": "List of ingress rules to allow ELBV2 LoadBalancer to access targets in TargetGroup.", + "items": { + "properties": { + "from": { + "description": "List of peers which should be able to access the targets in TargetGroup. At least one NetworkingPeer should be specified.", + "items": { + "description": "NetworkingPeer defines the source/destination peer for networking rules.", + "properties": { + "ipBlock": { + "description": "IPBlock defines an IPBlock peer. If specified, none of the other fields can be set.", + "properties": { + "cidr": { + "description": "CIDR is the network CIDR. Both IPV4 or IPV6 CIDR are accepted.", + "type": "string" + } }, - "securityGroup": { - "description": "SecurityGroup defines a SecurityGroup peer. If specified, none of the other fields can be set.", - "properties": { - "groupID": { - "description": "GroupID is the EC2 SecurityGroupID.", - "type": "string" - } - }, - "required": [ - "groupID" - ], - "type": "object" - } + "required": [ + "cidr" + ], + "type": "object", + "additionalProperties": false }, - "type": "object" + "securityGroup": { + "description": "SecurityGroup defines a SecurityGroup peer. If specified, none of the other fields can be set.", + "properties": { + "groupID": { + "description": "GroupID is the EC2 SecurityGroupID.", + "type": "string" + } + }, + "required": [ + "groupID" + ], + "type": "object", + "additionalProperties": false + } }, - "type": "array" + "type": "object", + "additionalProperties": false }, - "ports": { - "description": "List of ports which should be made accessible on the targets in TargetGroup. If ports is empty or unspecified, it defaults to all ports with TCP.", - "items": { - "properties": { - "port": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" - } - ], - "description": "The port which traffic must match. When NodePort endpoints(instance TargetType) is used, this must be a numerical port. When Port endpoints(ip TargetType) is used, this can be either numerical or named port on pods. if port is unspecified, it defaults to all ports.", - "x-kubernetes-int-or-string": true - }, - "protocol": { - "description": "The protocol which traffic must match. If protocol is unspecified, it defaults to TCP.", - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - } + "type": "array" + }, + "ports": { + "description": "List of ports which should be made accessible on the targets in TargetGroup. If ports is empty or unspecified, it defaults to all ports with TCP.", + "items": { + "properties": { + "port": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], + "description": "The port which traffic must match. When NodePort endpoints(instance TargetType) is used, this must be a numerical port. When Port endpoints(ip TargetType) is used, this can be either numerical or named port on pods. if port is unspecified, it defaults to all ports.", + "x-kubernetes-int-or-string": true }, - "type": "object" + "protocol": { + "description": "The protocol which traffic must match. If protocol is unspecified, it defaults to TCP.", + "enum": [ + "TCP", + "UDP" + ], + "type": "string" + } }, - "type": "array" - } - }, - "required": [ - "from", - "ports" - ], - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "serviceRef": { - "description": "serviceRef is a reference to a Kubernetes Service and ServicePort.", - "properties": { - "name": { - "description": "Name is the name of the Service.", - "type": "string" - }, - "port": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "string" + "type": "object", + "additionalProperties": false + }, + "type": "array" } + }, + "required": [ + "from", + "ports" ], - "description": "Port is the port of the ServicePort.", - "x-kubernetes-int-or-string": true - } - }, - "required": [ - "name", - "port" - ], - "type": "object" + "type": "object", + "additionalProperties": false + }, + "type": "array" + } }, - "targetGroupARN": { - "description": "targetGroupARN is the Amazon Resource Name (ARN) for the TargetGroup.", - "type": "string" + "type": "object", + "additionalProperties": false + }, + "serviceRef": { + "description": "serviceRef is a reference to a Kubernetes Service and ServicePort.", + "properties": { + "name": { + "description": "Name is the name of the Service.", + "type": "string" + }, + "port": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "string" + } + ], + "description": "Port is the port of the ServicePort.", + "x-kubernetes-int-or-string": true + } }, - "targetType": { - "description": "targetType is the TargetType of TargetGroup. If unspecified, it will be automatically inferred.", - "enum": [ - "instance", - "ip" - ], - "type": "string" - } + "required": [ + "name", + "port" + ], + "type": "object", + "additionalProperties": false }, - "required": [ - "serviceRef", - "targetGroupARN" - ], - "type": "object" - }, - "status": { - "description": "TargetGroupBindingStatus defines the observed state of TargetGroupBinding", - "properties": { - "observedGeneration": { - "description": "The generation observed by the TargetGroupBinding controller.", - "format": "int64", - "type": "integer" - } + "targetGroupARN": { + "description": "targetGroupARN is the Amazon Resource Name (ARN) for the TargetGroup.", + "type": "string" }, - "type": "object" - } + "targetType": { + "description": "targetType is the TargetType of TargetGroup. If unspecified, it will be automatically inferred.", + "enum": [ + "instance", + "ip" + ], + "type": "string" + } + }, + "required": [ + "serviceRef", + "targetGroupARN" + ], + "type": "object", + "additionalProperties": false }, - "type": "object" - } -} \ No newline at end of file + "status": { + "description": "TargetGroupBindingStatus defines the observed state of TargetGroupBinding", + "properties": { + "observedGeneration": { + "description": "The generation observed by the TargetGroupBinding controller.", + "format": "int64", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object" +} diff --git a/elbv2.k8s.aws/targetgroupbinding_v1beta1.json b/elbv2.k8s.aws/targetgroupbinding_v1beta1.json index 81c4f099..3c461a49 100644 --- a/elbv2.k8s.aws/targetgroupbinding_v1beta1.json +++ b/elbv2.k8s.aws/targetgroupbinding_v1beta1.json @@ -47,7 +47,8 @@ "required": [ "cidr" ], - "type": "object" + "type": "object", + "additionalProperties": false }, "securityGroup": { "description": "SecurityGroup defines a SecurityGroup peer. If specified, none of the other fields can be set.", @@ -60,10 +61,12 @@ "required": [ "groupID" ], - "type": "object" + "type": "object", + "additionalProperties": false } }, - "type": "object" + "type": "object", + "additionalProperties": false }, "type": "array" }, @@ -93,7 +96,8 @@ "type": "string" } }, - "type": "object" + "type": "object", + "additionalProperties": false }, "type": "array" } @@ -102,12 +106,14 @@ "from", "ports" ], - "type": "object" + "type": "object", + "additionalProperties": false }, "type": "array" } }, - "type": "object" + "type": "object", + "additionalProperties": false }, "nodeSelector": { "description": "node selector for instance type target groups to only register certain nodes", @@ -137,7 +143,8 @@ "key", "operator" ], - "type": "object" + "type": "object", + "additionalProperties": false }, "type": "array" }, @@ -150,7 +157,8 @@ } }, "type": "object", - "x-kubernetes-map-type": "atomic" + "x-kubernetes-map-type": "atomic", + "additionalProperties": false }, "serviceRef": { "description": "serviceRef is a reference to a Kubernetes Service and ServicePort.", @@ -176,7 +184,8 @@ "name", "port" ], - "type": "object" + "type": "object", + "additionalProperties": false }, "targetGroupARN": { "description": "targetGroupARN is the Amazon Resource Name (ARN) for the TargetGroup.", @@ -196,7 +205,8 @@ "serviceRef", "targetGroupARN" ], - "type": "object" + "type": "object", + "additionalProperties": false }, "status": { "description": "TargetGroupBindingStatus defines the observed state of TargetGroupBinding", @@ -207,8 +217,9 @@ "type": "integer" } }, - "type": "object" + "type": "object", + "additionalProperties": false } }, "type": "object" -} \ No newline at end of file +}