diff --git a/Makefile b/Makefile index 5bb4f63a0e..ab1e334776 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.14.0-beta.0 +KUBE_VERSION ?= v1.14.0-beta.1 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/provider.ts b/sdk/nodejs/provider.ts index bb8d17268c..32f32f92ba 100755 --- a/sdk/nodejs/provider.ts +++ b/sdk/nodejs/provider.ts @@ -350,6 +350,10 @@ export namespace yaml { public getResource(groupVersionKind: "networking.k8s.io/v1/NetworkPolicy", namespace: string, name: string): pulumi.Output; public getResource(groupVersionKind: "networking.k8s.io/v1/NetworkPolicyList", name: string): pulumi.Output; public getResource(groupVersionKind: "networking.k8s.io/v1/NetworkPolicyList", namespace: string, name: string): pulumi.Output; + public getResource(groupVersionKind: "networking.k8s.io/v1beta1/Ingress", name: string): pulumi.Output; + public getResource(groupVersionKind: "networking.k8s.io/v1beta1/Ingress", namespace: string, name: string): pulumi.Output; + public getResource(groupVersionKind: "networking.k8s.io/v1beta1/IngressList", name: string): pulumi.Output; + public getResource(groupVersionKind: "networking.k8s.io/v1beta1/IngressList", namespace: string, name: string): pulumi.Output; public getResource(groupVersionKind: "policy/v1beta1/PodDisruptionBudget", name: string): pulumi.Output; public getResource(groupVersionKind: "policy/v1beta1/PodDisruptionBudget", namespace: string, name: string): pulumi.Output; public getResource(groupVersionKind: "policy/v1beta1/PodDisruptionBudgetList", name: string): pulumi.Output; @@ -406,6 +410,10 @@ export namespace yaml { public getResource(groupVersionKind: "rbac.authorization.k8s.io/v1beta1/RoleBindingList", namespace: string, name: string): pulumi.Output; public getResource(groupVersionKind: "rbac.authorization.k8s.io/v1beta1/RoleList", name: string): pulumi.Output; public getResource(groupVersionKind: "rbac.authorization.k8s.io/v1beta1/RoleList", namespace: string, name: string): pulumi.Output; + public getResource(groupVersionKind: "scheduling.k8s.io/v1/PriorityClass", name: string): pulumi.Output; + public getResource(groupVersionKind: "scheduling.k8s.io/v1/PriorityClass", namespace: string, name: string): pulumi.Output; + public getResource(groupVersionKind: "scheduling.k8s.io/v1/PriorityClassList", name: string): pulumi.Output; + public getResource(groupVersionKind: "scheduling.k8s.io/v1/PriorityClassList", namespace: string, name: string): pulumi.Output; public getResource(groupVersionKind: "scheduling.k8s.io/v1alpha1/PriorityClass", name: string): pulumi.Output; public getResource(groupVersionKind: "scheduling.k8s.io/v1alpha1/PriorityClass", namespace: string, name: string): pulumi.Output; public getResource(groupVersionKind: "scheduling.k8s.io/v1alpha1/PriorityClassList", name: string): pulumi.Output; @@ -1572,6 +1580,24 @@ export namespace yaml { public getResourceProperty(groupVersionKind: "networking.k8s.io/v1/NetworkPolicyList", namespace: string, name: string, property: "kind"): pulumi.Output<"NetworkPolicyList">; public getResourceProperty(groupVersionKind: "networking.k8s.io/v1/NetworkPolicyList", name: string, property: "metadata"): pulumi.Output; public getResourceProperty(groupVersionKind: "networking.k8s.io/v1/NetworkPolicyList", namespace: string, name: string, property: "metadata"): pulumi.Output; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/Ingress", name: string, property: "api_version"): pulumi.Output<"networking.k8s.io/v1beta1">; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/Ingress", namespace: string, name: string, property: "api_version"): pulumi.Output<"networking.k8s.io/v1beta1">; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/Ingress", name: string, property: "kind"): pulumi.Output<"Ingress">; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/Ingress", namespace: string, name: string, property: "kind"): pulumi.Output<"Ingress">; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/Ingress", name: string, property: "metadata"): pulumi.Output; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/Ingress", namespace: string, name: string, property: "metadata"): pulumi.Output; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/Ingress", name: string, property: "spec"): pulumi.Output; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/Ingress", namespace: string, name: string, property: "spec"): pulumi.Output; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/Ingress", name: string, property: "status"): pulumi.Output; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/Ingress", namespace: string, name: string, property: "status"): pulumi.Output; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/IngressList", name: string, property: "api_version"): pulumi.Output<"networking.k8s.io/v1beta1">; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/IngressList", namespace: string, name: string, property: "api_version"): pulumi.Output<"networking.k8s.io/v1beta1">; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/IngressList", name: string, property: "items"): pulumi.Output; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/IngressList", namespace: string, name: string, property: "items"): pulumi.Output; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/IngressList", name: string, property: "kind"): pulumi.Output<"IngressList">; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/IngressList", namespace: string, name: string, property: "kind"): pulumi.Output<"IngressList">; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/IngressList", name: string, property: "metadata"): pulumi.Output; + public getResourceProperty(groupVersionKind: "networking.k8s.io/v1beta1/IngressList", namespace: string, name: string, property: "metadata"): pulumi.Output; public getResourceProperty(groupVersionKind: "policy/v1beta1/PodDisruptionBudget", name: string, property: "api_version"): pulumi.Output<"policy/v1beta1">; public getResourceProperty(groupVersionKind: "policy/v1beta1/PodDisruptionBudget", namespace: string, name: string, property: "api_version"): pulumi.Output<"policy/v1beta1">; public getResourceProperty(groupVersionKind: "policy/v1beta1/PodDisruptionBudget", name: string, property: "kind"): pulumi.Output<"PodDisruptionBudget">; @@ -1816,6 +1842,26 @@ export namespace yaml { public getResourceProperty(groupVersionKind: "rbac.authorization.k8s.io/v1beta1/RoleList", namespace: string, name: string, property: "kind"): pulumi.Output<"RoleList">; public getResourceProperty(groupVersionKind: "rbac.authorization.k8s.io/v1beta1/RoleList", name: string, property: "metadata"): pulumi.Output; public getResourceProperty(groupVersionKind: "rbac.authorization.k8s.io/v1beta1/RoleList", namespace: string, name: string, property: "metadata"): pulumi.Output; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClass", name: string, property: "api_version"): pulumi.Output<"scheduling.k8s.io/v1">; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClass", namespace: string, name: string, property: "api_version"): pulumi.Output<"scheduling.k8s.io/v1">; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClass", name: string, property: "description"): pulumi.Output; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClass", namespace: string, name: string, property: "description"): pulumi.Output; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClass", name: string, property: "global_default"): pulumi.Output; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClass", namespace: string, name: string, property: "global_default"): pulumi.Output; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClass", name: string, property: "kind"): pulumi.Output<"PriorityClass">; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClass", namespace: string, name: string, property: "kind"): pulumi.Output<"PriorityClass">; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClass", name: string, property: "metadata"): pulumi.Output; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClass", namespace: string, name: string, property: "metadata"): pulumi.Output; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClass", name: string, property: "value"): pulumi.Output; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClass", namespace: string, name: string, property: "value"): pulumi.Output; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClassList", name: string, property: "api_version"): pulumi.Output<"scheduling.k8s.io/v1">; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClassList", namespace: string, name: string, property: "api_version"): pulumi.Output<"scheduling.k8s.io/v1">; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClassList", name: string, property: "items"): pulumi.Output; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClassList", namespace: string, name: string, property: "items"): pulumi.Output; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClassList", name: string, property: "kind"): pulumi.Output<"PriorityClassList">; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClassList", namespace: string, name: string, property: "kind"): pulumi.Output<"PriorityClassList">; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClassList", name: string, property: "metadata"): pulumi.Output; + public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1/PriorityClassList", namespace: string, name: string, property: "metadata"): pulumi.Output; public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1alpha1/PriorityClass", name: string, property: "api_version"): pulumi.Output<"scheduling.k8s.io/v1alpha1">; public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1alpha1/PriorityClass", namespace: string, name: string, property: "api_version"): pulumi.Output<"scheduling.k8s.io/v1alpha1">; public getResourceProperty(groupVersionKind: "scheduling.k8s.io/v1alpha1/PriorityClass", name: string, property: "description"): pulumi.Output; @@ -2158,6 +2204,7 @@ export namespace yaml { || (apiVersion == "extensions/v1beta1" && kind == "PodSecurityPolicyList") || (apiVersion == "extensions/v1beta1" && kind == "ReplicaSetList") || (apiVersion == "networking.k8s.io/v1" && kind == "NetworkPolicyList") + || (apiVersion == "networking.k8s.io/v1beta1" && kind == "IngressList") || (apiVersion == "policy/v1beta1" && kind == "PodDisruptionBudgetList") || (apiVersion == "policy/v1beta1" && kind == "PodSecurityPolicyList") || (apiVersion == "rbac.authorization.k8s.io/v1" && kind == "ClusterRoleBindingList") @@ -2172,6 +2219,7 @@ export namespace yaml { || (apiVersion == "rbac.authorization.k8s.io/v1beta1" && kind == "ClusterRoleList") || (apiVersion == "rbac.authorization.k8s.io/v1beta1" && kind == "RoleBindingList") || (apiVersion == "rbac.authorization.k8s.io/v1beta1" && kind == "RoleList") + || (apiVersion == "scheduling.k8s.io/v1" && kind == "PriorityClassList") || (apiVersion == "scheduling.k8s.io/v1alpha1" && kind == "PriorityClassList") || (apiVersion == "scheduling.k8s.io/v1beta1" && kind == "PriorityClassList") || (apiVersion == "settings.k8s.io/v1alpha1" && kind == "PodPresetList") @@ -2800,6 +2848,16 @@ export namespace yaml { name: `networking.k8s.io/v1/NetworkPolicyList::${id}`, resource: new networking.v1.NetworkPolicyList(id, obj, opts), }]; + case "networking.k8s.io/v1beta1/Ingress": + return [{ + name: `networking.k8s.io/v1beta1/Ingress::${id}`, + resource: new networking.v1beta1.Ingress(id, obj, opts), + }]; + case "networking.k8s.io/v1beta1/IngressList": + return [{ + name: `networking.k8s.io/v1beta1/IngressList::${id}`, + resource: new networking.v1beta1.IngressList(id, obj, opts), + }]; case "policy/v1beta1/PodDisruptionBudget": return [{ name: `policy/v1beta1/PodDisruptionBudget::${id}`, @@ -2940,6 +2998,16 @@ export namespace yaml { name: `rbac.authorization.k8s.io/v1beta1/RoleList::${id}`, resource: new rbac.v1beta1.RoleList(id, obj, opts), }]; + case "scheduling.k8s.io/v1/PriorityClass": + return [{ + name: `scheduling.k8s.io/v1/PriorityClass::${id}`, + resource: new scheduling.v1.PriorityClass(id, obj, opts), + }]; + case "scheduling.k8s.io/v1/PriorityClassList": + return [{ + name: `scheduling.k8s.io/v1/PriorityClassList::${id}`, + resource: new scheduling.v1.PriorityClassList(id, obj, opts), + }]; case "scheduling.k8s.io/v1alpha1/PriorityClass": return [{ name: `scheduling.k8s.io/v1alpha1/PriorityClass::${id}`, @@ -3202,8 +3270,6 @@ export interface ProviderArgs { } export namespace admissionregistration { - * @param id An ID for the Kubernetes resource to retrieve. Takes the form - * @param id An ID for the Kubernetes resource to retrieve. Takes the form export namespace v1beta1 { /** * MutatingWebhookConfiguration describes the configuration of and admission webhook that accept @@ -7814,7 +7880,7 @@ export namespace coordination { * Pulumi will keep track of this resource using `name` as the Pulumi ID. * * @param name _Unique_ name used to register this resource with Pulumi. - * @param id An ID for the Kubernetes resource to retrive. Takes the form + * @param id An ID for the Kubernetes resource to retrieve. Takes the form * / or . * @param opts Uniquely specifies a CustomResource to select. */ @@ -7883,7 +7949,7 @@ export namespace coordination { * Pulumi will keep track of this resource using `name` as the Pulumi ID. * * @param name _Unique_ name used to register this resource with Pulumi. - * @param id An ID for the Kubernetes resource to retrive. Takes the form + * @param id An ID for the Kubernetes resource to retrieve. Takes the form * / or . * @param opts Uniquely specifies a CustomResource to select. */ @@ -11091,7 +11157,9 @@ export namespace extensions { /** * Ingress is a collection of rules that allow inbound connections to reach the endpoints * defined by a backend. An Ingress can be configured to give services externally-reachable - * urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. + * urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. DEPRECATED - + * This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the + * release notes for more information. */ export class Ingress extends pulumi.CustomResource { /** @@ -11919,6 +11987,157 @@ export namespace networking { } + export namespace v1beta1 { + /** + * Ingress is a collection of rules that allow inbound connections to reach the endpoints + * defined by a backend. An Ingress can be configured to give services externally-reachable + * urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. + */ + export class Ingress extends pulumi.CustomResource { + /** + * 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/api-conventions.md#resources + */ + public readonly apiVersion: pulumi.Output<"networking.k8s.io/v1beta1">; + + /** + * 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/api-conventions.md#types-kinds + */ + public readonly kind: pulumi.Output<"Ingress">; + + /** + * Standard object's metadata. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + */ + public readonly metadata: pulumi.Output; + + /** + * Spec is the desired state of the Ingress. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status + */ + public readonly spec: pulumi.Output; + + /** + * Status is the current state of the Ingress. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status + */ + public readonly status: pulumi.Output; + + + /** + * Get the state of an existing `Ingress` resource, as identified by `id`. + * Typically this ID is of the form /; if is omitted, then (per + * Kubernetes convention) the ID becomes default/. + * + * Pulumi will keep track of this resource using `name` as the Pulumi ID. + * + * @param name _Unique_ name used to register this resource with Pulumi. + * @param id An ID for the Kubernetes resource to retrieve. Takes the form + * / or . + * @param opts Uniquely specifies a CustomResource to select. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Ingress { + return new Ingress(name, undefined, { ...opts, id: id }); + } + + public getInputs(): inputApi.networking.v1beta1.Ingress { return this.__inputs; } + private readonly __inputs: inputApi.networking.v1beta1.Ingress; + + /** + * Create a networking.v1beta1.Ingress resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: inputApi.networking.v1beta1.Ingress, opts?: pulumi.CustomResourceOptions) { + let inputs: pulumi.Inputs = {}; + inputs["apiVersion"] = "networking.k8s.io/v1beta1"; + inputs["kind"] = "Ingress"; + inputs["metadata"] = args && args.metadata || undefined; + inputs["spec"] = args && args.spec || undefined; + inputs["status"] = args && args.status || undefined; + super("kubernetes:networking.k8s.io/v1beta1:Ingress", name, inputs, opts); + this.__inputs = args; + } + } + + /** + * IngressList is a collection of Ingress. + */ + export class IngressList extends pulumi.CustomResource { + /** + * 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/api-conventions.md#resources + */ + public readonly apiVersion: pulumi.Output<"networking.k8s.io/v1beta1">; + + /** + * Items is the list of Ingress. + */ + public readonly items: pulumi.Output; + + /** + * 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/api-conventions.md#types-kinds + */ + public readonly kind: pulumi.Output<"IngressList">; + + /** + * Standard object's metadata. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + */ + public readonly metadata: pulumi.Output; + + + /** + * Get the state of an existing `IngressList` resource, as identified by `id`. + * Typically this ID is of the form /; if is omitted, then (per + * Kubernetes convention) the ID becomes default/. + * + * Pulumi will keep track of this resource using `name` as the Pulumi ID. + * + * @param name _Unique_ name used to register this resource with Pulumi. + * @param id An ID for the Kubernetes resource to retrieve. Takes the form + * / or . + * @param opts Uniquely specifies a CustomResource to select. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): IngressList { + return new IngressList(name, undefined, { ...opts, id: id }); + } + + public getInputs(): inputApi.networking.v1beta1.IngressList { return this.__inputs; } + private readonly __inputs: inputApi.networking.v1beta1.IngressList; + + /** + * Create a networking.v1beta1.IngressList resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: inputApi.networking.v1beta1.IngressList, opts?: pulumi.CustomResourceOptions) { + let inputs: pulumi.Inputs = {}; + inputs["apiVersion"] = "networking.k8s.io/v1beta1"; + inputs["items"] = args && args.items || undefined; + inputs["kind"] = "IngressList"; + inputs["metadata"] = args && args.metadata || undefined; + super("kubernetes:networking.k8s.io/v1beta1:IngressList", name, inputs, opts); + this.__inputs = args; + } + } + + } + } export namespace policy { @@ -13932,11 +14151,172 @@ export namespace rbac { } export namespace scheduling { - export namespace v1alpha1 { + export namespace v1 { /** * PriorityClass defines mapping from a priority class name to the priority integer value. The * value can be any valid integer. */ + export class PriorityClass extends pulumi.CustomResource { + /** + * 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/api-conventions.md#resources + */ + public readonly apiVersion: pulumi.Output<"scheduling.k8s.io/v1">; + + /** + * description is an arbitrary string that usually provides guidelines on when this priority + * class should be used. + */ + public readonly description: pulumi.Output; + + /** + * globalDefault specifies whether this PriorityClass should be considered as the default + * priority for pods that do not have any priority class. Only one PriorityClass can be marked + * as `globalDefault`. However, if more than one PriorityClasses exists with their + * `globalDefault` field set to true, the smallest value of such global default + * PriorityClasses will be used as the default priority. + */ + public readonly globalDefault: pulumi.Output; + + /** + * 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/api-conventions.md#types-kinds + */ + public readonly kind: pulumi.Output<"PriorityClass">; + + /** + * Standard object's metadata. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + */ + public readonly metadata: pulumi.Output; + + /** + * The value of this priority class. This is the actual priority that pods receive when they + * have the name of this class in their pod spec. + */ + public readonly value: pulumi.Output; + + + /** + * Get the state of an existing `PriorityClass` resource, as identified by `id`. + * Typically this ID is of the form /; if is omitted, then (per + * Kubernetes convention) the ID becomes default/. + * + * Pulumi will keep track of this resource using `name` as the Pulumi ID. + * + * @param name _Unique_ name used to register this resource with Pulumi. + * @param id An ID for the Kubernetes resource to retrieve. Takes the form + * / or . + * @param opts Uniquely specifies a CustomResource to select. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): PriorityClass { + return new PriorityClass(name, undefined, { ...opts, id: id }); + } + + public getInputs(): inputApi.scheduling.v1.PriorityClass { return this.__inputs; } + private readonly __inputs: inputApi.scheduling.v1.PriorityClass; + + /** + * Create a scheduling.v1.PriorityClass resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: inputApi.scheduling.v1.PriorityClass, opts?: pulumi.CustomResourceOptions) { + let inputs: pulumi.Inputs = {}; + inputs["apiVersion"] = "scheduling.k8s.io/v1"; + inputs["description"] = args && args.description || undefined; + inputs["globalDefault"] = args && args.globalDefault || undefined; + inputs["kind"] = "PriorityClass"; + inputs["metadata"] = args && args.metadata || undefined; + inputs["value"] = args && args.value || undefined; + super("kubernetes:scheduling.k8s.io/v1:PriorityClass", name, inputs, opts); + this.__inputs = args; + } + } + + /** + * PriorityClassList is a collection of priority classes. + */ + export class PriorityClassList extends pulumi.CustomResource { + /** + * 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/api-conventions.md#resources + */ + public readonly apiVersion: pulumi.Output<"scheduling.k8s.io/v1">; + + /** + * items is the list of PriorityClasses + */ + public readonly items: pulumi.Output; + + /** + * 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/api-conventions.md#types-kinds + */ + public readonly kind: pulumi.Output<"PriorityClassList">; + + /** + * Standard list metadata More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + */ + public readonly metadata: pulumi.Output; + + + /** + * Get the state of an existing `PriorityClassList` resource, as identified by `id`. + * Typically this ID is of the form /; if is omitted, then (per + * Kubernetes convention) the ID becomes default/. + * + * Pulumi will keep track of this resource using `name` as the Pulumi ID. + * + * @param name _Unique_ name used to register this resource with Pulumi. + * @param id An ID for the Kubernetes resource to retrieve. Takes the form + * / or . + * @param opts Uniquely specifies a CustomResource to select. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): PriorityClassList { + return new PriorityClassList(name, undefined, { ...opts, id: id }); + } + + public getInputs(): inputApi.scheduling.v1.PriorityClassList { return this.__inputs; } + private readonly __inputs: inputApi.scheduling.v1.PriorityClassList; + + /** + * Create a scheduling.v1.PriorityClassList resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: inputApi.scheduling.v1.PriorityClassList, opts?: pulumi.CustomResourceOptions) { + let inputs: pulumi.Inputs = {}; + inputs["apiVersion"] = "scheduling.k8s.io/v1"; + inputs["items"] = args && args.items || undefined; + inputs["kind"] = "PriorityClassList"; + inputs["metadata"] = args && args.metadata || undefined; + super("kubernetes:scheduling.k8s.io/v1:PriorityClassList", name, inputs, opts); + this.__inputs = args; + } + } + + } + + export namespace v1alpha1 { + /** + * DEPRECATED - This group version of PriorityClass is deprecated by + * scheduling.k8s.io/v1/PriorityClass. PriorityClass defines mapping from a priority class name + * to the priority integer value. The value can be any valid integer. + */ export class PriorityClass extends pulumi.CustomResource { /** * APIVersion defines the versioned schema of this representation of an object. Servers should @@ -14094,8 +14474,9 @@ export namespace scheduling { export namespace v1beta1 { /** - * PriorityClass defines mapping from a priority class name to the priority integer value. The - * value can be any valid integer. + * DEPRECATED - This group version of PriorityClass is deprecated by + * scheduling.k8s.io/v1/PriorityClass. PriorityClass defines mapping from a priority class name + * to the priority integer value. The value can be any valid integer. */ export class PriorityClass extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 43ff4c37df..ff618d6552 100755 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -2868,7 +2868,7 @@ export namespace apps { * immediately when the rolling update starts, such that the total number of old and new pods * do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be * scaled up further, ensuring that total number of pods running at any time during the update - * is atmost 130% of desired pods. + * is at most 130% of desired pods. */ maxSurge?: pulumi.Input @@ -4043,7 +4043,7 @@ export namespace apps { * immediately when the rolling update starts, such that the total number of old and new pods * do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be * scaled up further, ensuring that total number of pods running at any time during the update - * is atmost 130% of desired pods. + * is at most 130% of desired pods. */ maxSurge?: pulumi.Input @@ -10313,10 +10313,14 @@ export namespace core { postStart?: pulumi.Input /** - * PreStop is called immediately before a container is terminated. The container is terminated - * after the handler completes. The reason for termination is passed to the handler. - * Regardless of the outcome of the handler, the container is eventually terminated. Other - * management of the container blocks until the hook completes. More info: + * PreStop is called immediately before a container is terminated due to an API request or + * management event such as liveness probe failure, preemption, resource contention, etc. The + * handler is not called if the container crashes or exits. The reason for termination is + * passed to the handler. The Pod's termination grace period countdown begins before the + * PreStop hooked is executed. Regardless of the outcome of the handler, the container will + * eventually terminate within the Pod's termination grace period. Other management of the + * container blocks until the hook completes or until the termination grace period is reached. + * More info: * https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks */ preStop?: pulumi.Input @@ -14462,6 +14466,14 @@ export namespace core { */ subPath?: pulumi.Input + /** + * 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 alpha in 1.14. + */ + subPathExpr?: pulumi.Input + } @@ -15415,7 +15427,9 @@ export namespace extensions { /** * Ingress is a collection of rules that allow inbound connections to reach the endpoints * defined by a backend. An Ingress can be configured to give services externally-reachable - * urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. + * urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. DEPRECATED - + * This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the + * release notes for more information. */ export interface Ingress { /** @@ -16300,7 +16314,7 @@ export namespace extensions { * scaled up immediately when the rolling update starts, such that the total number of old and * new pods do not exceed 130% of desired pods. Once old pods have been killed, new RC can be * scaled up further, ensuring that total number of pods running at any time during the update - * is atmost 130% of desired pods. + * is at most 130% of desired pods. */ maxSurge?: pulumi.Input @@ -17628,6 +17642,234 @@ export namespace networking { } + export namespace v1beta1 { + /** + * HTTPIngressPath associates a path regex with a backend. Incoming urls matching the path are + * forwarded to the backend. + */ + export interface HTTPIngressPath { + /** + * Backend defines the referenced service endpoint to which the traffic will be forwarded to. + */ + backend: pulumi.Input + + /** + * Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e this follows the + * egrep/unix syntax, not the perl syntax) 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 '/'. If unspecified, the path defaults to a + * catch all sending traffic to the backend. + */ + path?: pulumi.Input + + } + + + /** + * 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 '#'. + */ + export interface HTTPIngressRuleValue { + /** + * A collection of paths that map requests to backends. + */ + paths: pulumi.Input[]> + + } + + + /** + * Ingress is a collection of rules that allow inbound connections to reach the endpoints + * defined by a backend. An Ingress can be configured to give services externally-reachable + * urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. + */ + export interface Ingress { + /** + * 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/api-conventions.md#resources + */ + apiVersion?: pulumi.Input<"networking.k8s.io/v1beta1"> + + /** + * 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/api-conventions.md#types-kinds + */ + kind?: pulumi.Input<"Ingress"> + + /** + * Standard object's metadata. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + */ + metadata?: pulumi.Input + + /** + * Spec is the desired state of the Ingress. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status + */ + spec?: pulumi.Input + + /** + * Status is the current state of the Ingress. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status + */ + status?: pulumi.Input + + } + + export function isIngress(o: any): o is Ingress { + return o.apiVersion == "networking.k8s.io/v1beta1" && o.kind == "Ingress"; + } + + /** + * IngressBackend describes all endpoints for a given service and port. + */ + export interface IngressBackend { + /** + * Specifies the name of the referenced service. + */ + serviceName: pulumi.Input + + /** + * Specifies the port of the referenced service. + */ + servicePort: pulumi.Input + + } + + + /** + * IngressList is a collection of Ingress. + */ + export interface IngressList { + /** + * Items is the list of Ingress. + */ + items: pulumi.Input[]> + + /** + * 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/api-conventions.md#resources + */ + apiVersion?: pulumi.Input<"networking.k8s.io/v1beta1"> + + /** + * 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/api-conventions.md#types-kinds + */ + kind?: pulumi.Input<"IngressList"> + + /** + * Standard object's metadata. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + */ + metadata?: pulumi.Input + + } + + export function isIngressList(o: any): o is IngressList { + return o.apiVersion == "networking.k8s.io/v1beta1" && o.kind == "IngressList"; + } + + /** + * 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. + */ + export interface IngressRule { + /** + * 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 the RFC: 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?: pulumi.Input + + + http?: pulumi.Input + + } + + + /** + * IngressSpec describes the Ingress the user wishes to exist. + */ + export interface IngressSpec { + /** + * A default backend capable of servicing requests that don't match any rule. At least one of + * 'backend' or 'rules' must be specified. This field is optional to allow the loadbalancer + * controller or defaulting logic to specify a global default. + */ + backend?: pulumi.Input + + /** + * 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?: pulumi.Input[]> + + /** + * 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?: pulumi.Input[]> + + } + + + /** + * IngressStatus describe the current state of the Ingress. + */ + export interface IngressStatus { + /** + * LoadBalancer contains the current status of the load-balancer. + */ + loadBalancer?: pulumi.Input + + } + + + /** + * IngressTLS describes the transport layer security associated with an Ingress. + */ + export interface IngressTLS { + /** + * 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?: pulumi.Input[]> + + /** + * SecretName is the name of the secret used to terminate SSL traffic on 443. Field is left + * optional to allow SSL 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?: pulumi.Input + + } + + + } + } export namespace pkg { @@ -19591,7 +19833,7 @@ export namespace rbac { } export namespace scheduling { - export namespace v1alpha1 { + export namespace v1 { /** * PriorityClass defines mapping from a priority class name to the priority integer value. The * value can be any valid integer. @@ -19603,6 +19845,101 @@ export namespace scheduling { */ value: pulumi.Input + /** + * 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/api-conventions.md#resources + */ + apiVersion?: pulumi.Input<"scheduling.k8s.io/v1"> + + /** + * description is an arbitrary string that usually provides guidelines on when this priority + * class should be used. + */ + description?: pulumi.Input + + /** + * globalDefault specifies whether this PriorityClass should be considered as the default + * priority for pods that do not have any priority class. Only one PriorityClass can be marked + * as `globalDefault`. However, if more than one PriorityClasses exists with their + * `globalDefault` field set to true, the smallest value of such global default + * PriorityClasses will be used as the default priority. + */ + globalDefault?: pulumi.Input + + /** + * 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/api-conventions.md#types-kinds + */ + kind?: pulumi.Input<"PriorityClass"> + + /** + * Standard object's metadata. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + */ + metadata?: pulumi.Input + + } + + export function isPriorityClass(o: any): o is PriorityClass { + return o.apiVersion == "scheduling.k8s.io/v1" && o.kind == "PriorityClass"; + } + + /** + * PriorityClassList is a collection of priority classes. + */ + export interface PriorityClassList { + /** + * items is the list of PriorityClasses + */ + items: pulumi.Input[]> + + /** + * 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/api-conventions.md#resources + */ + apiVersion?: pulumi.Input<"scheduling.k8s.io/v1"> + + /** + * 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/api-conventions.md#types-kinds + */ + kind?: pulumi.Input<"PriorityClassList"> + + /** + * Standard list metadata More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + */ + metadata?: pulumi.Input + + } + + export function isPriorityClassList(o: any): o is PriorityClassList { + return o.apiVersion == "scheduling.k8s.io/v1" && o.kind == "PriorityClassList"; + } + + } + + export namespace v1alpha1 { + /** + * DEPRECATED - This group version of PriorityClass is deprecated by + * scheduling.k8s.io/v1/PriorityClass. PriorityClass defines mapping from a priority class name + * to the priority integer value. The value can be any valid integer. + */ + export interface PriorityClass { + /** + * The value of this priority class. This is the actual priority that pods receive when they + * have the name of this class in their pod spec. + */ + value: pulumi.Input + /** * 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 @@ -19687,8 +20024,9 @@ export namespace scheduling { export namespace v1beta1 { /** - * PriorityClass defines mapping from a priority class name to the priority integer value. The - * value can be any valid integer. + * DEPRECATED - This group version of PriorityClass is deprecated by + * scheduling.k8s.io/v1/PriorityClass. PriorityClass defines mapping from a priority class name + * to the priority integer value. The value can be any valid integer. */ export interface PriorityClass { /** diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index f5f4c097f0..22fa47e85a 100755 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -2717,7 +2717,7 @@ export namespace apps { * immediately when the rolling update starts, such that the total number of old and new pods * do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be * scaled up further, ensuring that total number of pods running at any time during the update - * is atmost 130% of desired pods. + * is at most 130% of desired pods. */ readonly maxSurge: number | string @@ -3828,7 +3828,7 @@ export namespace apps { * immediately when the rolling update starts, such that the total number of old and new pods * do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be * scaled up further, ensuring that total number of pods running at any time during the update - * is atmost 130% of desired pods. + * is at most 130% of desired pods. */ readonly maxSurge: number | string @@ -9772,10 +9772,14 @@ export namespace core { readonly postStart: core.v1.Handler /** - * PreStop is called immediately before a container is terminated. The container is terminated - * after the handler completes. The reason for termination is passed to the handler. - * Regardless of the outcome of the handler, the container is eventually terminated. Other - * management of the container blocks until the hook completes. More info: + * PreStop is called immediately before a container is terminated due to an API request or + * management event such as liveness probe failure, preemption, resource contention, etc. The + * handler is not called if the container crashes or exits. The reason for termination is + * passed to the handler. The Pod's termination grace period countdown begins before the + * PreStop hooked is executed. Regardless of the outcome of the handler, the container will + * eventually terminate within the Pod's termination grace period. Other management of the + * container blocks until the hook completes or until the termination grace period is reached. + * More info: * https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks */ readonly preStop: core.v1.Handler @@ -13736,6 +13740,14 @@ export namespace core { */ readonly subPath: string + /** + * 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 alpha in 1.14. + */ + readonly subPathExpr: string + } /** @@ -14639,7 +14651,9 @@ export namespace extensions { /** * Ingress is a collection of rules that allow inbound connections to reach the endpoints * defined by a backend. An Ingress can be configured to give services externally-reachable - * urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. + * urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. DEPRECATED - + * This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the + * release notes for more information. */ export interface Ingress { /** @@ -15476,7 +15490,7 @@ export namespace extensions { * scaled up immediately when the rolling update starts, such that the total number of old and * new pods do not exceed 130% of desired pods. Once old pods have been killed, new RC can be * scaled up further, ensuring that total number of pods running at any time during the update - * is atmost 130% of desired pods. + * is at most 130% of desired pods. */ readonly maxSurge: number | string @@ -16734,6 +16748,219 @@ export namespace networking { } + export namespace v1beta1 { + /** + * HTTPIngressPath associates a path regex with a backend. Incoming urls matching the path are + * forwarded to the backend. + */ + export interface HTTPIngressPath { + /** + * Backend defines the referenced service endpoint to which the traffic will be forwarded to. + */ + readonly backend: networking.v1beta1.IngressBackend + + /** + * Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e this follows the + * egrep/unix syntax, not the perl syntax) 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 '/'. If unspecified, the path defaults to a + * catch all sending traffic to the backend. + */ + readonly path: string + + } + + /** + * 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 '#'. + */ + export interface HTTPIngressRuleValue { + /** + * A collection of paths that map requests to backends. + */ + readonly paths: networking.v1beta1.HTTPIngressPath[] + + } + + /** + * Ingress is a collection of rules that allow inbound connections to reach the endpoints + * defined by a backend. An Ingress can be configured to give services externally-reachable + * urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. + */ + export interface Ingress { + /** + * 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/api-conventions.md#resources + */ + readonly apiVersion: "networking.k8s.io/v1beta1" + + /** + * 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/api-conventions.md#types-kinds + */ + readonly kind: "Ingress" + + /** + * Standard object's metadata. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + */ + readonly metadata: meta.v1.ObjectMeta + + /** + * Spec is the desired state of the Ingress. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status + */ + readonly spec: networking.v1beta1.IngressSpec + + /** + * Status is the current state of the Ingress. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status + */ + readonly status: networking.v1beta1.IngressStatus + + } + + /** + * IngressBackend describes all endpoints for a given service and port. + */ + export interface IngressBackend { + /** + * Specifies the name of the referenced service. + */ + readonly serviceName: string + + /** + * Specifies the port of the referenced service. + */ + readonly servicePort: number | string + + } + + /** + * IngressList is a collection of Ingress. + */ + export interface IngressList { + /** + * 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/api-conventions.md#resources + */ + readonly apiVersion: "networking.k8s.io/v1beta1" + + /** + * Items is the list of Ingress. + */ + readonly items: networking.v1beta1.Ingress[] + + /** + * 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/api-conventions.md#types-kinds + */ + readonly kind: "IngressList" + + /** + * Standard object's metadata. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + */ + readonly metadata: meta.v1.ListMeta + + } + + /** + * 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. + */ + export interface IngressRule { + /** + * 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 the RFC: 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. + */ + readonly host: string + + + readonly http: networking.v1beta1.HTTPIngressRuleValue + + } + + /** + * IngressSpec describes the Ingress the user wishes to exist. + */ + export interface IngressSpec { + /** + * A default backend capable of servicing requests that don't match any rule. At least one of + * 'backend' or 'rules' must be specified. This field is optional to allow the loadbalancer + * controller or defaulting logic to specify a global default. + */ + readonly backend: networking.v1beta1.IngressBackend + + /** + * A list of host rules used to configure the Ingress. If unspecified, or no rule matches, all + * traffic is sent to the default backend. + */ + readonly rules: networking.v1beta1.IngressRule[] + + /** + * 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. + */ + readonly tls: networking.v1beta1.IngressTLS[] + + } + + /** + * IngressStatus describe the current state of the Ingress. + */ + export interface IngressStatus { + /** + * LoadBalancer contains the current status of the load-balancer. + */ + readonly loadBalancer: core.v1.LoadBalancerStatus + + } + + /** + * IngressTLS describes the transport layer security associated with an Ingress. + */ + export interface IngressTLS { + /** + * 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. + */ + readonly hosts: string[] + + /** + * SecretName is the name of the secret used to terminate SSL traffic on 443. Field is left + * optional to allow SSL 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. + */ + readonly secretName: string + + } + + } + } export namespace pkg { @@ -18552,11 +18779,98 @@ export namespace rbac { } export namespace scheduling { - export namespace v1alpha1 { + export namespace v1 { /** * PriorityClass defines mapping from a priority class name to the priority integer value. The * value can be any valid integer. */ + export interface PriorityClass { + /** + * 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/api-conventions.md#resources + */ + readonly apiVersion: "scheduling.k8s.io/v1" + + /** + * description is an arbitrary string that usually provides guidelines on when this priority + * class should be used. + */ + readonly description: string + + /** + * globalDefault specifies whether this PriorityClass should be considered as the default + * priority for pods that do not have any priority class. Only one PriorityClass can be marked + * as `globalDefault`. However, if more than one PriorityClasses exists with their + * `globalDefault` field set to true, the smallest value of such global default + * PriorityClasses will be used as the default priority. + */ + readonly globalDefault: boolean + + /** + * 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/api-conventions.md#types-kinds + */ + readonly kind: "PriorityClass" + + /** + * Standard object's metadata. More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + */ + readonly metadata: meta.v1.ObjectMeta + + /** + * The value of this priority class. This is the actual priority that pods receive when they + * have the name of this class in their pod spec. + */ + readonly value: number + + } + + /** + * PriorityClassList is a collection of priority classes. + */ + export interface PriorityClassList { + /** + * 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/api-conventions.md#resources + */ + readonly apiVersion: "scheduling.k8s.io/v1" + + /** + * items is the list of PriorityClasses + */ + readonly items: scheduling.v1.PriorityClass[] + + /** + * 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/api-conventions.md#types-kinds + */ + readonly kind: "PriorityClassList" + + /** + * Standard list metadata More info: + * https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + */ + readonly metadata: meta.v1.ListMeta + + } + + } + + export namespace v1alpha1 { + /** + * DEPRECATED - This group version of PriorityClass is deprecated by + * scheduling.k8s.io/v1/PriorityClass. PriorityClass defines mapping from a priority class name + * to the priority integer value. The value can be any valid integer. + */ export interface PriorityClass { /** * APIVersion defines the versioned schema of this representation of an object. Servers should @@ -18640,8 +18954,9 @@ export namespace scheduling { export namespace v1beta1 { /** - * PriorityClass defines mapping from a priority class name to the priority integer value. The - * value can be any valid integer. + * DEPRECATED - This group version of PriorityClass is deprecated by + * scheduling.k8s.io/v1/PriorityClass. PriorityClass defines mapping from a priority class name + * to the priority integer value. The value can be any valid integer. */ export interface PriorityClass { /** diff --git a/sdk/python/pulumi_kubernetes/coordination/v1/Lease.py b/sdk/python/pulumi_kubernetes/coordination/v1/Lease.py index a9bc77947a..892ebd2e77 100755 --- a/sdk/python/pulumi_kubernetes/coordination/v1/Lease.py +++ b/sdk/python/pulumi_kubernetes/coordination/v1/Lease.py @@ -1,8 +1,12 @@ +# *** WARNING: this file was generated by the Pulumi Kubernetes codegen tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + import pulumi import pulumi.runtime from ... import tables + class Lease(pulumi.CustomResource): """ Lease defines a lease concept. diff --git a/sdk/python/pulumi_kubernetes/extensions/v1beta1/Ingress.py b/sdk/python/pulumi_kubernetes/extensions/v1beta1/Ingress.py index c64accdc5a..4e069aadd1 100755 --- a/sdk/python/pulumi_kubernetes/extensions/v1beta1/Ingress.py +++ b/sdk/python/pulumi_kubernetes/extensions/v1beta1/Ingress.py @@ -11,7 +11,9 @@ class Ingress(pulumi.CustomResource): """ Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load - balance traffic, terminate SSL, offer name based virtual hosting etc. + balance traffic, terminate SSL, offer name based virtual hosting etc. DEPRECATED - This group + version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the release notes for + more information. """ def __init__(self, __name__, __opts__=None, metadata=None, spec=None, status=None): if not __name__: diff --git a/sdk/python/pulumi_kubernetes/networking/__init__.py b/sdk/python/pulumi_kubernetes/networking/__init__.py index 4b0a1b1483..092556c5fd 100755 --- a/sdk/python/pulumi_kubernetes/networking/__init__.py +++ b/sdk/python/pulumi_kubernetes/networking/__init__.py @@ -5,4 +5,5 @@ # Make subpackages available: __all__ = [ "v1", + "v1beta1", ] diff --git a/sdk/python/pulumi_kubernetes/networking/v1beta1/Ingress.py b/sdk/python/pulumi_kubernetes/networking/v1beta1/Ingress.py new file mode 100755 index 0000000000..e474fd9fe4 --- /dev/null +++ b/sdk/python/pulumi_kubernetes/networking/v1beta1/Ingress.py @@ -0,0 +1,42 @@ +# *** WARNING: this file was generated by the Pulumi Kubernetes codegen tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import pulumi +import pulumi.runtime + +from ... import tables + + +class Ingress(pulumi.CustomResource): + """ + Ingress is a collection of rules that allow inbound connections to reach the endpoints defined + by a backend. An Ingress can be configured to give services externally-reachable urls, load + balance traffic, terminate SSL, offer name based virtual hosting etc. + """ + def __init__(self, __name__, __opts__=None, metadata=None, spec=None, status=None): + if not __name__: + raise TypeError('Missing resource name argument (for URN creation)') + if not isinstance(__name__, str): + raise TypeError('Expected resource name to be a string') + if __opts__ and not isinstance(__opts__, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + + __props__ = dict() + + __props__['apiVersion'] = 'networking.k8s.io/v1beta1' + __props__['kind'] = 'Ingress' + __props__['metadata'] = metadata + __props__['spec'] = spec + __props__['status'] = status + + super(Ingress, self).__init__( + "kubernetes:networking.k8s.io/v1beta1:Ingress", + __name__, + __props__, + __opts__) + + def translate_output_property(self, prop: str) -> str: + return tables._CASING_FORWARD_TABLE.get(prop) or prop + + def translate_input_property(self, prop: str) -> str: + return tables._CASING_BACKWARD_TABLE.get(prop) or prop diff --git a/sdk/python/pulumi_kubernetes/admissionregistration/v1alpha1/InitializerConfigurationList.py b/sdk/python/pulumi_kubernetes/networking/v1beta1/IngressList.py similarity index 74% rename from sdk/python/pulumi_kubernetes/admissionregistration/v1alpha1/InitializerConfigurationList.py rename to sdk/python/pulumi_kubernetes/networking/v1beta1/IngressList.py index 0b83f342aa..6581805501 100755 --- a/sdk/python/pulumi_kubernetes/admissionregistration/v1alpha1/InitializerConfigurationList.py +++ b/sdk/python/pulumi_kubernetes/networking/v1beta1/IngressList.py @@ -7,9 +7,9 @@ from ... import tables -class InitializerConfigurationList(pulumi.CustomResource): +class IngressList(pulumi.CustomResource): """ - InitializerConfigurationList is a list of InitializerConfiguration. + IngressList is a collection of Ingress. """ def __init__(self, __name__, __opts__=None, items=None, metadata=None): if not __name__: @@ -21,15 +21,15 @@ def __init__(self, __name__, __opts__=None, items=None, metadata=None): __props__ = dict() - __props__['apiVersion'] = 'admissionregistration.k8s.io/v1alpha1' - __props__['kind'] = 'InitializerConfigurationList' + __props__['apiVersion'] = 'networking.k8s.io/v1beta1' + __props__['kind'] = 'IngressList' if items is None: raise TypeError('Missing required property items') __props__['items'] = items __props__['metadata'] = metadata - super(InitializerConfigurationList, self).__init__( - "kubernetes:admissionregistration.k8s.io/v1alpha1:InitializerConfigurationList", + super(IngressList, self).__init__( + "kubernetes:networking.k8s.io/v1beta1:IngressList", __name__, __props__, __opts__) diff --git a/sdk/python/pulumi_kubernetes/networking/v1beta1/__init__.py b/sdk/python/pulumi_kubernetes/networking/v1beta1/__init__.py new file mode 100755 index 0000000000..e282262d91 --- /dev/null +++ b/sdk/python/pulumi_kubernetes/networking/v1beta1/__init__.py @@ -0,0 +1,7 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Kubernetes codegen tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +# Export this package's modules as members: +from .Ingress import * +from .IngressList import * diff --git a/sdk/python/pulumi_kubernetes/scheduling/__init__.py b/sdk/python/pulumi_kubernetes/scheduling/__init__.py index 59a85436c9..e99e4ef1e3 100755 --- a/sdk/python/pulumi_kubernetes/scheduling/__init__.py +++ b/sdk/python/pulumi_kubernetes/scheduling/__init__.py @@ -4,6 +4,7 @@ # Make subpackages available: __all__ = [ + "v1", "v1alpha1", "v1beta1", ] diff --git a/sdk/python/pulumi_kubernetes/scheduling/v1/PriorityClass.py b/sdk/python/pulumi_kubernetes/scheduling/v1/PriorityClass.py new file mode 100755 index 0000000000..97c48f6faf --- /dev/null +++ b/sdk/python/pulumi_kubernetes/scheduling/v1/PriorityClass.py @@ -0,0 +1,44 @@ +# *** WARNING: this file was generated by the Pulumi Kubernetes codegen tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import pulumi +import pulumi.runtime + +from ... import tables + + +class PriorityClass(pulumi.CustomResource): + """ + PriorityClass defines mapping from a priority class name to the priority integer value. The + value can be any valid integer. + """ + def __init__(self, __name__, __opts__=None, description=None, global_default=None, metadata=None, value=None): + if not __name__: + raise TypeError('Missing resource name argument (for URN creation)') + if not isinstance(__name__, str): + raise TypeError('Expected resource name to be a string') + if __opts__ and not isinstance(__opts__, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + + __props__ = dict() + + __props__['apiVersion'] = 'scheduling.k8s.io/v1' + __props__['kind'] = 'PriorityClass' + if value is None: + raise TypeError('Missing required property value') + __props__['value'] = value + __props__['description'] = description + __props__['globalDefault'] = global_default + __props__['metadata'] = metadata + + super(PriorityClass, self).__init__( + "kubernetes:scheduling.k8s.io/v1:PriorityClass", + __name__, + __props__, + __opts__) + + def translate_output_property(self, prop: str) -> str: + return tables._CASING_FORWARD_TABLE.get(prop) or prop + + def translate_input_property(self, prop: str) -> str: + return tables._CASING_BACKWARD_TABLE.get(prop) or prop diff --git a/sdk/python/pulumi_kubernetes/scheduling/v1/PriorityClassList.py b/sdk/python/pulumi_kubernetes/scheduling/v1/PriorityClassList.py new file mode 100755 index 0000000000..0709daaf1f --- /dev/null +++ b/sdk/python/pulumi_kubernetes/scheduling/v1/PriorityClassList.py @@ -0,0 +1,41 @@ +# *** WARNING: this file was generated by the Pulumi Kubernetes codegen tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import pulumi +import pulumi.runtime + +from ... import tables + + +class PriorityClassList(pulumi.CustomResource): + """ + PriorityClassList is a collection of priority classes. + """ + def __init__(self, __name__, __opts__=None, items=None, metadata=None): + if not __name__: + raise TypeError('Missing resource name argument (for URN creation)') + if not isinstance(__name__, str): + raise TypeError('Expected resource name to be a string') + if __opts__ and not isinstance(__opts__, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + + __props__ = dict() + + __props__['apiVersion'] = 'scheduling.k8s.io/v1' + __props__['kind'] = 'PriorityClassList' + if items is None: + raise TypeError('Missing required property items') + __props__['items'] = items + __props__['metadata'] = metadata + + super(PriorityClassList, self).__init__( + "kubernetes:scheduling.k8s.io/v1:PriorityClassList", + __name__, + __props__, + __opts__) + + def translate_output_property(self, prop: str) -> str: + return tables._CASING_FORWARD_TABLE.get(prop) or prop + + def translate_input_property(self, prop: str) -> str: + return tables._CASING_BACKWARD_TABLE.get(prop) or prop diff --git a/sdk/python/pulumi_kubernetes/scheduling/v1/__init__.py b/sdk/python/pulumi_kubernetes/scheduling/v1/__init__.py new file mode 100755 index 0000000000..4a54bc9a5a --- /dev/null +++ b/sdk/python/pulumi_kubernetes/scheduling/v1/__init__.py @@ -0,0 +1,7 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Kubernetes codegen tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +# Export this package's modules as members: +from .PriorityClass import * +from .PriorityClassList import * diff --git a/sdk/python/pulumi_kubernetes/scheduling/v1alpha1/PriorityClass.py b/sdk/python/pulumi_kubernetes/scheduling/v1alpha1/PriorityClass.py index f5c06d9542..d81c785363 100755 --- a/sdk/python/pulumi_kubernetes/scheduling/v1alpha1/PriorityClass.py +++ b/sdk/python/pulumi_kubernetes/scheduling/v1alpha1/PriorityClass.py @@ -9,8 +9,9 @@ class PriorityClass(pulumi.CustomResource): """ - PriorityClass defines mapping from a priority class name to the priority integer value. The - value can be any valid integer. + DEPRECATED - This group version of PriorityClass is deprecated by + scheduling.k8s.io/v1/PriorityClass. PriorityClass defines mapping from a priority class name to + the priority integer value. The value can be any valid integer. """ def __init__(self, __name__, __opts__=None, description=None, global_default=None, metadata=None, value=None): if not __name__: diff --git a/sdk/python/pulumi_kubernetes/scheduling/v1beta1/PriorityClass.py b/sdk/python/pulumi_kubernetes/scheduling/v1beta1/PriorityClass.py index 23ce405656..734414350a 100755 --- a/sdk/python/pulumi_kubernetes/scheduling/v1beta1/PriorityClass.py +++ b/sdk/python/pulumi_kubernetes/scheduling/v1beta1/PriorityClass.py @@ -9,8 +9,9 @@ class PriorityClass(pulumi.CustomResource): """ - PriorityClass defines mapping from a priority class name to the priority integer value. The - value can be any valid integer. + DEPRECATED - This group version of PriorityClass is deprecated by + scheduling.k8s.io/v1/PriorityClass. PriorityClass defines mapping from a priority class name to + the priority integer value. The value can be any valid integer. """ def __init__(self, __name__, __opts__=None, description=None, global_default=None, metadata=None, value=None): if not __name__: diff --git a/sdk/python/pulumi_kubernetes/tables.py b/sdk/python/pulumi_kubernetes/tables.py index eaf07bc525..379245dbea 100644 --- a/sdk/python/pulumi_kubernetes/tables.py +++ b/sdk/python/pulumi_kubernetes/tables.py @@ -345,6 +345,7 @@ "storedVersions": "stored_versions", "stringData": "string_data", "subPath": "sub_path", + "subPathExpr": "sub_path_expr", "successThreshold": "success_threshold", "successfulJobsHistoryLimit": "successful_jobs_history_limit", "supplementalGroups": "supplemental_groups", @@ -738,6 +739,7 @@ "stored_versions": "storedVersions", "string_data": "stringData", "sub_path": "subPath", + "sub_path_expr": "subPathExpr", "success_threshold": "successThreshold", "successful_jobs_history_limit": "successfulJobsHistoryLimit", "supplemental_groups": "supplementalGroups",