Skip to content

Commit

Permalink
feat: adding eks schemas in newer eks anywhere clusters (#459)
Browse files Browse the repository at this point in the history
  • Loading branch information
willejs authored Feb 2, 2025
1 parent 7dd60b4 commit 2dcd060
Show file tree
Hide file tree
Showing 4 changed files with 1,026 additions and 0 deletions.
276 changes: 276 additions & 0 deletions eks.amazonaws.com/ingressclassparams_v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,276 @@
{
"description": "IngressClassParams is the Schema for the IngressClassParams API",
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"description": "IngressClassParamsSpec defines the desired state of IngressClassParams",
"properties": {
"certificateARNs": {
"description": "CertificateARNs specifies ARNs of the certificates for all Ingresses that belong to IngressClass with this IngressClassParams.",
"items": {
"type": "string"
},
"type": "array"
},
"group": {
"description": "Group defines the IngressGroup for all Ingresses that belong to IngressClass with this IngressClassParams.",
"properties": {
"name": {
"description": "Name is the name of IngressGroup.",
"maxLength": 63,
"minLength": 1,
"pattern": "^([a-z0-9][-a-z0-9.]*)?[a-z0-9]$",
"type": "string"
}
},
"required": [
"name"
],
"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": [
"ipv4",
"dualstack",
"dualstack-without-public-ipv4"
],
"type": "string"
},
"listeners": {
"description": "Listeners define a list of listeners with their protocol, port and attributes.",
"items": {
"description": "Listener defines listeners settings for load balancers",
"properties": {
"attributes": {
"description": "The attributes of the listener",
"items": {
"description": "ListenerAttribute defines attributes on listeners",
"properties": {
"key": {
"description": "The key of the attribute.",
"maxLength": 256,
"minLength": 1,
"type": "string"
},
"value": {
"description": "The value of the attribute.",
"maxLength": 1024,
"minLength": 0,
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"port": {
"description": "The port of the listener",
"format": "int32",
"maximum": 65535,
"minimum": 1,
"type": "integer"
},
"protocol": {
"description": "The protocol of the listener",
"enum": [
"HTTP",
"HTTPS"
],
"type": "string"
}
},
"required": [
"port",
"protocol"
],
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"loadBalancerAttributes": {
"description": "LoadBalancerAttributes define the custom attributes to LoadBalancers for all Ingress that belong to IngressClass with this IngressClassParams.",
"items": {
"description": "LoadBalancerAttribute defines attributes on load balancer",
"properties": {
"key": {
"description": "The key of the attribute.",
"maxLength": 256,
"minLength": 1,
"type": "string"
},
"value": {
"description": "The value of the attribute.",
"maxLength": 1024,
"minLength": 0,
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"namespaceSelector": {
"description": "NamespaceSelector restrict the namespaces of Ingresses that are allowed to specify the IngressClass with this IngressClassParams.\nIf absent or present but empty, it selects all namespaces.",
"properties": {
"matchExpressions": {
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
"items": {
"description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
"properties": {
"key": {
"description": "key is the label key that the selector applies to.",
"type": "string"
},
"operator": {
"description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
"type": "string"
},
"values": {
"description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
"items": {
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"required": [
"key",
"operator"
],
"type": "object",
"additionalProperties": false
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"matchLabels": {
"additionalProperties": {
"type": "string"
},
"description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
"type": "object"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic",
"additionalProperties": false
},
"scheme": {
"description": "Scheme defines the scheme for all Ingresses that belong to IngressClass with this IngressClassParams.",
"enum": [
"internal",
"internet-facing"
],
"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 within the load balancer's VPC\nMust specify exactly one of `ids` or `matchTags`\"",
"items": {
"pattern": "^subnet-[0-9a-f]+$",
"type": "string"
},
"type": "array"
},
"matchTags": {
"description": "matchTags specify the tag requirements of subnets within the load balancer's VPC.\nMust specify exactly one of `ids` or `matchTags`\"",
"items": {
"description": "TagSelectorRequirement is the tag requirement to select subnets by tags",
"properties": {
"key": {
"description": "key is the tag key that the selector applies to.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"values": {
"description": "values is an array of string values.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"key"
],
"type": "object",
"additionalProperties": false
},
"type": "array"
}
},
"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": {
"description": "Tag defines an AWS Tag assigned to resources.",
"properties": {
"key": {
"description": "The key of the tag.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"value": {
"description": "The value of the tag.",
"maxLength": 256,
"minLength": 0,
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object",
"additionalProperties": false
},
"type": "array"
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object"
}
Loading

0 comments on commit 2dcd060

Please sign in to comment.