diff --git a/Makefile b/Makefile index b053ecb312..f86b20d450 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ PROVIDER := pulumi-resource-${PACK} CODEGEN := pulumi-gen-${PACK} VERSION ?= $(shell scripts/get-version) PYPI_VERSION := $(shell scripts/get-py-version) -KUBE_VERSION ?= v1.16.0 +KUBE_VERSION ?= v1.18.0-alpha.0 SWAGGER_URL ?= https://github.com/kubernetes/kubernetes/raw/${KUBE_VERSION}/api/openapi-spec/swagger.json OPENAPI_DIR := pkg/gen/openapi-specs OPENAPI_FILE := ${OPENAPI_DIR}/swagger-${KUBE_VERSION}.json diff --git a/sdk/nodejs/discovery/v1alpha1/EndpointSlice.ts b/sdk/nodejs/discovery/v1alpha1/EndpointSlice.ts index bb6fcd301e..fb82954c50 100755 --- a/sdk/nodejs/discovery/v1alpha1/EndpointSlice.ts +++ b/sdk/nodejs/discovery/v1alpha1/EndpointSlice.ts @@ -15,7 +15,10 @@ import { getVersion } from "../../version"; export class EndpointSlice extends pulumi.CustomResource { /** * addressType specifies the type of address carried by this EndpointSlice. All addresses in - * this slice must be the same type. Default is IP + * this slice must be the same type. The following address types are currently supported: * + * IP: Represents an IP Address. This can include both IPv4 and IPv6 + * addresses. + * * FQDN: Represents a Fully Qualified Domain Name. Default is IP */ public readonly addressType: pulumi.Output; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index c1034e3584..497146e82c 100755 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -1378,7 +1378,7 @@ export namespace apiextensions { /** * scope indicates whether the defined custom resource is cluster- or namespace-scoped. - * Allowed values are `Cluster` and `Namespaced`. Default is `Namespaced`. + * Allowed values are `Cluster` and `Namespaced`. */ scope: pulumi.Input @@ -1729,6 +1729,19 @@ export namespace apiextensions { */ x_kubernetes_list_type?: pulumi.Input + /** + * x-kubernetes-map-type annotates an object to further describe its topology. This extension + * must only be used when type is object and may have 2 possible values: + * + * 1) `granular`: + * These maps are actual maps (key-value pairs) and each fields are independent + * from each other (they can each be manipulated by separate actors). This is + * the default behaviour for all maps. + * 2) `atomic`: the list is treated as a single entity, like a scalar. + * Atomic maps will be entirely replaced when updated. + */ + x_kubernetes_map_type?: pulumi.Input + /** * x-kubernetes-preserve-unknown-fields stops the API server decoding step from pruning fields * which are not specified in the validation schema. This affects fields recursively, but @@ -2474,6 +2487,19 @@ export namespace apiextensions { */ x_kubernetes_list_type?: pulumi.Input + /** + * x-kubernetes-map-type annotates an object to further describe its topology. This extension + * must only be used when type is object and may have 2 possible values: + * + * 1) `granular`: + * These maps are actual maps (key-value pairs) and each fields are independent + * from each other (they can each be manipulated by separate actors). This is + * the default behaviour for all maps. + * 2) `atomic`: the list is treated as a single entity, like a scalar. + * Atomic maps will be entirely replaced when updated. + */ + x_kubernetes_map_type?: pulumi.Input + /** * x-kubernetes-preserve-unknown-fields stops the API server decoding step from pruning fields * which are not specified in the validation schema. This affects fields recursively, but @@ -16391,7 +16417,7 @@ export namespace core { * Expanded path within the volume from which the container's volume should be mounted. * Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded * using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath - * are mutually exclusive. This field is beta in 1.15. + * are mutually exclusive. */ subPathExpr?: pulumi.Input @@ -16526,10 +16552,10 @@ export namespace discovery { export interface Endpoint { /** * addresses of this endpoint. The contents of this field are interpreted according to the - * corresponding EndpointSlice addressType field. This allows for cases like dual-stack (IPv4 - * and IPv6) networking. Consumers (e.g. kube-proxy) must handle different types of addresses - * in the context of their own capabilities. This must contain at least one address but no - * more than 100. + * corresponding EndpointSlice addressType field. This allows for cases like dual-stack + * networking where both IPv4 and IPv6 addresses would be included with the IP addressType. + * Consumers (e.g. kube-proxy) must handle different types of addresses in the context of + * their own capabilities. This must contain at least one address but no more than 100. */ addresses: pulumi.Input[]> @@ -16625,7 +16651,10 @@ export namespace discovery { /** * addressType specifies the type of address carried by this EndpointSlice. All addresses in - * this slice must be the same type. Default is IP + * this slice must be the same type. The following address types are currently supported: * + * IP: Represents an IP Address. This can include both IPv4 and IPv6 + * addresses. + * * FQDN: Represents a Fully Qualified Domain Name. Default is IP */ addressType?: pulumi.Input @@ -19179,6 +19208,14 @@ export namespace meta { * Must be empty before the object is deleted from the registry. Each entry is an identifier * for the responsible component that will remove the entry from the list. If the * deletionTimestamp of the object is non-nil, entries in this list can only be removed. + * Finalizers may be processed and removed in any order. Order is NOT enforced because it + * introduces significant risk of stuck finalizers. finalizers is a shared field, any actor + * with permission can reorder it. If the finalizer list is processed in order, then this can + * lead to a situation in which the component responsible for the first finalizer in the list + * is waiting for a signal (field value, external system, or other) produced by a component + * responsible for a finalizer later in the list, resulting in a deadlock. Without enforced + * ordering finalizers are free to order amongst themselves and are not vulnerable to ordering + * changes in the list. */ finalizers?: pulumi.Input[]> @@ -20609,7 +20646,7 @@ export namespace policy { /** * Most recent generation observed when updating this PDB status. PodDisruptionsAllowed and - * other status informatio is valid only if observedGeneration equals to PDB's object + * other status information is valid only if observedGeneration equals to PDB's object * generation. */ observedGeneration?: pulumi.Input diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 0384a66f25..f2e522b739 100755 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -1341,7 +1341,7 @@ export namespace apiextensions { /** * scope indicates whether the defined custom resource is cluster- or namespace-scoped. - * Allowed values are `Cluster` and `Namespaced`. Default is `Namespaced`. + * Allowed values are `Cluster` and `Namespaced`. */ readonly scope: string @@ -1678,6 +1678,19 @@ export namespace apiextensions { */ readonly x_kubernetes_list_type: string + /** + * x-kubernetes-map-type annotates an object to further describe its topology. This extension + * must only be used when type is object and may have 2 possible values: + * + * 1) `granular`: + * These maps are actual maps (key-value pairs) and each fields are independent + * from each other (they can each be manipulated by separate actors). This is + * the default behaviour for all maps. + * 2) `atomic`: the list is treated as a single entity, like a scalar. + * Atomic maps will be entirely replaced when updated. + */ + readonly x_kubernetes_map_type: string + /** * x-kubernetes-preserve-unknown-fields stops the API server decoding step from pruning fields * which are not specified in the validation schema. This affects fields recursively, but @@ -2413,6 +2426,19 @@ export namespace apiextensions { */ readonly x_kubernetes_list_type: string + /** + * x-kubernetes-map-type annotates an object to further describe its topology. This extension + * must only be used when type is object and may have 2 possible values: + * + * 1) `granular`: + * These maps are actual maps (key-value pairs) and each fields are independent + * from each other (they can each be manipulated by separate actors). This is + * the default behaviour for all maps. + * 2) `atomic`: the list is treated as a single entity, like a scalar. + * Atomic maps will be entirely replaced when updated. + */ + readonly x_kubernetes_map_type: string + /** * x-kubernetes-preserve-unknown-fields stops the API server decoding step from pruning fields * which are not specified in the validation schema. This affects fields recursively, but @@ -15866,7 +15892,7 @@ export namespace core { * Expanded path within the volume from which the container's volume should be mounted. * Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded * using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath - * are mutually exclusive. This field is beta in 1.15. + * are mutually exclusive. */ readonly subPathExpr: string @@ -15995,10 +16021,10 @@ export namespace discovery { export interface Endpoint { /** * addresses of this endpoint. The contents of this field are interpreted according to the - * corresponding EndpointSlice addressType field. This allows for cases like dual-stack (IPv4 - * and IPv6) networking. Consumers (e.g. kube-proxy) must handle different types of addresses - * in the context of their own capabilities. This must contain at least one address but no - * more than 100. + * corresponding EndpointSlice addressType field. This allows for cases like dual-stack + * networking where both IPv4 and IPv6 addresses would be included with the IP addressType. + * Consumers (e.g. kube-proxy) must handle different types of addresses in the context of + * their own capabilities. This must contain at least one address but no more than 100. */ readonly addresses: string[] @@ -16085,7 +16111,10 @@ export namespace discovery { export interface EndpointSlice { /** * addressType specifies the type of address carried by this EndpointSlice. All addresses in - * this slice must be the same type. Default is IP + * this slice must be the same type. The following address types are currently supported: * + * IP: Represents an IP Address. This can include both IPv4 and IPv6 + * addresses. + * * FQDN: Represents a Fully Qualified Domain Name. Default is IP */ readonly addressType: string @@ -18534,6 +18563,14 @@ export namespace meta { * Must be empty before the object is deleted from the registry. Each entry is an identifier * for the responsible component that will remove the entry from the list. If the * deletionTimestamp of the object is non-nil, entries in this list can only be removed. + * Finalizers may be processed and removed in any order. Order is NOT enforced because it + * introduces significant risk of stuck finalizers. finalizers is a shared field, any actor + * with permission can reorder it. If the finalizer list is processed in order, then this can + * lead to a situation in which the component responsible for the first finalizer in the list + * is waiting for a signal (field value, external system, or other) produced by a component + * responsible for a finalizer later in the list, resulting in a deadlock. Without enforced + * ordering finalizers are free to order amongst themselves and are not vulnerable to ordering + * changes in the list. */ readonly finalizers: string[] @@ -19897,7 +19934,7 @@ export namespace policy { /** * Most recent generation observed when updating this PDB status. PodDisruptionsAllowed and - * other status informatio is valid only if observedGeneration equals to PDB's object + * other status information is valid only if observedGeneration equals to PDB's object * generation. */ readonly observedGeneration: number diff --git a/sdk/python/pulumi_kubernetes/discovery/v1alpha1/EndpointSlice.py b/sdk/python/pulumi_kubernetes/discovery/v1alpha1/EndpointSlice.py index ea4497e19d..56da421bf9 100755 --- a/sdk/python/pulumi_kubernetes/discovery/v1alpha1/EndpointSlice.py +++ b/sdk/python/pulumi_kubernetes/discovery/v1alpha1/EndpointSlice.py @@ -35,7 +35,10 @@ class EndpointSlice(pulumi.CustomResource): address_type: pulumi.Output[str] """ addressType specifies the type of address carried by this EndpointSlice. All addresses in this - slice must be the same type. Default is IP + slice must be the same type. The following address types are currently supported: * IP: + Represents an IP Address. This can include both IPv4 and IPv6 + addresses. + * FQDN: Represents a Fully Qualified Domain Name. Default is IP """ endpoints: pulumi.Output[list] @@ -66,7 +69,11 @@ def __init__(self, resource_name, opts=None, endpoints=None, address_type=None, :param pulumi.Input[list] endpoints: endpoints is a list of unique endpoints in this slice. Each slice may include a maximum of 1000 endpoints. :param pulumi.Input[str] address_type: addressType specifies the type of address carried by this EndpointSlice. All - addresses in this slice must be the same type. Default is IP + addresses in this slice must be the same type. The following address types are + currently supported: * IP: Represents an IP Address. This can include both IPv4 and + IPv6 + addresses. + * FQDN: Represents a Fully Qualified Domain Name. Default is IP :param pulumi.Input[dict] metadata: Standard object's metadata. :param pulumi.Input[list] ports: ports specifies the list of network ports exposed by each endpoint in this slice. Each port must have a unique name. When ports is empty, it indicates that there are